Stock et prix d'un produit
Le prix et le stock sont calculés pour vous dans chaque produit. Lisez un produit :
curl "https://votre-entreprise.evyooht.com/api/v1/products/463" \
-H "Authorization: Bearer evy_at_votre_jeton"$headers = @{ Authorization = "Bearer evy_at_votre_jeton" }
Invoke-RestMethod -Uri "https://votre-entreprise.evyooht.com/api/v1/products/463" -Headers $headersconst response = await fetch("https://votre-entreprise.evyooht.com/api/v1/products/463", {
headers: { Authorization: "Bearer evy_at_votre_jeton" },
});
const data = await response.json();
console.log(data);$ch = curl_init("https://votre-entreprise.evyooht.com/api/v1/products/463");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer evy_at_votre_jeton"],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);import requests
response = requests.get(
"https://votre-entreprise.evyooht.com/api/v1/products/463",
headers={"Authorization": "Bearer evy_at_votre_jeton"},
)
print(response.json())Réponse (raccourcie) :
{
"data": {
"id": 463,
"name": "Rouleau papier thermique 57x18m",
"quantity_total": 12.0,
"on_sales_order": 4.0,
"price": 125.0,
"second_unit_price": 250.0,
"price_lists": [
{ "price_list_id": 1, "price": 125.0, "second_unit_price": 250.0 },
{ "price_list_id": 2, "price": 118.0, "second_unit_price": 236.0 }
],
"stock": [
{ "store_id": 1, "quantity": 8.0, "on_sales_order": 3.0, "on_purchase_order": 0.0 },
{ "store_id": 2, "quantity": 4.0, "on_sales_order": 1.0, "on_purchase_order": 0.0 }
]
}
}Le stock#
| Champ | Sens |
|---|---|
stock | Le stock par succursale : une entrée par succursale où le produit est géré. |
stock[].quantity | La quantité en stock dans cette succursale. |
stock[].on_sales_order | La quantité réservée sur des commandes de vente en cours. |
stock[].on_purchase_order | La quantité attendue sur des bons de commande en cours. |
quantity_total | Le total, toutes succursales visibles. |
on_sales_order, on_purchase_order | Les mêmes totaux, toutes succursales visibles. |
Pour connaître le nom d'une succursale à partir de son store_id :
curl "https://votre-entreprise.evyooht.com/api/v1/stores" \
-H "Authorization: Bearer evy_at_votre_jeton"$headers = @{ Authorization = "Bearer evy_at_votre_jeton" }
Invoke-RestMethod -Uri "https://votre-entreprise.evyooht.com/api/v1/stores" -Headers $headersconst response = await fetch("https://votre-entreprise.evyooht.com/api/v1/stores", {
headers: { Authorization: "Bearer evy_at_votre_jeton" },
});
const data = await response.json();
console.log(data);$ch = curl_init("https://votre-entreprise.evyooht.com/api/v1/stores");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer evy_at_votre_jeton"],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);import requests
response = requests.get(
"https://votre-entreprise.evyooht.com/api/v1/stores",
headers={"Authorization": "Bearer evy_at_votre_jeton"},
)
print(response.json())Le prix#
Un produit a un prix de base et un prix par liste de prix (Détaillant, Distributeur…).
price: le prix de votre clé.second_unit_price: le prix de la seconde unité de vente, quand le produit s'en vend deux (par exemple à l'unité et à la caisse).price_lists: le prix dans chaque liste de prix. Il n'est renvoyé que si votre clé n'est pas limitée à une liste.
Une clé limitée à une liste de prix reçoit un seul price : celui de sa liste ; si le prix de la liste est à zéro, c'est le prix de base (comme dans Evyoo POS). Elle ne voit pas les autres listes, et la ressource price-lists se réduit à la sienne.
curl "https://votre-entreprise.evyooht.com/api/v1/price-lists" \
-H "Authorization: Bearer evy_at_votre_jeton"$headers = @{ Authorization = "Bearer evy_at_votre_jeton" }
Invoke-RestMethod -Uri "https://votre-entreprise.evyooht.com/api/v1/price-lists" -Headers $headersconst response = await fetch("https://votre-entreprise.evyooht.com/api/v1/price-lists", {
headers: { Authorization: "Bearer evy_at_votre_jeton" },
});
const data = await response.json();
console.log(data);$ch = curl_init("https://votre-entreprise.evyooht.com/api/v1/price-lists");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer evy_at_votre_jeton"],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);import requests
response = requests.get(
"https://votre-entreprise.evyooht.com/api/v1/price-lists",
headers={"Authorization": "Bearer evy_at_votre_jeton"},
)
print(response.json())Savoir si un produit est disponible#
L'API donne les faits (quantité par succursale, réservations). C'est à vous de décider ce que « disponible » veut dire pour votre cas : par exemple quantity > 0 dans la succursale qui vous concerne, ou quantity - on_sales_order > 0 si vous ne voulez pas vendre ce qui est déjà réservé.
Les coûts#
Les coûts du produit (cost, average_cost, order_cost) n'existent que si votre clé a la permission costs:read. Voir les notions.