Variables del contacto
Estos métodos leen, escriben y eliminan variables del contacto, las mismas que el bot rellena durante un flujo y muestra en la ficha del contacto. Por ejemplo, tu sitio web puede guardar un número de pedido en una variable, y el bot puede insertarlo en un mensaje como {{ $order_number }} (consulta Plantillas para más detalles).
El ID del contacto (contact_id) aparece en el encabezado de la ficha del contacto y en la primera columna de la lista de contactos.
getContactVariables
Devuelve todas las variables de un contacto.
https://app.cleverapp.pro/api/v1/getContactVariables| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact_id |
entero | sí | ID del contacto |
curl -X POST "https://app.cleverapp.pro/api/v1/getContactVariables" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678}'
{
"data": [
{
"id": 17594321098765,
"name": "city",
"value": "Denver",
"deletable": false,
"variable": {
"id": 17594321098765,
"name": "Denver"
}
},
{
"id": 17594321112233,
"name": "order_number",
"value": "A-1024",
"deletable": false,
"variable": {
"id": 17594321112233,
"name": "A-1024"
}
}
]
}
| Campo | Descripción |
|---|---|
id |
ID de la variable para este contacto |
name |
Nombre de la variable |
value |
Valor |
deletable |
true: la variable se elimina después de enviar el bloque Solicitud |
variable |
Campo heredado para integraciones antiguas: id es el ID de la variable y name es su valor. No lo uses en código nuevo |
Las variables se listan en el orden en que se crearon. Si no hay ninguna, data es un array vacío.
setContactVariable
Escribe un valor en una variable del contacto. Si no hay ninguna variable con ese nombre, se crea; si la hay, se reemplaza su valor.
https://app.cleverapp.pro/api/v1/setContactVariable| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact_id |
entero | sí | ID del contacto |
name |
cadena | sí | Nombre de la variable, hasta 255 caracteres: letras, dígitos, _ y espacios |
value |
cadena | sí | Valor, hasta 4096 caracteres. Pasa los números como cadenas: "150", no 150 |
deletable |
0 o 1 |
no | 1: eliminar la variable después de enviar el bloque «Solicitud». Por defecto, 0 |
curl -X POST "https://app.cleverapp.pro/api/v1/setContactVariable" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678, "name": "order_number", "value": "A-1024"}'
{
"data": {
"id": 17594321112233,
"name": "order_number",
"value": "A-1024",
"deletable": false,
"variable": {
"id": 17594321112233,
"name": "A-1024"
}
}
}
{
"message": "The contact already has 5000 variables — a new one cannot be added.",
"error": "The contact already has 5000 variables — a new one cannot be added.",
"code": "variables_limit",
"errors": {
"name": ["The contact already has 5000 variables — a new one cannot be added."]
}
}
Detalles:
- No se puede escribir un valor vacío:
valuees obligatorio. Para vaciar una variable, elimínala condeleteContactVariable. - Al escribir en una variable existente, también se sobrescribe
deletable: si se omite el parámetro, pasa a serfalse. - El nombre de una variable nueva se añade a la lista «Sugerencias de variables de usuario» del bot, de modo que aparece en las sugerencias de la cuenta y en la exportación de contactos. Si la lista ya tiene 5000 nombres, el nombre nuevo no se añade, pero la variable del contacto se escribe igualmente.
- Un contacto puede tener como máximo 5000 variables. Por encima de eso, el método no crea una nueva y responde con
422ycode: "variables_limit". Escribir en una variable existente siempre funciona. - Contacto no encontrado o eliminado, o su bot eliminado:
404; contacto de un bot ajeno:403.
deleteContactVariable
Elimina una variable del contacto por ID o por nombre.
https://app.cleverapp.pro/api/v1/deleteContactVariable| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact_id |
entero | sí | ID del contacto |
id |
entero | si falta name |
ID de la variable obtenido de getContactVariables |
name |
cadena | si falta id |
Nombre de la variable, hasta 255 caracteres |
Si se pasan ambos, se usa name; si no hay ninguna variable con ese nombre, se usa id.
curl -X POST "https://app.cleverapp.pro/api/v1/deleteContactVariable" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678, "name": "order_number"}'
La respuesta tiene el estado 204 y no tiene cuerpo.
Detalles:
- Si el contacto no tiene esa variable, el método responde igualmente con
204. - El nombre no se quita de la lista de sugerencias del bot.
- Contacto no encontrado o eliminado, o su bot eliminado:
404; contacto de un bot ajeno:403.
Los errores generales de la API se describen en Errores.