Wapplets REST API

Automatiser l'envoi et la réception des messages par WhatsApp avec l'une de vos applications métier grâce à notre API REST.


La présente documentation décrit l’API (Application Programming Interface) utilisée par les développeurs pour envoyer et récevoir des messages WhatsApp serveur à serveur . Cette documentation n'est liée à aucune technologie. Le développeur est libre de faire l'intégration avec n'importe quelle application métier.

L'API nécessite la clé d'Authentification APIKey du compte développeur. Ce paramètre est obtenu dans le menu Développeur du Tableau de bord.
Il est à noter que toutes les requêtes adressées à nos serveurs doivent obligatoirement comporter cet élément en En-tête.


1. Récupération de l'APIKey

Depuis le tableau de bord, vous devez récupérer la Clé API dans le menu Développeur. et l'ajouter dans l'en-tête de votre requête comme suit :

 X-WP-APPKEY : WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb



2.EndPoints

Pour lancer votre requête d'envoie de message WhatsApp à notre API, vous devez indiquer les points d'acces. tout en sachant que les requêtes sont de type POST.

SandBox: Pour le Test (Gratuit pendant 1 jour)
Live: Pour la production (Par Abonnement)

                                        Live: https://api.wapplets.com/api/msg/send 
Sandbox: https://sandbox.wapplets.com/api/msg/send


3. Format du corps de la requête

