Wabu APIs

 

Wabu ofrece un set de APIs que permiten interactuar con cada una de las instancias que se encuentren activas.

Cada instancia puede estar asociada a un único número de Whatsapp y su interacción y funciones son independientes del resto de las instancias que podría tener la cuenta.

Cada instancia tiene una llave de Api que puede ser encontrada en la sección "Mis Instancias", la cual debe ser enviada en cada llamada a una API para autenticarse.

 

Wabu Web Hooks

 

Wabu de forma automática, cada vez que recibe un mensaje de whatsapp en alguna instancia activa, envía un request con el método POST al Webhook indicado en la Instancia.

Cada Webhook debe ser público a través de Internet y preferentemente a través de HTTPS

El formato del Request que WABU envía es del tipo:

application/x-www-form-urlencoded

Que contiene los siguientes campos:

Parámetro Valor
id Valor Alfanumérico que contiene un valor único por cada mensaje recibido.
phone Número de Whatsapp del remitente.

Nota: Este campo contiene el código de país concatenado al número telefónico.

message Contenido del mensaje en texto claro.

Nota: En caso de recibir un audio, Wabu automáticamente realiza la transcripción del texto y se obtendrá un segundo Request con el texto correspondiente en el atributo "mesesage".

html Contenido del mensaje en formato HTML para poder ser directamente visualizado en cualquier plataforma WEB o navegador.

Nota: En caso de recibir un audio, imagen o video, este campo tendrá los tags html necesarios para visualizarlo de forma correcta en cualquier navegador web.

url En caso de recibir un mensaje de tipo multimedia, este campo contiene la URL desde donde se puede descargar el archivo enviado.
tipo Contiene información del tipo de mensaje recibido, pudiendo ser este: Conversation, Audio, Image o Video.
instancia Nombre de la instancia en la que se recibió el mensaje.

 

Obteniendo Conversaciones

 

Para poder recibir las últimas conversaciones de Whatsapp de una determinada instancia, se debe realizar una solicitud con el método GET al siguiente end-point:

https://wabu.app/conversations/<numero_conversaciones>/<apiKey>

La respuesta de Wabu será un objeto JSON con la información solicitada.

El parámetro "numero_conversaciones" indica el número de conversaciones que se desea solicitar.

El parámetro "apiKey" es el correspondiente a la Instancia desde donde se desea mandar el mensaje.

El siguiente ejemplo de PHP muestra como obtener las últimas 50 conversaciones de una Instancia:

                    
    <?php
        //TO DO: asignar el valor correcto a la variable $apiKey
        $conversaciones = file_get_contents("https://wabu.app/conversations/50/".$apiKey);
        $resultado = json_decode($conversaciones, true);
    ?>
                    
                

 

Obteniendo Mensajes

 

Para poder recibir los últimos mensajes de una conversación de Whatsapp de una determinada instancia, se debe realizar una solicitud con el método GET al siguiente end-point:

https://wabu.app/messages/<jid>/<numero_mensajes>/<apiKey>

La respuesta de Wabu será un objeto JSON con la información solicitada.

El parámetro "jid"es el identificador de usuario de whatsapp, este debe tener el siguiente formato:

[numero_telefonico]@s.whatsapp.net en caso de ser un contácto o

[numero_telefonico]-[idGrupo]@g.us en caso de ser una conversación de grupo

Ejemplo:

[email protected] para un contacto

[email protected] para un grupo

El parámetro "numero_mensajes" indica el número de mensajes que se desea solicitar.

El parámetro "apiKey" es el correspondiente a la Instancia desde donde se desea mandar el mensaje.

El siguiente ejemplo de PHP muestra como obtener los últimos 100 mensajes de una conversación:

                    
    <?php
        //TO DO: asignar el valor correcto a la variable $apiKey
        $jid = '[email protected]';
        $mensajes = file_get_contents("https://wabu.app/messages/".$jid."/100/".$apiKey);
        $resultado = json_decode($conversaciones, true);
    ?>
                    
                

 

Enviando Texto

 

Para poder enviar un mensaje de Texto a un número de Whatsapp a través de una determinada instancia, se debe realizar una solicitud con el método POST al siguiente end-point:

https://wabu.app/send

conteniendo los siguientes campos con tipo de contenido application/x-www-form-urlencoded

Parámetro Valor
phone Número de contacto de whatsapp, éste debe incluir el código de país. Por ejemplo: 59170000000
data Contenido del mensaje a enviar
apiKey Valor de la apiKey de la instancia desde donde se desea enviar el mensaje.

El siguiente ejemplo de PHP muestra cómo enviar un mensaje de texto:

                    
    <?php
        //TO DO: asignar el valor correcto a la variable $apiKey
        $url = "https://wabu.app/send";
        $data = array(
            'phone' => '59170000000',
            'data' => 'Mensaje de Prueba enviado desde la API de Wabu',
            'apiKey' => $apiKey
        );

        $options = array(
            'http' => array(
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data)
            )
        );
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
    ?>
                    
                

 

Enviando Audio

 

Para poder enviar un mensaje de Audio a un número de Whatsapp a través de una determinada instancia, se debe realizar una solicitud con el método POST al siguiente end-point:

https://wabu.app/sendAudio

conteniendo los siguientes campos con tipo de contenido application/x-www-form-urlencoded

Parámetro Valor
phone Número de contacto de whatsapp, éste debe incluir el código de país. Por ejemplo: 59170000000
data URL a un archivo de audio, puede ser en formato MP3, OGG, WAV
apiKey Valor de la apiKey de la instancia desde donde se desea enviar el mensaje.

El siguiente ejemplo de PHP muestra cómo enviar un mensaje de texto:

                    
    <?php
        //TO DO: asignar el valor correcto a la variable $apiKey
        $url = "https://wabu.app/sendAudio";
        $data = array(
            'phone' => '59170000000',
            'data' => 'http://ejemplo.com/url_audio.mp3',
            'apiKey' => $apiKey
        );

        $options = array(
            'http' => array(
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data)
            )
        );
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
    ?>
                    
                

 

Enviando Imágenes

 

Para poder enviar un mensaje de Tipo Imagen a un número de Whatsapp a través de una determinada instancia, se debe realizar una solicitud con el método POST al siguiente end-point:

https://wabu.app/sendPicture

conteniendo los siguientes campos con tipo de contenido application/x-www-form-urlencoded

Parámetro Valor
phone Número de contacto de whatsapp, éste debe incluir el código de país. Por ejemplo: 59170000000
data URL a un archivo de tipo Imagen
apiKey Valor de la apiKey de la instancia desde donde se desea enviar el mensaje.

El siguiente ejemplo de PHP muestra cómo enviar un mensaje de texto:

                    
    <?php
        //TO DO: asignar el valor correcto a la variable $apiKey
        $url = "https://wabu.app/sendAudio";
        $data = array(
            'phone' => '59170000000',
            'data' => 'http://ejemplo.com/url_imagen.jpg',
            'apiKey' => $apiKey
        );

        $options = array(
            'http' => array(
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data)
            )
        );
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
    ?>