API de VosFactures

Grâce à l'API, le logiciel de facturation en ligne est facilement intégrable avec d'autres applications externes (ex: site internet) pour une création automatiquement de factures qui peuvent même être envoyées en ligne directement à vos clients. Ci-dessous, nous illustrons des demandes faites avec CURL, qui peut être remplacé par tout autre outil.

Contactez-nous si vous avez besoin pour votre intégration de fonctions supplémentaires API, nous nous efforcerons de les ajouter dans les meilleurs délais.

Les demandes sont compatibles avec JSON ou XML (en changeant le suffixe xml en json) et avec SSL (en changeant http en https).

REMARQUE : La documentation complète est disponible sur GitHub https://github.com/vosfactures/api

Code (token) API

Le code API (API_TOKEN) de votre compte VosFactures est affiché dans les paramètres du compte (Paramètres -> Paramètres du compte -> Intégration -> Code d'autorisation API)

Factures

Télécharger les factures selon une période choisie

Sélectionner les factures du mois en cours:

JSON
https://YOUR_DOMAIN.vosfactures.fr/invoices.json?period=this_month&page=1&per_page=25&api_token=API_TOKEN
Télécharger le code CURL

XML
https://YOUR_DOMAIN.vosfactures.fr/invoices.xml?period=this_month&page=1&per_page=25&api_token=API_TOKEN
Télécharger le code CURL

Des paramètres additionnels peuvent être transmis aux appels, ex: page=, period= etc... (Vous pouvez utiliser les mêmes filtres que ceux du moteur de recherche utilisé pour afficher la liste des documents dans le logiciel).

Sélectionner une facture par son identifiant (ID)

JSON
https://YOUR_DOMAIN.vosfactures.fr/invoices/100.json?api_token=API_TOKEN
Télécharger le code CURL

XML
https://YOUR_DOMAIN.vosfactures.fr/invoices/100.xml?api_token=API_TOKEN
Télécharger le code CURL

Télécharger une facture sous format PDF

PDF
https://YOUR_DOMAIN.vosfactures.fr/invoices/100.pdf?api_token=API_TOKEN
Télécharger le code CURL

Envoyer la facture au client par e-mail

JSON curl -X POST "https://YOUR_DOMAIN.vosfactures.fr/invoices/100/send_by_email.json?api_token=API_TOKEN" XML curl -X POST "https://YOUR_DOMAIN.vosfactures.fr/invoices/100/send_by_email.xml?api_token=API_TOKEN"

Sélectionner une facture par numéro de commande

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/invoices.json?oid=nr_zam&api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/invoices.xml?oid=nr_zam&api_token=API_TOKEN"

Télécharger les documents liés à un document donné (selon son ID)

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/invoices.json?invoice_id=id&api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/invoices.xml?invoice_id=id&api_token=API_TOKEN"

Télécharger les documents créés à partir d'un document donné (selon son ID)

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/invoices.json?from_invoice_id=id&api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/invoices.xml?from_invoice_id=id&api_token=API_TOKEN"



Ajouter une nouvelle facture

JSON (recommandé)

JSON (recommandé)

curl https://YOUR_DOMAIN.vosfactures.fr/invoices.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "invoice": { "kind":"vat", "number": null, "sell_date": "2024-04-25", "issue_date": "2024-04-25", "payment_to": "2024-05-02", "seller_name": "Seller SA", "seller_tax_no": "5252445767", "buyer_name": "Client1 SA", "buyer_tax_no": "5252445767", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":2} ] }}' Télécharger le code CURL



En conservant les données du département : curl https://YOUR_DOMAIN.vosfactures.fr/invoices.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "invoice": { "kind":"vat", "number": null, "sell_date": "2024-04-25", "issue_date": "2024-04-25", "payment_to": "2024-05-02", "buyer_name": "Client1 SA", "buyer_tax_no": "5252445767", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":2} ] }}' Télécharger le code CURL



XML

curl https://YOUR_DOMAIN.vosfactures.fr/invoices.xml \ -u 'login:YOUR_PASSWORD' \ -H 'Accept: application/xml' \ -H 'Content-Type: application/xml' \ -d '<invoice> <kind>vat</kind> <sell_date>2024-04-25</sell_date> <issue_date>2024-04-25</issue_date> <payment_to>2024-05-02</payment_to> <seller_name>Seller SA</seller_name> <seller_tax_no>5252445767</seller_tax_no> <buyer_name>Client1 SA</buyer_name> <buyer_tax_no>5252445767</buyer_tax_no> <positions> <position> <name>Produkt X1</name> <tax>23</tax> <total_price_gross>20</total_price_gross> <quantity>1</quantity> </position> <position> <name>Produkt X2</name> <tax>0</tax> <total_price_gross>10</total_price_gross> <quantity>3</quantity> </position> </positions> </invoice>' Télécharger le code CURL


Exemple en Ruby

endpoint = 'https://YOUR_DOMAIN.vosfactures.fr/invoices.json' uri = URI.parse(endpoint) json_params = { "api_token" => "API_TOKEN", "invoice" => { "kind" =>"vat", "number" => nil, "sell_date" => "2024-04-25", "issue_date" => "2024-04-25", "payment_to" => "2024-05-02", "buyer_name" => "Client1 SA", "buyer_tax_no" => "5252445767", "positions" =>[ {"name" =>"Produkt A1", "tax" =>23, "total_price_gross" =>10.23, "quantity" =>1}, {"name" =>"Produkt A2", "tax" =>0, "total_price_gross" =>50, "quantity" =>2} ] }} request = Net::HTTP::Post.new(uri.path) request.body = JSON.generate(json_params) request["Content-Type"] = "application/json" http = Net::HTTP.new(uri.host, uri.port) response = http.start {|h| h.request(request)} if response.code == '201' ret = JSON.parse(response.body) else ret = response.body end puts ret.to_json



Javascript / Ajax jQuery

json_params = { "api_token": "API_TOKEN", "invoice": { "kind":"vat", "number": null, "sell_date": "2024-04-25", "issue_date": "2024-04-25", "payment_to": "2024-05-02", "buyer_name": "Client1 SA", "buyer_tax_no": "5252445767", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":2} ] }} //alert(JSON.stringify(json_params)) endpoint = 'https://YOUR_DOMAIN.vosfactures.fr/invoices.json' $.ajax({ type: "POST", url: endpoint, data: json_params, dataType: 'json', success: function(data) { alert('invoice created! ' + data['number'])}, });

Ajouter un pourcentage de réduction sur les factures

REMARQUE: Vérifiez dans Paramètres > Paramètres du compte > Options par défaut > Comment calculer la réduction, que l'option "pourcentage du prix unitaire HT" est choisie. curl https://YOUR_DOMAIN.vosfactures.fr/invoices.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "invoice": { "kind":"vat", "number": null, "sell_date": "2024-04-25", "issue_date": "2024-04-25", "payment_to": "2024-05-02", "seller_name": "Seller SA", "seller_tax_no": "5252445767", "buyer_name": "Client1 SA", "buyer_tax_no": "5252445767", "show_discount": true, "discount_kind": "percent_unit", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1, "discount_percent": 50}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":2, "discount_percent": 10} ] }}' Télécharger le code CURL



Ajouter un montant de réduction sur les factures

REMARQUE: Vérifiez dans Paramètres > Paramètres du compte > Options par défaut > Comment calculer la réduction, que l'option "montant" est choisie.
curl https://YOUR_DOMAIN.vosfactures.fr/invoices.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "invoice": { "kind":"vat", "number": null, "sell_date": "2024-04-25", "issue_date": "2024-04-25", "payment_to": "2024-05-02", "seller_name": "Seller SA", "seller_tax_no": "5252445767", "buyer_name": "Client1 SA", "buyer_tax_no": "5252445767", "show_discount": true, "discount_kind": "amount", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1, "discount": 5}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":2, "discount": 25} ] }}' Télécharger le code CURL


Ajouter une facture d'un produit existant à un client existant

Si vous avez l'ID du client (client_id), du vendeur (departement_id) et du produit (produit_id) vous n'avez pas besoin de renseigner plus de données. La facture sera émise avec la date du jour et une date limite de règlement de 5 jours.
curl https://YOUR_DOMAIN.vosfactures.fr/invoices.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "invoice": { "payment_to_kind": 5, "department_id": 222, "client_id": 111, "positions":[ {"product_id": 333, "quantity":2} ] }}' Télécharger le code CURL


Mettre à jour une facture


curl https://YOUR_DOMAIN.vosfactures.fr/invoices/444.json \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "invoice": { "buyer_name": "New buyer name SA" }}' Télécharger le code CURL



Supprimer une facture

JSON curl -X DELETE "https://YOUR_DOMAIN.vosfactures.fr/invoices/100.json?api_token=API_TOKEN" XML curl -X DELETE "https://YOUR_DOMAIN.vosfactures.fr/invoices/100.xml?api_token=API_TOKEN"



Documents de stock


Tous les documents de stock


JSON curl "https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents.json?page=1&per_page=25&api_token=API_TOKEN" Des paramètres additionnels peuvent être transmis aux appels, ex: page=, period= etc... (Vous pouvez utiliser les mêmes filtres que ceux du moteur de recherche utilisé pour afficher la liste des documents dans le logiciel).


Télécharger un document de stock par son identifiant

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents/555.json?api_token=API_TOKEN"


Ajouter un bon d'entrée (BE)



JSON

curl https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "warehouse_document": { "kind":"pz", "number": null, "warehouse_id": "1", "issue_date": "2024-04-25", "department_name": "Department1 SA", "client_name": "Client1 SA", "warehouse_actions":[ {"product_name":"Produkt A1", "purchase_tax":23, "purchase_price_net":10.23, "quantity":1}, {"product_name":"Produkt A2", "purchase_tax":0, "purchase_price_net":50, "quantity":2} ] }}' Télécharger le code CURL



Ajouter un bon de livraison (BL)



JSON

curl https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "warehouse_document": { "kind":"wz", "number": null, "warehouse_id": "1", "issue_date": "2024-04-25", "department_name": "Department1 SA", "client_name": "Client1 SA", "warehouse_actions":[ {"product_id":"333", "tax":23, "price_net":10.23, "quantity":1}, {"product_id":"333", "tax":0, "price_net":50, "quantity":2} ] }}' Télécharger le code CURL



Ajouter un nouveau bon d'entrée pour un contact, département vendeur et produits existants

Pour choisir le département vendeur par défaut, ignorez les valeurs department_id et department_name

JSON

curl https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "warehouse_document": { "kind":"pz", "number": null, "warehouse_id": "1", "issue_date": "2024-04-25", "department_id": "222", "client_id": "111", "warehouse_actions":[ {"product_id":"333", "purchase_tax":23, "price_net":10.23, "quantity":1}, {"product_id":"333", "purchase_tax":0, "price_net":50, "quantity":2} ] }}' Télécharger le code CURL