les requêtes envoyées à l'API ainsi que les reponses sont au format JSON

                                                            
    
        var data = {
            body: "Bonjour",
            to:  "+208000000",
            attachement:{
                type: "image", //"pdf",
                name: "fileName",
                data: "base64Value"
            }
        }
        var options = {
            method: "POST",
            headers:{
            "Content-Type": "application/json",
            "X-WP-APPKEY": "WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb"
            },
            body: JSON.stringify(data)                
        }

        var url = "https://sandbox.wapplets.com/api/msg/send";

        var response = await fetch(url, options);

        if(response.ok){
            //Success
            var responseData = await response.json();
        } else {
            //Failure
            var responseData = await response.json();
        }

                                                            
                                                        
                                                            
       
        $url = "https://api.wapplets.com/api/msg/send";
        $data = array(
            'body' => 'Bonjour',
            'to' => '+208000000',
            'attachement'=>
            array(
                    'type'=> 'image', //"pdf"
                    'data'=>'base64Value',
                    'name'=>'fileName'
            )
        );
        
        
        $init = curl_init($url);
        $headers = array('Content-Type:application/json','X-WP-APPKEY:WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb');
        
        curl_setopt($init, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($init, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($init, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($init, CURLOPT_RETURNTRANSFER, true);
        
        $body = json_encode($data);
        curl_setopt($init, CURLOPT_POSTFIELDS, $body);
        
        $reponse_api = curl_exec($init); 
        $statusCode = curl_getinfo($init, CURLINFO_HTTP_CODE);
        curl_close($init);
        
        if($statusCode == 200){
        
            $responseData = json_decode($reponse_api, true);
            print_r($responseData);
            return $reponse_api;
        
        } else {
            echo "Failed to make the request.";
            return null;
        }
                                                                
                                                                
                                                                
                                                            
                                                        
                                                            
        String attachement = "{ \"type\": \"image\", \"data\": \"base64Value\", \"name\": \"fileName\" }";
                                                                
        OkHttpClient client = new OkHttpClient();
        RequestBody body = new FormBody.Builder() 
                    .add("to", "+208000000")
                    .add("body", "Bonjour")
                    .add("attachement", attachement)
                    .build();

        String url="https://sandbox.wapplets.com/api/msg/send";
        Request request = new Request.Builder()
            .url(url)
            .post(body)
            .addHeader("content-type", "application/json")
            .addHeader("X-WP-APPKEY", "WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb")
            .build();
        
        Response response = client.newCall(request).execute();
            
        System.out.println(response.body().string());
                                                            
                                                        
                                                            
        using System;
        using System.Threading.Tasks;
        using RestSharp;
        
        public class Program
        {
            public static async Task Main()
            {
        
                var url =   "https://sandbox.wapplets.com/api/msg/send";
                var client = new RestClient(url);
        
                var request = new RestRequest(url, Method.Post);    
                request.AddHeader("content-type", "application/json");
                request.addHeader("X-WP-APPKEY", "WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb")
                
                var attachement = "{ \"type\": \"image\", \"data\": \"base64Value\", \"name\": \"fileName\" }";

                request.AddParameter("to", "+208000000");
                request.AddParameter("body", "Bonjour");
                request.AddParameter("attachement", attachement);
        
        
                RestResponse response = await client.ExecuteAsync(request);
                var output = response.Content;
                Console.WriteLine(output);
            }
        }
                                                            
                                                        
Important : Avant de passer en production vous devez avoir effectué au moins un test concluant en mode SANDBOX.
Paramètre Obligatoire Description
[X-WP-APPKEY] Oui La clé API secrète récuper dans la partie développeur
[to] Oui Le numéro de téléphone auquel il le message sera envoyé. au format international. Ex: +208000000
[body] Oui Le message qu'on souhaite envoyé. N.B : Pour l'instant, l'API ne prend en charge que du Texte.

En cas d'erreur lors de cet appel, l'API retournera des informations pour vous aider à modifier votre requête.

4.Format de la reponse

Si tous les paramètres attendus sont présents et valides, vous recevez une reponse JSON de la forme

                                        
{
    "status_code": 200,
    "message": "Message envoyé avec succès",
    "data": {
        "uuid": "0d188413-e1ec-4287-8854-c50e6b4c79df",
        "content": "Bonjour",
        "account": "+208000000",
        "sended": true 
    }
}
                                        
                                    
Paramètre Description
[status_code] Code de statut de la requête
200 : Requête effectuée avec succès
400 : Echec de la requête. Les informations fournies ne sont pas correctes.
401 : Echec de l'Authentification.
500 : Une erreur inattendue est survenue.
[account] Le numéro de téléphone auquel il le message a été envoyé. au format international. Ex: +208000000
[content] Le message envoyé.
[sended] La valeur booléenne indiquant si le message a été envoyé ou pas (true/false).

5. Réception des Messages

Wapplets offre aussi la possibilité de récevoir les message WhatsApp à partir du numéro renseigné par le développeur lors de la configuation de son compte. Les messages sont envoyés instantannément au CallbackUrl (uniquement en POST) renseigné.

                                        
    Exemple du CallbackUrl : https://www.exemplecallback.com/api/msg/receive 
Exemple du corps du CallbackUrl :
{ "uuid": "0d188413-e1ec-4287-8854-c50e6b4c79df", "content": "Bonjour", "account": "+208000000" }

6. Récupérer la liste des groupes

Wapplets offre la possibilité de récupérer la liste des groupes dans lequels se trouve le numéro attaché à une application donnée.

                                        
  
    var options = {
        method: "GET",
        headers:{
        "Content-Type": "application/json",
        "X-WP-APPKEY": "WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb"
        }            
    }

    var url = "https://sandbox.wapplets.com/api/retrieve/group";

    var response = await fetch(url, options);

    if(response.ok){
        //Success
        var responseData = await response.json();
        /*{
            "status_code": 200,
            "data": [
                {
                    "id": "123456789098543200",
                    "name": "WAPPLET TEST GROUP"
                }
            ]
        }*/
    } else {
        //Failure
        var responseData = await response.json();
    }

                                        
                                    

6. Envoie du message dans un Groupe

Wapplets offre la possibilité d'envoyer un message (avec ou sans pièce jointe) dans l'un des groupes dans lequels se trouve le numéro attaché à une application donnée.

                                        
  
    var data = {
        body: "Bonjour",
        to:  "groupeId",
        attachement:{
            type: "image", // "pdf"
            name: "fileName",
            data: "base64Value"
        }
    }
    var options = {
        method: "POST",
        headers:{
        "Content-Type": "application/json",
        "X-WP-APPKEY": "WP-4glo7iR3ZbrXNQi31jifibXg99FBap/z20RiM8dB3UoMQiffVG60qJ97Ia1hq9Bb"
        },
        body: JSON.stringify(data)                
    }

    var url = "https://sandbox.wapplets.com/api/msg/group/send";

    var response = await fetch(url, options);

    if(response.ok){
        //Success
        var responseData = await response.json();
    } else {
        //Failure
        var responseData = await response.json();
    }

                                        
                                    
Wapplets un produit de HorizonScript SARL © 2023 by HorizonScript.