Cloudchat: Import em massa de contatos via API
Para importar contatos via API no Cloud Chat, basta enviar uma POST
request para https://{{CLOUDCHAT_DOMAIN}}/api/v1/accounts/{{ACCOUNT_ID}}/contacts/bulk_create
enviando a chave de acesso e os campos solicitados abaixo.
Requisição
curl -X POST \
'https://{{CLOUDCHAT_DOMAIN}}/api/v1/accounts/{{ACCOUNT_ID}}/contacts/bulk_create' \
--header 'content-type: application/json' \
--header 'api_access_token: API_TOKEN' \
--data '{ "data": [
{ "name": "CONTACT_NAME", "email": "CONTACT_EMAIL", "phone_number": "CONTACT_PHONE", "identifier": "CONTACT_ID", "custom_attributes": { <CUSTOM_PAIRS> } }
] }'
Corpo da requisição
O corpo da requisição deve conter:
-
data
: (obrigatório) Lista de objetos com os dados dos contatos. -
upsert
: (opcional) Quando definido comotrue
, o endpoint realizará upsert (criação ou atualização). Se um contato com o mesmoidentifier
,email
ouphone_number
já existir, ele será atualizado com os novos valores enviados. Caso contrário, será criado.
Exemplo
{
"upsert": true,
"data": [
{
"name": "contact 1",
"identifier": "contact-1-id",
"email": "[email protected]",
"phone_number": "+912345678",
"custom_attributes": {
"hello": "hello",
"test": "test"
}
},
{
"name": "contact 2",
"identifier": "contact-2-id",
"email": "[email protected]",
"phone_number": "+987654321",
"custom_attributes": {
"hello": "hello",
"test": "test"
}
}
]
}
Regras importantes
-
Identificadores obrigatórios: Cada contato no payload deve conter pelo menos um identificador único:
identifier
,email
ouphone_number
. -
Criação padrão: Caso a flag
upsert
não seja enviada, o endpoint realizará apenas criação. -
Upsert: Para criar novos contatos e atualizar os existentes no mesmo payload, defina
"upsert": true
no corpo da requisição.
⚠️ Atenção ao usar
Ao usar o upsert
no import em massa, qualquer dado existente que não for explicitamente informado será substituído por null
.
Por exemplo, se um contato existente possui email
e phone_number
, mas no payload de upsert
for enviado apenas o phone_number
, o campo email
será apagado.
Esse comportamento ocorre porque o endpoint de bulk_create
é voltado para importação completa de contatos, e não para atualizações parciais.
Para atualizar individualmente apenas certos campos de um contato existente, recomenda-se o uso do endpoint específico de atualização de contato: API: Import de Contato
Parâmetros
CLOUDCHAT_DOMAIN
: Você pode obter seu domínio ao fazer login na sua conta no CloudChat. É a parte que aparece na URL do navegador:
ACCOUNT_ID
: Obtido na seção de configurações da conta:
API_TOKEN
: Obtido nas configurações do perfil (https://{{CLOUDCHAT_DOMAIN}}/app/accounts/{{ACCOUNT_ID}}/profile/settings)
CONTACT_NAME
, CONTACT_EMAIL
, CONTACT_PHONE
e CONTACT_ID
(opcionais): Atributos que serão adicionados ao nome, email, número de telefone e identificador externo respectivamente.
CUSTOM_PAIRS
(opcional): Os atributos personalizados devem ser enviados no formato key: value
, onde key
é a chave do atributo no Cloud Chat e value
é o valor desejado para o atributo.