Mettre à jour le document de stock


curl https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents/555.json \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "warehouse_document": { "client_name": "New client name SA" }}' Télécharger le code CURL



Effacer le document de stock

JSON curl -X DELETE "https://YOUR_DOMAIN.vosfactures.fr/warehouse_documents/100.json?api_token=API_TOKEN"





Produits

Liste des produits

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/products.json?page=1&per_page=25&api_token=API_TOKEN&page=1" XML curl "https://YOUR_DOMAIN.vosfactures.fr/products.xml?page=1&per_page=25&api_token=API_TOKEN&page=1"

Sélectionner un produit selon son ID

curl "https://YOUR_DOMAIN.vosfactures.fr/products/100.xml?api_token=API_TOKEN"

Ajouter un produit


curl https://YOUR_DOMAIN.vosfactures.fr/products.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "product": { "name": "PoroductAA", "code": "A001", "price_net": "100", "tax": "23" }}' Télécharger le code CURL


Mettre à jour un produit


curl https://YOUR_DOMAIN.vosfactures.fr/products/333.json \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "product": { "name": "PoroductAA2", "code": "A0012", "price_gross": "102" }}' Télécharger le code CURL


Widget

Pour télécharger le formulaire de paiement en ligne (sous le format JS), appeler l’URL:

