La création, la modification et la suppression de données est facile a implémenter, mais ne peut pas être réalisée directement depuis un navigateur. Quelque soit le language de développement que vous utilisez, un utilitaire tel que “curl” vous permet de faire facilement des essais et explorer l’API.
Lorsque vous créez ou modifier des données, vous transmettez du code XML, et vous devez le faire savoir au système en ajoutant à vos requêtes le header “Content-type: application/xml”. Il vous suffit alors d’inclure votre code XML dans votre requête pour que l’API effectue l’opération demandée.
Voici quelques exemples de création à l’aide de curl d’abord en transmettant le code XML directement sur la ligne de commande, ensuite en transmettant le code XML à partir d’un fichier:
curl -u login:password \
-H 'Content-Type: application/xml' \
-d '<customer><company>TOTO</company></customer>' \
http://www.monae.fr/account/customers.xml
curl -u login:password \
-H 'Content-Type: application/xml' -d @client.xml \
http://www.monae.fr/account/customers.xml
Si la création réussi, le code HTTP de retour est “201 Created” et le header contient une entrée “Location” indiquant l’url d’accès au nouvel élement créé. De plus, le résultat contient le detail XML de la ressource créée.
Sur un principe similaire, la mise à jour des enregistrements se fait à l’aide d’une requête de type PUT. Par exemple:
curl -u login:password -X PUT \
-H 'Content-Type: application/xml' \
-d '<customer><company>TOTO S.A.S</company></customer>' \
http://www.monae.fr/account/customers/1.xml
ou bien
curl -u login:password -X PUT \
-H 'Content-Type: application/xml' -d @client.xml \
http://www.monae.fr/account/customers/1.xml
Lorsque la mise à jour réussie, vous obtenez en retour le code HTTP “200 OK”
Enfin, pour supprimer un enregistrement (si cette fonction est disponible), vous devez utiliser une requête de type DELETE. Par exemple:
curl -u login:password -X DELETE \
http://www.monae.fr/account/customers/1.xml
Les requêtes de suppression ne nécessitent pas de “Content-Type” puisqu’elles en contiennent pas de XML. Si la suppression réussie, vous obtenez le code HTTP “200 OK”