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();
}
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
$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);
}
}
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();
}