https://app.vosfactures.fr/a/YOUR_DOMAIN/p/{{token}}.js

où {{token}} est le code d'identification du produit



Contacts

Tous les contacts

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/clients.json?page=1&per_page=25&api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/clients.xml?page=1&per_page=25&api_token=API_TOKEN"

Sélectionner un contact par son identifiant

curl "https://YOUR_DOMAIN.vosfactures.fr/clients/100.xml?api_token=API_TOKEN"

Sélectionner un contact par son "Réf/code client"

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/clients.json?external_id=100&api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/clients.xml?external_id=100&api_token=API_TOKEN"

Ajouter un contact


curl https://YOUR_DOMAIN.vosfactures.fr/clients.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "client": { "name": "Client1", "tax_no": "5252445767", "bank" : "bank1", "bank_account" : "bank_account1", "city" : "city1", "country" : "", "email" : "example@email.com", "person" : "person1", "post_code" : "post-code1", "phone" : "phone1", "street" : "street1" }}' Télécharger le code CURL


Mettre à jour un contact

curl https://YOUR_DOMAIN.vosfactures.fr/clients/111.json \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"api_token": "API_TOKEN", "client": { "name": "Klient2", "tax_no": "52524457672", "bank" : "bank2", "bank_account" : "bank_account2", "city" : "city2", "country" : "PL", "email" : "example2@email.com", "person" : "person2", "post_code" : "post-code2", "phone" : "phone2", "street" : "street2" }}' Télécharger le code CURL





