Liste des produits

GET /firms/FIRM_ID/products.json

liste des produits, par groupe de 30 résultats.

Paramètres optionnels

  • page : numéro de page
  • ref : recherche partielle sur la référence produit
  • title : recherche partielle sur le libellé du produit
  • api_id : recherche exacte sur le champ api_id
  • api_custom : recherche partielle sur le champ api_custom

Tri

Par défaut, les produits sont triés par ordre croissant de libellé.
Vous pouvez trier les résultats selon différentes méthodes en utilisant les paramètres suivants:

  • sort:
    • asc: tri croissant
    • desc: tri décroissant
  • order : type de tri
    • ref: tri par référence
    • created: tri par date de création d'un devis (ie date à laquelle l'enregistrement a été créé)
    • updated: tri par date de dernière modification d'un devis (ie date à laquelle l'enregistrement a été modifié pour la dernière fois)

Requête

curl -i -S -u login:password -H 'User-Agent: MonApp (moi@exemple.com)' \
 https://www.facturation.pro/firms/FIRM_ID/products.json

Réponse

[{
  "api_custom": null,
  "api_id": null,
  "category_id": 4868,
  "id": 46125,
  "nature": 9,
  "ref": "PRESTASHOP",
  "title": "Developpement module Prestashop",
  "unit_price": "100.0",
  "vat": "0.200"
}, {
  "api_custom": null,
  "api_id": null,
  "category_id": 4868,
  "id": 46126,
  "nature": 9,
  "ref": "WORDPRESS",
  "title": "Developpement module Wordpress",
  "unit_price": "150.0",
  "vat": "0.200"
}]

Détail d'un produit

GET /firms/FIRM_ID/products/ID.json

Affiche le détail du produit n° ID

Requête

curl -i -S -u login:password -H 'User-Agent: MonApp (moi@exemple.com)' \
 https://www.facturation.pro/firms/FIRM_ID/products/1.json

Réponse

{
  "api_custom": null,
  "api_id": null,
  "category_id": 4868,
  "id": 1,
  "nature": 9,
  "ref": "PRESTASHOP",
  "title": "Developpement module Prestashop",
  "unit_price": "100.0",
  "vat": "0.200"
}

Créer un produit

POST /firms/FIRM_ID/products.json

Création d'un nouveau produit. On obtient en retour le code JSON du produit créé, avec l'ID qui lui a été attribué

Requête

curl -i -S -u login:password -H 'User-Agent: MonApp (moi@exemple.com)' \
 -H 'Content-Type: application/json; charset=utf-8' \
 -X POST \
 -d '{"ref":"PAIMENT","title":"Developpement passerelle de paiement","unit_price":200.0,"vat":0.200}' \
 https://www.facturation.pro/firms/FIRM_ID/products.json

Réponse

Status: 201 Created
Location: /firms/FIRM_ID/products/46127.json

{
  "id": 46127,
  "ref": "PAIMENT",
  "title": "Developpement passerelle de paiement",
  "unit_price": "200.0",
  "vat": "0.200"
}

Modifier un produit

PATCH /firms/FIRM_ID/products/ID.json

Mise à jour d'un produit existant.

Requête

curl -i -S -u login:password -H 'User-Agent: MonApp (moi@exemple.com)' \
 -H 'Content-Type: application/json; charset=utf-8' \
 -X PATCH \
 -d '{"title":"Optimisation module Prestashop","api_custom":"CUSTOM_SHOP"}' \
 https://www.facturation.pro/firms/FIRM_ID/products/1.json

Réponse

Status: 200 OK

Supprimer un produit

DELETE /firms/FIRM_ID/products/ID.json

Supprime le produit identifié par son ID. Cette opération ne supprime pas les lignes de facturation associées à ce produit.

Requête

curl -i -S -u login:password -H 'User-Agent: MonApp (moi@exemple.com)' \
 -X DELETE \
 https://www.facturation.pro/firms/FIRM_ID/products/1.json

Réponse

Status: 200 OK

Liste des champs

Champs Libellé Type Accès
id Identifiant int(11) lecture seule
ref Référence interne string(255) lecture/écriture
title Libellé text lecture/écriture
unit_price Prix unitaire HT decimal(15,3) lecture/écriture
vat Taux de TVA decimal(8,3) lecture/écriture
nature Type de facturation int(11) lecture/écriture
category_id Catégorie int(11) lecture/écriture
notes Notes internes text lecture/écriture
field1 Champ libre 1 string(255) lecture/écriture
field2 Champ libre 2 string(255) lecture/écriture
field3 Champ libre 3 string(255) lecture/écriture
field4 Champ libre 4 string(255) lecture/écriture
field5 Champ libre 5 string(255) lecture/écriture
created_at Créé le datetime(3) lecture seule
updated_at Modifié le datetime(3) lecture seule
soft_deleted Enregistrement marqué comme à supprimer boolean lecture seule
hard_delete_on Date définitive de la suppression date lecture seule
api_id API - Référence numérique libre bigint(20) lecture/écriture
api_custom API - Texte libre string(255) lecture/écriture

Champs utilisant des valeurs spécifiques

nature

1 : Vente
2 : BIC - Prestations de service commerciales ou artisanales
3 : BNC - Prestation non commerciale
9 : Non applicable