Para a atualização de atributos customizados em conversas via API no Cloud Chat, basta enviar uma requisição PUT para:
https://cloudchat.cloudhumans.com/api/v1/accounts/ACCOUNT_ID/conversations/CONVERSATION_ID/custom_attributes
Certifique-se de enviar a chave de acesso (API_TOKEN) nos headers e os campos solicitados conforme descrito abaixo.
-
API_TOKEN: Token de acesso obtido nas configurações do perfil.
-
(https://cloudchat.cloudhumans.com/app/accounts/ACCOUNT_ID/profile/settings)
Requisição com campos de exemplo:
curl --request PUT \
--url https://cloudchat.cloudhumans.com/api/v1/accounts/ACCOUNT_ID/conversations/CONVERSATION_ID/custom_attributes \
--header 'api_access_token: API_TOKEN' \
--header 'content-type: application/json' \
--data '{
"custom_attributes": {
"to_be_updated": "new_value",
"to_be_removed": null
}
}'
**
Corpo da Requisição**
A requisição deve conter um único campo, custom_attributes, que deve ser um objeto contendo os atributos customizados a serem atualizados.
Observação:
O conversation_id
da conversa a ser atualizada não deve ser enviado no corpo da requisição, pois ele é passado como um parâmetro na URL.
Exemplo de Requisição:
PUT /conversations/123/custom_attributes
{
"custom_attributes": {
"to_be_updated": "new_value",
"to_be_removed": null
}
}
**
Tipos de atributos**
Os atributos customizados das conversas possuem um tipo definido de valor, definidos na sua configuração, que devem ser respeitados ao utilizar o endpoint para atualizar os valores:
-
Texto: Deve receber valores tipo
String
obrigatóriamente. -
Número: Deve conter apenas números. Não pode conter caracteres alfabéticos ou especiais.
-
Link: Deve ser um URL válido (
http
ouhttps
). O link deve obrigatoriamente terminar com um domínio válido (ex:.com
,.net
,.org
). -
Data: Deve estar no formato ISO8601 (
YYYY-MM-DDTHH:MM:SS.sssZ
). Exemplo válido:"2025-01-01T12:00:00.000Z"
. -
Lista: Deve receber um valor do tipo
String
, e este valor deve obrigatoriamente estar presente na lista de opções definidas na configuração do atributo. -
Checkbox: Deve ser valores
"true"
/"false"
(string), ou valorestrue
/false
(Booleano).
Observação:
Para remover um valor atribuído a um atributo customizado, basta enviar null
ou uma string vazia (""
). O sistema processará a requisição e removerá o atributo do objeto de custom_attributes
, garantindo que ele não esteja mais presente na conversa.
**
Tratamento de Erros**
Caso algum valor enviado no campo custom_attributes
não respeite as regras definidas, a requisição não será processada e retornará um erro específico.
-
Se a conversa não for encontrada, o sistema retorna um erro
"Conversation not found"
com código404
. -
Se o corpo da requisição estiver incorreto, um erro
"Invalid attributes"
com código422
será retornado. -
Caso um atributo não exista na configuração, será retornado um erro informando que o atributo não foi encontrado.
-
Se um valor não respeitar o tipo esperado, será retornada uma mensagem informando o problema, como:
"number_attr must contain only numeric digits"
ou"date_attr must be in ISO8601 format (YYYY-MM-DDTHH:MM:SS.sssZ)"
.