Introduction


Pour utiliser l'API wmaker vous devez utiliser la convention d'appel REST, envoyer une requête à son url API en spécifiant une méthode et des arguments, puis vous recevez une réponse formatée.


Toutes les requêtes doivent utiliser une liste de paramètres nommés :

  • Le paramètre OBLIGATOIRE api_key permet de spécifier votre clé API que vous pouvez récupérer à partir de votre backoffice (réseau->plugin & API....)
  • Le paramètre OBLIGATOIRE api_sig permet de spécifier votre signature d'appel signé avec votre clé secrète.
  • Le paramètre OBLIGATOIRE method permet de spécifier la méthode d'appel (exemple post.get, video.getList...)
  • Le paramètre facultatif format permet de spécifier un format de réponse, qui est le XML par défaut.
  • Les arguments de la méthode.
Les arguments, réponses et codes d'erreur de chaque méthode sont listés sur la page de données techniques de la méthode.

Signature [api_sig]


[api_sig]
est une signature de méthode, elle se calcule avec cette fonction.

api_sig = md5(API_SECRET  + API_KEY + METHOD_NAME)

Exemple de code en PHP :

function generateSig($method) 
                {
                return(md5($this->api_secret . $this->api_key . $method));
                }

Si vous utilisez le Kit API Wmaker (fourni dans l'espace téléchargement) ce dernier génère automatiquement pour vous l'api_sig dans chaque appel API.


Response Formats

We offer three response types in our API : XML, PHP and JSON


XML (REST)

The REST response is really simple. It's just a very simple XML output. This is the default response method, so you don't need to specify the format parameter.

<rsp stat="ok" generated_in="0.07157">
        <comment>
              <id>852331</id>
              <object_id>1418360</object_id>
              <date>2009-06-08 17:22:00</date>
              <email>tvolterrani@memup.com</email>
              <name>Thomas VOLTERRANI</name>
              <message>Bravo ! C'est tout ce que je peux dire !</message>
              <url>http://www.memup.com</url>
       </comment>
</rsp>

In the event of an error, you'll get something like this :

<rsp stat="fail">
         <err code="96" msg="comment Not found"/>
</rsp>



PHP

The PHP result is a serialized version of the REST format. So the responses will be the same as above, only as PHP objects. If you're using the PHP response, we encourage you to look at the example code we provide.

stdClass Object 
(
[1] => stdClass Object
(
[id] => xxxxxx
[object_id] => xxxxx
[date] => 2009-10-06 13:56:42
[email] => xxxxxx@gmail.com
[name] => samir
[message] => Voici mon commentaire
[url] => http://blog.wmaker.net
)

[2] => stdClass Object
(
[id] => xxxxxxxx
[object_id] => xxxxxxxxxxx
[date] => 2009-10-06 12:34:00
[email] => xxxxxxxxx@gmail.com
[name] => Jerome
[message] => i'm the samurai
[url] => http://blog.wmaker.net
)
}

In the event of an error, you'll get something like this:

stdClass Object
(
[stat] => fail
[err] => stdClass Object
(
[code] => 96
[msg] => comment Not found
)

)



JSON

JSON (JavaScript Object Notation) is a lightweight computer data interchange format. It is a text-based, human-readable format for representing objects and other data structures and is mainly used to transmit such structured data over a network connection (in a process called serialization)

To get an API response in JSON format, send a parameter format in the request with a value of json.

{     
"0"
{

       
"id": "xxxxx",
       
"object_id": "xxxxx",
       
"date": "2009-10-06 13:56:42",
       
"email": "xxxx@gmail.com",
       
"name": "samir",
       
"message": "Voici mon commentaire",
       
"url": "http://blog.wmaker.net",
   
}
"1"
{

       
"id": "xxxxx",
       
"object_id": "xxxxx",
       
"date": "2009-10-06 13:56:42",
       
"email": "xxxx@gmail.com",
       
"name": "jerome",
       
"message": "i'm the samurai",
       
"url": "http://blog.wmaker.net",
   
}
  "generated_in": "0.0283",
   
"stat": "ok"
}
In the event of an error, you'll get something like this:

{     
   
"generated_in": "0.0283",
   
"stat": "fail",
   
"err": {
       
"code": "1",
       
"msg": "comment Not Found"
   
}
}



API Client Libraries

PHP (1)