Paiements

Tous les paiements


JSON curl "https://YOUR_DOMAIN.vosfactures.fr/banking/payments.json?page=1&per_page=25&api_token=API_TOKEN"
XML curl "https://YOUR_DOMAIN.vosfactures.fr/banking/payments.xml?page=1&per_page=25&api_token=API_TOKEN"

Selectionner un paiement par identifiant


JSON curl "https://YOUR_DOMAIN.vosfactures.fr/banking/payment/100.json?api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/banking/payments/100.xml?api_token=API_TOKEN"

Ajouter un nouveau paiement

minimal JSON (recommandé) curl https://YOUR_DOMAIN.vosfactures.fr/banking/payments.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "banking_payment": { "name":"Payment 001", "price": 100.05, "invoice_id": null, "paid":true, "kind": "api" }}' Télécharger le code CURL

full JSON (recommandé) curl https://YOUR_DOMAIN.vosfactures.fr/banking/payments.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "banking_payment": { "city": null, "client_id":null, "comment":null, "country":null, "currency":"PLN", "deleted":false, "department_id":null, "description":"abonament roczny", "email":"email@email.pl", "first_name":"Jan", "generate_invoice":true, "invoice_city":"Warszawa", "invoice_comment":"", "invoice_country":null, "invoice_id":null, "invoice_name":"Company name", "invoice_post_code":"00-112", "invoice_street":"street 52", "invoice_tax_no":"5252445767", "last_name":"Kowalski", "name":"Plantnosc za produkt1", "oid":"", "paid":true, "paid_date":null, "phone":null, "post_code":null, "price":"100.00", "product_id":1, "promocode":"", "provider":"transfer", "provider_response":null, "provider_status":null, "provider_title":null, "quantity":1, "street":null, "kind": "api" }}' Télécharger le code CURL



