Plusieurs méthodes sont disponibles dans l’API Prestataire, et chaque appel doit être authentifié via le protocole OAuth. Les données retournées sont toujours relative au compte client utilisé pour vous authentifier.
Méthodes disponibles via OAuth
Modifier les coordonnées de facturation
POST /provider/update_billing.xml
Mise à jour des coordonnées de facturation.
Requête
<customer>
<city>Lyon</city>
<civility>0</civility>
<company_name>COMPANY 2</company_name>
<country>FR</country>
<discount nil="true"></discount>
<email>contact@company2.com</email>
<fax></fax>
<first_name>My Second</first_name>
<last_name>Customer</last_name>
<phone>+33123456780</phone>
<short_name>CUSTOMER2</short_name>
<street>12 rue de la creation</street>
<zip_code>75001</zip_code>
</customer>
Réponse
Status: 200 OKListe des factures
GET /provider/invoices.xml
Retourne les 10 dernières factures générées.
Le détail des champs retournés pour chaque facture est disponible ici
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<invoices type="array">
<invoice>
<api_custom nil="true"></api_custom>
<api_id nil="true"></api_id>
<customer_id>1</customer_id>
<customer_ref nil="true">FA1234</customer_ref>
<id>679</id>
<discount>0.0</discount>
<information/>
<pay_before>90</pay_before>
<penalty>0.0</penalty>
<invoice_ref>1</invoice_ref>
<invoice_status>0</invoice_status>
<total>13.2</total>
<items>
<item>
<position>0</position>
<product_id>0</product_id>
<quantity>1.32</quantity>
<title>Campagne video</title>
<total>13.2</total>
<nature>1</nature>
<unit_price>10.0</unit_price>
</item>
</items>
</invoice>
<invoice>
<api_custom nil="true"></api_custom>
<api_id nil="true"></api_id>
<customer_id>1</customer_id>
<customer_ref nil="true">FA1235</customer_ref>
<id>522</id>
<discount>0.0</discount>
<information/>
<pay_before>90</pay_before>
<penalty>0.0</penalty>
<invoice_ref>2</invoice_ref>
<invoice_status>0</invoice_status>
<total>200.0</total>
<items>
<item>
<position>0</position>
<product_id>0</product_id>
<quantity>1.0</quantity>
<title>Campagne publicitaire</title>
<total>200.0</total>
<nature>2</nature>
<unit_price>200.0</unit_price>
</item>
</items>
</invoice>
</invoices>Créer une facture
POST /provider/create_invoice.xml
Création d’une nouvelle facture. On obtient en retour le code XML de l’enregistrement créé, avec l’ID qui lui a été attribué.
Une facture doit au moins contenir une ligne de facturation (items-attribute)
Le total de chaque ligne de facturation ainsi que le total de la facture sont calculés automatiquement.
Requête
<?xml version="1.0" encoding="UTF-8"?>
<invoice>
<items-attributes type="array">
<items-attribute>
<position>1</position>
<product_id>0</product_id>
<quantity>1.0</quantity>
<nature>2</nature>
<title>Campagne publicitaire</title>
<unit_price>200.0</unit_price>
</items-attribute>
<items-attribute>
<position>2</position>
<product_id>0</product_id>
<quantity>1.0</quantity>
<title>Conseil en marketing</title>
<nature>2</nature>
<unit_price>300.0</unit_price>
</items-attribute>
</items-attributes>
</invoice>
Réponse
La réponse contient l’url de téléchargement de la facture créée dans le champ “Location” du header
Status: 201 Created
Location: /provider/download_invoice?invoice_id=#{new-invoice-id}
<invoice>
...
</invoice>Télécharger une facture
GET /provider/download_invoice?invoice_id={ID}
Télécharger la facture n° ID au format PDF
Réponse
Vous obtenez le fichier PDF de la facture demandée
