messengers API DOCUMENTACIÓN

hand

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!

Documentación completa


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 documentation

GET /status

Obtener 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
Ejemplo de respuesta:
{
    "accountStatus": "got qr code",
    "qrCode": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ....."
}

GET /qr_code

Enlace directo al QR-code en forma de una imagen, no como base64

POST /group

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.

Parámetros:
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
Request example:
{
    "phones": ["17472822486","79680565372"],
    "messageText": "Safari is the new IE",
    "groupName": "Browsers",
}

POST /sendMessage

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.

Parámetros:
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)
Ejemplos de solicitudes:
{
    "phone": "17472822486",
    "body": "Hello, world! 🍏"
}
{
    "chatId": "[email protected]",
    "body": "Hello, world!"
}
Server response example:
{
    "sent": true,
    "message": "ok"
}

POST /sendFile

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.

Parámetros:
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
Ejemplos de solicitudes:
{
    "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"
}
Server response example:
{
    "sent": true,
    "message": "ok"
}

GET /messages

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.

Parámetros:
lastMessageNumber Parámetro lastMessageNumber de la última solicitud
last Muestra los últimos 100 mensajes. Si se pasa este parámetro, lastMessageNumber será ignorado.
Ejemplo de respuesta:
// 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
}

POST /webhook

Se establece la URL para recibir notificaciones de webhook sobre los nuevos mensajes y el estado de entrega de los mensajes salientes (ack).

Parámetros:
webhookUrl Http or https URL for receiving notifications. For testing, we recommend using requestb.in.
Server response example:
{
    "set": true,
    "webhookUrl": "https://requestb.in/1f9aj261"
}
Ejemplo de notificación de webhook:

{ // 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",
                    }, {
        //...
    }],
}

GET /webhook

Devuelve la actual webhook url.

Server response example:
{
    "set": true,
    "webhookUrl": "https://requestb.in/1f9aj261"
}

POST /settings/ackNotificationsOn

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.

Parámetros:
ackNotificationsOn 1 (true) or 0 (false) .

GET /logout

Salir de su cuenta y solicitar un nuevo código QR.

Server response example:
{
    "result": "Logout request sent to messengers"
}

GET /reboot

Recargue su instancia de messengers.

Server response example:
{
    "success": true
}

GET /showMessagesQueue

Mostrar una lista de mensajes que están en cola para el envío pero no enviadas aún.

Server response example:
{
   "totalMessages":2,
   "first100":[
      {
         "id":1,
         "body":"Hey!",
         "type":"text",
         "chatId":"[email protected]",
         "last_try":1528320463436,
         "metadata":"{}"
      },
   ]
}

GET /clearMessagesQueue

Limpiar la cola de envío de mensajes. Este método es necesario cuando se envían aleatoriamente miles de mensajes seguidos.

Server response example:
{
   "message":"Cleared 2 messages",
   "messageTextsExample":[
      "Hello world",
      "Hello world"
   ]
}