Las llamadas a la API se realizan por canal. Los tokens se pueden generar usando el icono de llave, junto al canal deseado en Configuración . Hay un límite de frecuencia de 100 llamadas API por minuto.
Peticiones
La API de contactos se compone de varias solicitudes:
Esta solicitud devuelve una lista de objetos de contacto con paginación.
Copy /v1/contact/by_custom_field
Ejemplo de solicitud GET
Copy curl -X GET \
'https://app.botcity.com/api/v1/contact/by_custom_field?name=firstName&value=Muhammad%20Mahin' \
-H 'Authorization: Bearer {channel_token}' \
-H 'Content-Type: application/json'
Respuesta: éxito (estado HTTP → 200)
Copy {
"data": [
{
"id": "1776025372480910",
"custom_fields": {
"firstName": "Mahin",
"lastName": "Dar",
"locale": "en_GB",
"timezone": "5",
"gender": "male",
"phone": "123123",
"email": "muhammad@botcity.com",
"customerid": "1"
},
"tags": [
"Blog Updates",
"Platform Updates"
],
"created_at": 1575618542
}
],
"links": {
"first": "http://app.botcity.com/api/v1/contact/by_custom_field?page=1",
"last": "http://app.botcity.com/api/v1/contact/by_custom_field?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://app.botcity.com/api/v1/contact/by_custom_field",
"per_page": 10,
"to": 1,
"total": 1
}
}
Esta solicitud devuelve un único objeto de contacto.
Copy /v1/contact/{contact_id}
Ejemplo de solicitud GET
Copy curl -X GET \
https://app.botcity.com/api/v1/contact/1776025372480910 \
-H 'Authorization: Bearer {channel_token}' \
-H 'Content-Type: application/json' \
Respuesta: éxito (estado HTTP → 200)
Copy {
"data": {
"id": "1776025372480910",
"custom_fields": {
"firstName": "Mahin",
"lastName": "Dar",
"locale": "en_GB",
"timezone": "5",
"gender": "male",
"phone": "123123",
"email": "muhammad@botcity.com",
"customerid": "1"
},
"tags": [
"Blog Updates",
"Platform Updates"
],
"created_at": 1575618542
}
}
Esta solicitud actualiza un valor de campo personalizado de contacto.
Copy /v1/contact/{contact_id}
Ejemplo de solicitud PUT
Copy curl -X PUT \
https://app.botcity.com/api/v1/contact/1776025372480910 \
-H 'Authorization: Bearer {channel_token}' \
-H 'Content-Type: application/json' \
-d '{
"custom_fields": [
{
"name": "firstName",
"value": "Muhammad Mahin"
},
{
"name": "lastName",
"value": "Dar"
}
]
}'
Respuesta: éxito (estado HTTP → 200)
Copy {
"data": {
"id": "cus_112233344555"
}
}
Limitaciones
Máximo 30 campos actualizados por solicitud.
Agregar etiqueta por ID
Esta solicitud agrega etiquetas para un contacto.
Copy /v1/contact/{contact_id}/tags
Ejemplo de solicitud POST
Copy curl -X POST \
https://app.botcity.com/api/v1/contact/1776025372480910/tags \
-H 'Authorization: Bearer {channel_token}' \
-H 'Content-Type: application/json' \
-d '{
"tags": [
"Blog Updates",
"Platform Updates"
]
}'
Respuesta: éxito (estado HTTP → 200)
Copy {
"status": "success",
"message": "Contact Tags have been added successfully.",
"data": []
}
Limitaciones
Máximo 10 etiquetas agregadas por solicitud.
Eliminar etiqueta por ID
Esta solicitud elimina las etiquetas de un contacto.
Copy /v1/contact/{contact_id}/tags
Ejemplo de solicitud DELETE
Copy curl -X DELETE \
https://app.botcity.com/api/v1/contact/1776025372480910/tags \
-H 'Authorization: Bearer {channel_token}' \
-H 'Content-Type: application/json' \
-d '{
"tags": [
"Blog Updates",
"Platform Updates"
]
}'
Respuesta: éxito (estado HTTP → 200)
Copy {
"status": "success",
"message": "Contact Tags deleted successfully.",
"data": []
}
Limitaciones
Máximo de 10 etiquetas eliminadas por solicitud.
Esta solicitud crea un contacto y establece valores para sus campos personalizados.
Ejemplo de solicitud GET
Copy curl -X POST \
https://app.botcity.com/api/v1/contact/ \
-H 'Authorization: Bearer {channel_api_token}' \
-H 'Content-Type: application/json' \
-d '{
"custom_fields": [
{
"name": "phone",
"value": "03244077087"
},
{
"name": "firstName",
"value": "Muhammad Mahin"
},
{
"name": "lastName",
"value": "Dar"
}
]
}'
Respuesta: éxito (estado HTTP → 200)
Copy {
"data": {
"id": "cus_112233344555"
}
}
Códigos de error
No autorizado (estado HTTP → 401)
Copy {
"status": "error",
"message": "API Token is invalid.",
"data": []
}
Demasiadas solicitudes (estado HTTP → 429)
Copy {
"status": "error",
"message": "Too many requests",
"data": []
}
Método no permitido (estado HTTP → 405)
Copy {
"status": "error",
"message": "405 Method Not Allowed.",
"data": []
}
General (Estado HTTP → 403)
Copy {
"status": "error",
"message": "Message String",
"data": []
}
Limitaciones
Máximo 30 campos creados por solicitud.