Para actualizar atributos personalizados en conversaciones a través de la API en Cloud Chat, simplemente envía una solicitud PUT a:
https://cloudchat.cloudhumans.com/api/v1/accounts/ACCOUNT_ID/conversations/CONVERSATION_ID/custom_attributes
Asegúrate de enviar la clave de acceso (API_TOKEN) en los encabezados y los campos solicitados según se describe a continuación.
-
API_TOKEN: Token de acceso obtenido en la configuración del perfil.
-
(https://cloudchat.cloudhumans.com/app/accounts/ACCOUNT_ID/profile/settings)

Ejemplo de solicitud con campos:
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": "nuevo_valor",
"to_be_removed": null
}
}'
**
Cuerpo de la solicitud**
La solicitud debe contener un único campo, custom_attributes, que debe ser un objeto que contenga los atributos personalizados a ser actualizados.

Nota:
El conversation_id de la conversación a actualizar no debe enviarse en el cuerpo de la solicitud, ya que se pasa como un parámetro en la URL.
Ejemplo de solicitud:
PUT /conversations/123/custom_attributes
{
"custom_attributes": {
"to_be_updated": "nuevo_valor",
"to_be_removed": null
}
}
**
Tipos de atributos**
Los atributos personalizados de las conversaciones tienen un tipo definido de valor, establecidos en su configuración, que deben respetarse al usar el endpoint para actualizar los valores:
-
Texto: Debe recibir valores de tipo
Stringobligatoriamente. -
Número: Debe contener solo números. No puede contener caracteres alfabéticos o especiales.
-
Enlace: Debe ser una URL válida (
httpohttps). El enlace debe terminar obligatoriamente con un dominio válido (ejemplo:.com,.net,.org). -
Fecha: Debe estar en el formato ISO8601 (
YYYY-MM-DDTHH:MM:SS.sssZ). Ejemplo válido:"2025-01-01T12:00:00.000Z". -
Lista: Debe recibir un valor de tipo
String, y este valor debe estar presente en la lista de opciones definidas en la configuración del atributo. -
Checkbox: Debe ser valores
"true"/"false"(cadena), o valorestrue/false(Booleano).
Nota:
Para eliminar un valor asignado a un atributo personalizado, simplemente envía null o una cadena vacía (""). El sistema procesará la solicitud y eliminará el atributo del objeto de custom_attributes, garantizando que ya no esté presente en la conversación.
**
Manejo de Errores**
Si algún valor enviado en el campo custom_attributes no cumple con las reglas definidas, la solicitud no será procesada y devolverá un error específico.
-
Si la conversación no es encontrada, el sistema devuelve un error
"Conversation not found"con código404. -
Si el cuerpo de la solicitud es incorrecto, se devolverá un error
"Invalid attributes"con código422. -
Si un atributo no existe en la configuración, se devolverá un error indicando que el atributo no fue encontrado.
-
Si un valor no respeta el tipo esperado, se mostrará un mensaje informando del problema, como:
"number_attr must contain only numeric digits"o"date_attr must be in ISO8601 format (YYYY-MM-DDTHH:MM:SS.sssZ)".