Etiquetas
Estos métodos muestran las etiquetas de un bot y de un contacto, y las asignan y quitan. Por ejemplo, tras un pago en tu sitio web puedes dar al contacto la etiqueta «paid» y luego comprobarla en un flujo con el bloque Condición o usarla para elegir los destinatarios de un envío masivo.
Una etiqueta es solo una cadena: no hace falta crearla de antemano. Las mayúsculas importan: «VIP» y «vip» son etiquetas distintas.
getBotTags
Devuelve la lista «Sugerencias de etiquetas» del bot: los nombres de etiquetas que se escribieron en la cuenta.
https://app.cleverapp.pro/api/v1/getBotTags| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
bot_id |
entero | sí | ID del bot |
curl -X POST "https://app.cleverapp.pro/api/v1/getBotTags" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"bot_id": 12345}'
{
"data": ["vip", "paid", "newcomer"]
}
Detalles:
- La lista de sugerencias no es una lista completa de las etiquetas de los contactos. Contiene los nombres introducidos en la cuenta y las etiquetas nuevas asignadas con
attachTagToContact(mientras la lista tenga menos de 5000 nombres). Las etiquetas que asignan los bloques del flujo no se añaden a ella por sí solas, y quitar un nombre de la lista no quita la etiqueta a los contactos. - Bot no encontrado o eliminado:
404; bot ajeno:403.
getContactTags
Devuelve las etiquetas de un contacto.
https://app.cleverapp.pro/api/v1/getContactTags| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact_id |
entero | sí | ID del contacto |
curl -X POST "https://app.cleverapp.pro/api/v1/getContactTags" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678}'
{
"data": ["vip", "paid"]
}
Si el contacto no tiene etiquetas, data es un array vacío. Contacto no encontrado o eliminado, o su bot eliminado: 404; contacto de un bot ajeno: 403.
attachTagToContact
Asigna una etiqueta a un contacto.
https://app.cleverapp.pro/api/v1/attachTagToContact| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact_id |
entero | sí | ID del contacto |
name |
cadena | sí | Nombre de la etiqueta, hasta 60 caracteres (como en la cuenta): letras, dígitos, espacios, _, . y - |
curl -X POST "https://app.cleverapp.pro/api/v1/attachTagToContact" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678, "name": "paid"}'
{
"message": "The contact already has 1000 tags — no more can be added.",
"error": "The contact already has 1000 tags — no more can be added.",
"code": "tags_limit",
"errors": {
"name": ["The contact already has 1000 tags — no more can be added."]
}
}
La respuesta tiene el estado 204 y no tiene cuerpo.
Detalles:
- Si el contacto ya tiene la etiqueta, no se añade otra vez; la respuesta es el mismo
204. - Un contacto puede tener como máximo 1000 etiquetas. Por encima de eso, el método no asigna la etiqueta nueva y responde con
422ycode: "tags_limit". - Una etiqueta nueva también se añade a la lista de sugerencias del bot:
getBotTagsla devuelve. - Contacto no encontrado o eliminado, o su bot eliminado:
404; contacto de un bot ajeno:403.
detachTagFromContact
Quita una etiqueta a un contacto.
https://app.cleverapp.pro/api/v1/detachTagFromContact| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact_id |
entero | sí | ID del contacto |
name |
cadena | sí | Nombre de la etiqueta, hasta 255 caracteres, para poder quitar también una etiqueta larga asignada por un bloque del flujo |
curl -X POST "https://app.cleverapp.pro/api/v1/detachTagFromContact" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678, "name": "paid"}'
La respuesta tiene el estado 204 y no tiene cuerpo. Si el contacto no tenía la etiqueta, la respuesta es la misma.
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.