Catégories

Ajouter une nouvelle catégorie

JSON (recommandé) curl https://YOUR_DOMAIN.vosfactures.fr/categories.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "category": { "name": "my_category", "description": null } }' Télécharger le code CURL



Liste des catégories

XML curl "https://YOUR_DOMAIN.vosfactures.fr/categories.xml?api_token=API_TOKEN" JSON curl "https://YOUR_DOMAIN.vosfactures.fr/categories.json?api_token=API_TOKEN"



Obtenir les informations sur une catégorie par son ID

XML curl "https://YOUR_DOMAIN.vosfactures.fr/categories/100.xml?api_token=API_TOKEN" JSON curl "https://YOUR_DOMAIN.vosfactures.fr/categories/100.json?api_token=API_TOKEN"



Autres exemples: https://github.com/vosfactures/api



Entrepôts

Ajouter un nouvel entrepôt

JSON (recommandé) curl https://YOUR_DOMAIN.vosfactures.fr/warehouses.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "warehouse": { "name": "my_warehouse", "kind": null, "description": null } }' Télécharger le code CURL



Liste des entrepôts

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/warehouses.json?api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/warehouses.xml?api_token=API_TOKEN"



Obtenir les informations sur un entrepôt selon son ID

JSON curl "https://YOUR_DOMAIN.vosfactures.fr/warehouses/100.json?api_token=API_TOKEN" XML curl "https://YOUR_DOMAIN.vosfactures.fr/warehouses/100.xml?api_token=API_TOKEN"




Intégrations


Ajouter un nouvel utilisateur

JSON method: POST url: https://app.vosfactures.fr/users.json { "user": { "email": "email37115@fakturowytmail.pl", "password": "your_secret_password" }, "integration_token": "email-us-for-this-token" } Télécharger le code CURL | Télécharger le code Ruby | Télécharger le code JavaScript | Télécharger le code PHP | Télécharger le code JSON


Obtenir des informations sur un utilisateur (avec code d'accès API)

JSON method: POST url: https://app.vosfactures.fr/login.json { "login": "email37115@fakturowytmail.pl", "password": "your_secret_password", "integration_token": "email-us-for-this-token" } Télécharger le code CURL | Télécharger le code Ruby | Télécharger le code JavaScript | Télécharger le code PHP | Télécharger le code JSON



Créer un nouveau compte

JSON method: POST url: https://app.vosfactures.fr/account.json { "api_token": "API_TOKEN", "account": { "prefix": "ftprefix" }, "integration_token": "email-us-for-this-token" } Télécharger le code CURL | Télécharger le code Ruby | Télécharger le code JavaScript | Télécharger le code PHP | Télécharger le code JSON



Création d'un nouveau compte, du propriétaire du compte et du département vendeur

JSON curl https://app.vosfactures.fr/account.json \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "api_token": "API_TOKEN", "account": { "prefix": "prefix1" }, "user": { "login": "login1", "email": "email1@email.pl", "password": "password1", "from_partner": "PARTNER_CODE" }, "company": { "name": "Company1", "tax_no": "5252445700", "post_code": "00-112", "city": "Warsaw", "street": "Street 1/10", "person": "Jan Nowak", "bank": "Bank1", "bank_account": "111222333444555666111" }, "integration_token": "email-us-for-this-token" }' Télécharger le code CURL

Obtenir des informations sur le compte


https://YOUR_DOMAIN.vosfactures.fr/account.json?api_token=API_TOKEN&integration_token=email-us-for-this-token
Télécharger le code CURL



Départements


curl -X PUT https://YOUR_DOMAIN.vosfactures.fr/departments/222.json \ -F 'api_token=API_TOKEN' \ -F 'department[logo]=@/file_path/logo.png' Télécharger le code CURL



Autres exemples: https://github.com/vosfactures/api