Preguntar a la IA
Español ES
Ir a CleverApp

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.

GETPOSThttps://app.cleverapp.pro/api/v1/getContactVariables
Parámetro Tipo Obligatorio Descripción
contact_id entero sí ID del contacto
Solicitud
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}'
Respuesta 200
{
  "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.

POSThttps://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
Solicitud
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"}'
Respuesta 200
{
  "data": {
    "id": 17594321112233,
    "name": "order_number",
    "value": "A-1024",
    "deletable": false,
    "variable": {
      "id": 17594321112233,
      "name": "A-1024"
    }
  }
}
Respuesta 422
{
  "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: value es obligatorio. Para vaciar una variable, elimínala con deleteContactVariable.
  • Al escribir en una variable existente, también se sobrescribe deletable: si se omite el parámetro, pasa a ser false.
  • 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 422 y code: "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.

POSThttps://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.

Solicitud
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.