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).
- Factures
- Produits
- Contacts
- Documents de stock
- Paiements
- Catégories
- Entrepôts
- Intégrations
- Départements
REMARQUE : La documentation complète est disponible sur GitHub
https://github.com/vosfactures/api
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
Télécharger le code CURL
https://YOUR_DOMAIN.vosfactures.fr/invoices.json?period=this_month&page=1&per_page=25&api_token=API_TOKEN
XML
Télécharger le code CURL
https://YOUR_DOMAIN.vosfactures.fr/invoices.xml?period=this_month&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).
Sélectionner une facture par son identifiant (ID)
JSON
Télécharger le code CURL
https://YOUR_DOMAIN.vosfactures.fr/invoices/100.json?api_token=API_TOKEN
XML
Télécharger le code CURL
https://YOUR_DOMAIN.vosfactures.fr/invoices/100.xml?api_token=API_TOKEN
Télécharger une facture sous format PDF
PDF
Télécharger le code CURL
https://YOUR_DOMAIN.vosfactures.fr/invoices/100.pdf?api_token=API_TOKEN
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-11-24",
"issue_date": "2024-11-24",
"payment_to": "2024-12-01",
"seller_name": "Seller SA",
"seller_tax_no": "6272616681",
"buyer_name": "Client1 SA",
"buyer_tax_no": "6272616681",
"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 CURLEn 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-11-24",
"issue_date": "2024-11-24",
"payment_to": "2024-12-01",
"buyer_name": "Client1 SA",
"buyer_tax_no": "6272616681",
"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 CURLXML
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-11-24</sell_date>
<issue_date>2024-11-24</issue_date>
<payment_to>2024-12-01</payment_to>
<seller_name>Seller SA</seller_name>
<seller_tax_no>6272616681</seller_tax_no>
<buyer_name>Client1 SA</buyer_name>
<buyer_tax_no>6272616681</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 CURLExemple 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-11-24",
"issue_date" => "2024-11-24",
"payment_to" => "2024-12-01",
"buyer_name" => "Client1 SA",
"buyer_tax_no" => "6272616681",
"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-11-24",
"issue_date": "2024-11-24",
"payment_to": "2024-12-01",
"buyer_name": "Client1 SA",
"buyer_tax_no": "6272616681",
"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-11-24",
"issue_date": "2024-11-24",
"payment_to": "2024-12-01",
"seller_name": "Seller SA",
"seller_tax_no": "6272616681",
"buyer_name": "Client1 SA",
"buyer_tax_no": "6272616681",
"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 CURLAjouter 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-11-24",
"issue_date": "2024-11-24",
"payment_to": "2024-12-01",
"seller_name": "Seller SA",
"seller_tax_no": "6272616681",
"buyer_name": "Client1 SA",
"buyer_tax_no": "6272616681",
"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 CURLAjouter 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 CURLMettre à 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 CURLSupprimer 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
JSONcurl "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-11-24",
"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 CURLAjouter 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-11-24",
"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 CURLAjouter 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_nameJSON
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-11-24",
"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 CURLMettre à 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 CURLEffacer 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 CURLMettre à 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 CURLWidget
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
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": "6272616681",
"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 CURLMettre à 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": "62726166812",
"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 CURLPaiements
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 CURLfull 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":"6272616681",
"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 CURLCaté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 CURLListe 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 CURLListe 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": "email34103@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 JSONObtenir des informations sur un utilisateur (avec code d'accès API)
JSON method: POST url: https://app.vosfactures.fr/login.json
{
"login": "email34103@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 JSONCré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 JSONCréation d'un nouveau compte, du propriétaire du compte et du département vendeur
JSONcurl 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 CURLObtenir des informations sur le compte
Télécharger le code CURL
https://YOUR_DOMAIN.vosfactures.fr/account.json?api_token=API_TOKEN&integration_token=email-us-for-this-token
Départements
Ajouter un logo
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
- Factures
- Produits
- Contacts
- Documents de stock
- Paiements
- Catégories
- Entrepôts
- Intégrations
- Départements