Lamentamos informarle de que este artículo ha perdido su relevancia. Quizás, el servicio descrito ya no se encuentra disponible, o las condiciones de funcionamiento de API se han cambiado.
Ahora Chat API ofrece messengers Business API más accesible y automatizado del mercado con el Chat Multiusuario, Constructor de Chatbot sin código, integraciones de apps listas para usar y otras características.
Se trata de una forma fiable de presentar su negocio o producto a los más de 2.000 millones de usuarios de mensajería: la captación de clientes en messengers se ha simplificado.
Gracias por visitarnos. ¡Saludos cordiales!
REST API permite recibir y enviar mensajes a través de una cuenta de messengers. Registrar su cuenta de messengers API
Parámetros en las solicitudes GET transmite por la query string. Los parámetros en las solicitudes POST transmiten por JSON-encoded. El token de autorización siempre es transmitido por la query string (? Token = xxxxxx). Para cada solicitud, debe añadir un token al Get parámetro token.
La API messengers funciona sobre la base del protocolo WEB de messengers y elimina la prohibición al usar bibliotecas mgp25 y similares. A pesar de esto, su cuenta puede ser prohibida por el sistema antispam de messengers después de varios clics en el botón "en spam".
Business API documentationObtener el estado de la cuenta y el código QR para la autorización. La nueva autorización sólo es necesaria en el caso de cambiar el dispositivo o pulsar manualmente "Salir de todos los dispositivos" del teléfono. Mantenga la aplicación WhastsApp abierta durante el inicio de sesión.
init | este es el estado inicial |
loading | descargar, repita después de 30 segundos |
got qr code | Hay un código QR y tienes que tomar una foto de él en la aplicación.
messengers accediendo al menú -> messengers Web -> Agregar. El código QR es válido por un minuto.
Un ejemplo de visualización de imágenes base64 en una página
.
Manualmente es más fácil obtener la imagen de un código QR |
.
authenticated | autorización aprobada con éxito |
{
"accountStatus": "got qr code",
"qrCode": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ....."
}
Enlace directo al QR-code en forma de una imagen, no como base64
Cree un grupo y envíe un mensaje al grupo creado. Si el host del iPhone, la presencia de todos en la lista de contactos es necesaria.
El grupo se agregará a la cola de envío y, tarde o temprano, se creará, incluso si el teléfono está desconectado de Internet o el fallo de autorización.
Actualizado el 2 de octubre de 2018: el parámetro chatId se rellenará si se crea un grupo en su teléfono dentro de 20 segundos.
groupName | Nombre del grupo, string, obligatorio. |
phones |
Un conjunto de números de teléfono, comenzando con el código del país. Usted no necesita agregar su número.
USA example: ['17472822486']. |
messageText | Texto del mensaje, string |
{
"phones": ["17472822486","79680565372"],
"messageText": "Safari is the new IE",
"groupName": "Browsers",
}
Enviar un mensaje a una charla nueva o existente. El mensaje se añadirá a la cola de envío y se entrega, aunque el teléfono esté desconectado de Internet o el fallo de autorización.
Apenas um dos dois parâmetros é necessário para determinar o destino - chatId ou phone.
phone | Obligatorio si no se especifica chatId |
Número de teléfono que comienza con el código del país.
USA example: 17472822486. |
chatId | Obligatorio si no especificado phone | ID de charla de la lista de mensajes. Ejemplos: [email protected] para mensajes privados y [email protected] para el grupo. Utilizado en lugar del parámetro phone |
body | obligatorio | Texto del mensaje, cualquier cadena incluyendo emoji 🍏 (UTF-8 or UTF-16) |
{
"phone": "17472822486",
"body": "Hello, world! 🍏"
}
{
"chatId": "[email protected]",
"body": "Hello, world!"
}
{
"sent": true,
"message": "ok"
}
Enviar un mensaje a una charla nueva o existente.
El mensaje se añadirá a la cola de envío y se entrega, aunque el teléfono esté desconectado de Internet o el fallo de autorización. Apenas um dos dois parâmetros é necessário para determinar o destino - chatId ou phone.
phone | Obligatorio si no se especifica chatId | Ver POST /sendMessage |
chatId | Obligatorio si no se especifica phone | Ver POST /sendMessage |
body | Obligatorio |
Enlace al archivo, por ejemplo, HTTP link https://upload.wikimedia.org/wikipedia/ru/3/33/NatureCover2001.jpg
O un archivo en base64, por ejemplo, data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ... O archivo en el campo del formulario |
filename | obligatorio | El nombre del archivo que se enviará, por ejemplo 1.jpg o Hello.xlsx |
caption | No es obligatorio | Texto bajo la foto |
{
"chatId": "[email protected]",
"body": "https://upload.wikimedia.org/wikipedia/ru/3/33/NatureCover2001.jpg",
"filename": "cover.jpg"
}
{
"phone": "17472822486",
"body": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAMAAACeL25MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI3OEY5RkZENjkwQjExRTg4NENBQjE1QkFGNzEzOEQ5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI3OEY5RkZFNjkwQjExRTg4NENBQjE1QkFGNzEzOEQ5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjc4RjlGRkI2OTBCMTFFODg0Q0FCMTVCQUY3MTM4RDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjc4RjlGRkM2OTBCMTFFODg0Q0FCMTVCQUY3MTM4RDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz60+8CVAAAADFBMVEX/zc2ampr/ZmYwMDB/wIlPAAAAGUlEQVR42mJgZmQAQkYGBgYmJiYwwQgQYAAAzQAVpgHCIgAAAABJRU5ErkJggg==",
"filename": "4x4pixel.jpg"
}
{
"sent": true,
"message": "ok"
}
Obtener una lista de mensajes. Para obtener sólo mensajes nuevos, transmita un parámetro lastMessageNumber de la última solicitud.
Los archivos de los mensajes tienen la garantía de ser almacenados por sólo 10 días y pueden ser excluidos. Descargar archivos a la vez, cuando reciba en su servidor.
lastMessageNumber | Parámetro lastMessageNumber de la última solicitud |
last | Muestra los últimos 100 mensajes. Si se pasa este parámetro, lastMessageNumber será ignorado. |
// GET /messages?lastMessageNumber=99:
{
"messages:" [{
//ID único
"id": "[email protected]_DF38E6A25B42CC8CCE57EC40F",
//texto del mensaje para el tipo de "chat" o enlace de descarga de archivos a "ptt", "image", "audio" y "document"
"body": "Ok!",
//Tipo de mensaje - "chat" - texto, "image" - imagen, "ptt" - voz, "document" - documento de texto, "audio" - archivo de audio, "call_log" - llamada
"type": "chat",
//Nombre del remitente
"senderName": "Ilya",
//true - salida, falso - entrada
"fromMe": true,
//ID del autor del mensaje, es útil para los grupos
"author": "[email protected]",
//hora de envío, unix timestamp
"time": 1504208593,
//chat ID
"chatId": "[email protected]",
//el número de secuencia del mensaje en la base de datos
"messageNumber": 100
}, {
//...
}],
"lastMessageNumber": 199 //La próxima solicitud debe ser /messages?lastMessageNumber=199
}
Se establece la URL para recibir notificaciones de webhook sobre los nuevos mensajes y el estado de entrega de los mensajes salientes (ack).
webhookUrl | Http or https URL for receiving notifications. For testing, we recommend using requestb.in. |
{
"set": true,
"webhookUrl": "https://requestb.in/1f9aj261"
}
{ // It has the same JSON payload as /messages has
// Sending to POST JSON body
"messages": [{
//unique id
"id": "[email protected]_DF38E6A25B42CC8CCE57EC40F",
//text message for type "chat" or link to download the file for "ptt", "image", "audio" and "document"
"body": "Ok!",
//type of the message - "chat" - text, "image" - image, "ptt" - voice, "document" - text document, "audio" - audio file, "call_log" - call
"type": "chat",
//Sender name
"senderName": "Ilya",
//true - outgoing, false - incoming
"fromMe": true,
//Author ID of the message, useful for groups
"author": "[email protected]",
//send time, unix timestamp
"time": 1504208593,
//chat ID
"chatId": "[email protected]",
//sequence number of the message in the database
"messageNumber": 100
}, {
//...
}],
"ack": [{//message delivered
"id": "[email protected]_DF38E6A25B42CC8CCE57EC40F",
"queueNumber": 100
"chatId": "[email protected]",
"status": "delivered",
},{//message viewed
"id": "[email protected]_DF38E6A25B42CC8CCE57EC40F",
"queueNumber": 100
"chatId": "[email protected]",
"status": "viewed",
}, {
//...
}],
}
Devuelve la actual webhook url.
{
"set": true,
"webhookUrl": "https://requestb.in/1f9aj261"
}
Activar o desactivar la recepción de notificaciones de entrega y leer los mensajes enviados ack en webhook. El método GET en la misma dirección también funciona.
ackNotificationsOn | 1 (true) or 0 (false) . |
Salir de su cuenta y solicitar un nuevo código QR.
{
"result": "Logout request sent to messengers"
}
Recargue su instancia de messengers.
{
"success": true
}
Mostrar una lista de mensajes que están en cola para el envío pero no enviadas aún.
{
"totalMessages":2,
"first100":[
{
"id":1,
"body":"Hey!",
"type":"text",
"chatId":"[email protected]",
"last_try":1528320463436,
"metadata":"{}"
},
]
}
Limpiar la cola de envío de mensajes. Este método es necesario cuando se envían aleatoriamente miles de mensajes seguidos.
{
"message":"Cleared 2 messages",
"messageTextsExample":[
"Hello world",
"Hello world"
]
}