Prise de commande
Fonctionnement
sequenceDiagram
participant Client
participant Covage API
participant Covage Backend
Client ->> Covage API: Création d'une session de commande
Covage API -->> Client: Récupération de l'identifiant de la session de commande
Client ->> Covage API: Création d'une ligne de commande
Covage API -->> Client: Récupération de l'identifiant de la ligne de commande
Client ->> Covage API: Mise à jour de la ligne de commande
Covage API -->> Client: Confirmation de la mise à jour de la ligne de commande
Client ->> Covage API: Confirmation de la session de commande
Covage API -->> Client: Confirmation de la réception de la commande
Covage API ->> Covage Backend: Création de la commande
Covage Backend -->> Covage API: Confirmation de la commande
Cycle de vie d'une session de commande
flowchart LR
A[<a href='/api-prise-commande/#creation-dune-session-de-commande'>Création d'une \nsession de commande</a>] -->B(created)
B -->C[<a href='/api-prise-commande/#confirmation-de-la-session-de-commande'>Confirmation de la \nsession de commande</a>]
C -->D(in_progress)
D -->E{Toutes les lignes \nde commande \nsont créées ?}
E -->|oui| F[completed]
E -->G{Au moins une \nligne est créée ?}
G -->|oui| H[partial]
G -->|non| I[rejected]
Cycle de vie d'une ligne de commande
flowchart LR
A[<a href='/api-prise-commande/#creation-dune-ligne-de-commande'>Création d'une \nligne de commande</a>] -->B(created)
B -->C[<a href='/api-prise-commande/#confirmation-de-la-session-de-commande'>Confirmation de la \nligne de commande</a>]
C -->D(in_progress)
D -->E{La commande \nest créée ?}
E -->|oui| F[acknowledged\nheld_adv_validation\nin_progress]
style F text-align:left
E -->|non| G[rejected_creation]
Création d'une session de commande
Une fois la session de commande crééé, une ou plusieurs de lignes de commande peuvent être ajoutées
POST /api/v1/product_order/
Paramètres de la requête
Nom |
Type |
Description |
Obligatoire |
external_id |
string |
Identifiant externe pour la demande |
Non |
project_id |
string |
Identifiant du projet associé |
Non |
Exemple
{
"external_id": "12345",
"project_id": ""
}
Réponse
Nom |
Type |
Description |
Obligatoire |
external_id |
string |
Identifiant externe pour la demande |
Non |
project_id |
string |
Identifiant du projet associé |
Non |
id |
string |
Identifiant de la commande |
Oui |
creation_date |
string |
Date de création de la commande |
Oui |
cancellation_date |
string |
Date d'annulation de la commande |
Non |
completion_date |
string |
Date de complétion de la commande |
Non |
order_date |
string |
Date de la commande |
Oui |
state |
string |
État actuel de la commande |
Oui |
Exemple
{
"external_id": "12345",
"project_id": "",
"id": "0b10ba8a-3c31-44ba-a758-d178ec0bb166",
"creation_date": "2025-04-10T12:11:57.548+02:00",
"cancellation_date": null,
"completion_date": null,
"order_date": null,
"state": "created"
}
Création d'une ligne de commande
Certains champs facultatifs lors de la création d'une ligne de commande deviennent obligatoires lors de la confirmation de la session de commande.
Il convient alors de les renseigner au préalable via la mise à jour de la ligne de commande.
POST /api/v1/product_order/{id}/product_order_item/
Paramètres de la requête
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Non |
external_id |
string |
Identifiant externe pour la demande |
Non |
option_ids |
array |
Liste des identifiants d'options |
Non |
note |
string |
Note associée à la commande |
Non |
technical_note |
string |
Note technique associée à la commande |
Non |
product_offering_id |
string |
Identifiant de l'offre de produit |
Oui |
product_offering_qualification_item_id |
string |
Identifiant de l'élément de qualification de l'offre de produit |
Oui |
project_id |
string |
Identifiant du projet associé |
Non |
quote_item_id |
string |
Identifiant de l'élément de devis |
Non |
delivery_mode |
string |
Mode de livraison |
Non |
enni |
string |
Identifiant ENNI |
Oui (à la confirmation) |
enni_2 |
string |
Identifiant ENNI secondaire |
Non |
vlan_reference |
number |
Référence VLAN |
Non |
customer_order_name |
string |
Nom de la commande client |
Non |
business_code |
string |
Code d'affaires |
Non |
billing_site_ref |
string |
Référence facturation |
Non |
related_contact_information |
array |
Informations des contacts associés |
Non |
siret_known |
boolean |
Siret à renseigner |
Non |
additional_vlan_reference |
string |
Référence VLAN additionnel |
Non |
offer_family |
string |
Famille de l'offre |
Non |
offer_technology |
string |
Technologie de l'offre |
Non |
specific_request |
string |
Requête spécifique |
Non |
Exemple
{
"end_customer_name": "Covage",
"external_id": "6789",
"option_ids": [...],
"note": "",
"technical_note": "",
"product_offering_id": "2173",
"product_offering_qualification_item_id":"{eligibility_id}",
"project_id": "",
"quote_item_id": "{quote_id}",
"delivery_mode": "",
"enni": "AZ001234",
"enni2": "",
"vlan_reference": "1257",
"customer_order_name": "john Doe",
"business_code": "AB123",
"billing_site_ref": "AUX99",
"related_contact_information": [...],
"siret_known": true,
"additional_vlan_reference": "1258",
"offer_family": "BPE",
"offer_technology": "FIBDE",
"specific_request": "Demande de raccordement spécifique"
}
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Oui |
siret |
string |
Numéro SIRET |
Oui |
contact1_email_address |
string |
Adresse e-mail du contact sur site |
Oui |
contact1_firstname |
string |
Prénom du contact sur site |
Oui |
contact1_lastname |
string |
Nom du contact sur site |
Oui |
contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Oui |
contact2_email_address |
string |
Adresse e-mail du contact secondaire |
Non |
contact2_firstname |
string |
Prénom du contact secondaire |
Non |
contact2_lastname |
string |
Nom du contact secondaire |
Non |
contact2_phone_number |
string |
Numéro de téléphone du contact secondaire |
Non |
city |
string |
Ville |
Oui |
postcode |
string |
Code postal |
Oui |
street_name |
string |
Nom de la rue |
Oui |
street_number |
string |
Numéro de la rue |
Oui |
street_number_extension |
string |
Extension du numéro de rue |
Non |
insee_code |
string |
Code INSEE |
Oui |
building_name |
string |
Nom du bâtiment |
Non |
level_number |
string |
Numéro d'étage |
Non |
latitude |
number |
Latitude de l'adresse |
Oui |
longitude |
number |
Longitude de l'adresse |
Oui |
Exemple
"related_contact_information": [
{
"end_customer_name": "Covage corp",
"siret": "00000000000000",
"contact1_email_address": "John.Doe@unknown.com",
"contact1_firstname": "John",
"contact1_lastname": "Doe",
"contact1_phone_number": "0123456789",
"contact2_email_address": "Jane.Doe@unknown.com",
"contact2_firstname": "Jane",
"contact2_lastname": "Doe",
"contact2_phone_number": "0987654321",
"city": "Mont-Saint-Aignan",
"postcode": "76130",
"street_name": "Rue Andrei Sakharov",
"street_number": "4",
"street_number_extension": "B",
"insee_code": "76451",
"building_name": "",
"level_number": "0",
"latitude": 49.4744077,
"longitude": 1.091455
}]
Réponse
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Non |
external_id |
string |
Identifiant externe pour la demande |
Non |
option_ids |
array |
Liste des identifiants d'options |
Non |
note |
string |
Note associée à la commande |
Non |
technical_note |
string |
Note technique associée à la commande |
Non |
product_offering_id |
string |
Identifiant de l'offre de produit |
Oui |
product_offering_qualification_item_id |
string |
Identifiant de l'élément de qualification de l'offre de produit |
Oui |
project_id |
string |
Identifiant du projet associé |
Non |
quote_item_id |
string |
Identifiant de l'élément de devis |
Non |
delivery_mode |
string |
Mode de livraison |
Non |
enni |
string |
Identifiant ENNI |
Non |
enni_2 |
string |
Identifiant ENNI secondaire |
Non |
vlan_reference |
number |
Référence VLAN |
Non |
business_code |
string |
code affaire |
Non |
customer_order_name |
string |
Nom de la commande client |
Non |
billing_site_ref |
string |
Référence du site de facturation |
Non |
related_contact_information |
array |
Informations des contacts associés |
Non |
id |
string |
Identifiant de la commande |
Oui |
cancellation_date |
string |
Date d'annulation de la commande |
Non |
cancellation_reason |
string |
Raison de l'annulation |
Non |
completion_date |
string |
Date de complétion de la commande |
Non |
order_date |
string |
Date de la commande |
Non |
state |
string |
État actuel de la commande |
Oui |
state_change |
array |
Historique des changements d'état |
Non |
termination_error |
array |
Erreurs de terminaison associées |
Non |
order_reference |
string |
Référence de la commande |
Non |
temporary_reference |
string |
Référence temporaire de la commande |
Non |
building_ref |
string |
Référence de l'immeuble |
Non |
offer_family |
string |
Famille de l'offre |
Non |
offer_technology |
string |
Technologie de l'offre |
Non |
Exemple
{
"end_customer_name": "Covage",
"external_id": "",
"option_ids": [],
"note": "",
"technical_note": "",
"product_offering_id": "2173",
"product_offering_qualification_item_id": "d5a4a9aa-ba2c-4f53-95c7-0c1ce6f6e7fa",
"project_id": "",
"quote_item_id": "",
"delivery_mode": "",
"enni": "",
"enni2": "",
"vlan_reference": 1257,
"customer_order_name": "john Doe",
"business_code": "",
"billing_site_ref": "AUX00",
"related_contact_information": [
{
"end_customer_name": "Covage corp",
"siret": "00000000000000",
"contact1_email_address": "John.Doe@unknown.com",
"contact1_firstname": "John",
"contact1_lastname": "Doe",
"contact1_phone_number": "0123456789",
"contact2_email_address": "Jane.Doe@unknown.com",
"contact2_firstname": "Jane",
"contact2_lastname": "Doe",
"contact2_phone_number": "0987654321",
"city": "Mont-Saint-Aignan",
"postcode": "76130",
"street_name": "Rue Andrei Sakharov",
"street_number": "4",
"street_number_extension": "B",
"insee_code": "76451",
"building_name": "",
"level_number": "0",
"latitude": 49.4744077,
"longitude": 1.091455
}
],
"id": "259a1c5b-8462-4c5e-90d0-90d135763378",
"product_order_id": "908d2cc0-4bdc-4f62-b812-f8c1f48c96cd",
"cancellation_date": null,
"cancellation_reason": "",
"completion_date": null,
"order_date": null,
"state": "created",
"state_change": [
{
"change_reason": "",
"change_date": "2025-04-23T10:13:08.733+02:00",
"state": "created"
}
],
"termination_error": [],
"order_reference": "",
"temporary_reference": "PO_DC173_20250423_003363",
"building_ref": "",
"offer_family": "BPE",
"offer_technology": "FIBDE"
}
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Oui |
siret |
string |
Numéro SIRET |
Oui |
contact1_email_address |
string |
Adresse e-mail du contact sur site |
Oui |
contact1_firstname |
string |
Prénom du contact sur site |
Oui |
contact1_lastname |
string |
Nom du contact sur site |
Oui |
contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Oui |
contact2_email_address |
string |
Adresse e-mail du contact secondaire |
Non |
contact2_firstname |
string |
Prénom du contact secondaire |
Non |
contact2_lastname |
string |
Nom du contact secondaire |
Non |
contact2_phone_number |
string |
Numéro de téléphone du contact secondaire |
Non |
city |
string |
Ville |
Oui |
postcode |
string |
Code postal |
Oui |
street_name |
string |
Nom de la rue |
Oui |
street_number |
string |
Numéro de la rue |
Oui |
street_number_extension |
string |
Extension du numéro de rue |
Non |
insee_code |
string |
Code INSEE |
Oui |
building_name |
string |
Nom du bâtiment |
Non |
level_number |
string |
Numéro d'étage |
Non |
latitude |
number |
Latitude de l'adresse |
Oui |
longitude |
number |
Longitude de l'adresse |
Oui |
Détail des changements d'état
Nom |
Type |
Description |
Obligatoire |
change_reason |
string |
Raison du changement d'état |
Oui |
change_date |
string |
Date du changement d'état |
Oui |
state |
string |
Nouvel état |
Oui |
Détail des erreurs de terminaison
Nom |
Type |
Description |
Obligatoire |
code |
string |
Code de l'erreur |
Oui |
property_path |
string |
Chemin de la propriété concernée |
Oui |
value |
string |
Valeur associée à l'erreur |
Oui |
Exemple
"termination_error": [
{
"code":"string",
"property_path":"string",
"value":"string"
}
]
Mise à jour de la ligne de commande
PATCH /api/v1/product_order/{id}/product_order_item/{item_id}/
Paramètres de la requête
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Non |
external_id |
string |
Identifiant externe pour la demande |
Non |
option_ids |
array |
Liste des identifiants d'options |
Non |
note |
string |
Note associée à la commande |
Non |
technical_note |
string |
Note technique associée à la commande |
Non |
product_offering_id |
string |
Identifiant de l'offre de produit |
Non |
product_offering_qualification_item_id |
string |
Identifiant de l'élément de qualification de l'offre de produit |
Non |
project_id |
string |
Identifiant du projet associé |
Non |
quote_item_id |
string |
Identifiant de l'élément de devis |
Non |
delivery_mode |
string |
Mode de livraison |
Non |
enni |
string |
Identifiant ENNI |
Non |
enni_2 |
string |
Identifiant ENNI secondaire |
Non |
vlan_reference |
number |
Référence VLAN |
Non |
customer_order_name |
string |
Nom de la commande client |
Non |
business_code |
string |
Code d'affaires |
Non |
related_contact_information |
array |
Informations des contacts associés |
Non |
siret_known |
boolean |
Siret à renseigner |
Non |
specific_request |
string |
Requête spécifique |
Non |
Exemple
{
"product_offering_id": "b99fce70-d195-41ed-b029-9b75c62ecd7c",
"product_offering_qualification_item_id": "1b83a456-89a2-456e-9b78-a578c39b0474",
"end_customer_name": "Covage corp edited",
"external_id": "99999",
"option_ids": [],
"note": "you can add any information here",
"technical_note": "you can add any technical information here",
"project_id": "56789",
"quote_item_id": "c0b5c9ab-c206-4858-8957-3befa6cbe58a",
"delivery_mode": "string",
"enni": "string",
"enni2": "string",
"vlan_reference": "1234",
"customer_order_name": "John Doe",
"business_code": "FLASH",
"related_contact_information": [...],
"siret_known": true,
"specific_request": "Demande de raccordement spécifique"
}
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Non |
siret |
string |
Numéro SIRET |
Non |
contact1_email_address |
string |
Adresse e-mail du contact sur site |
Non |
contact1_firstname |
string |
Prénom du contact sur site |
Non |
contact1_lastname |
string |
Nom du contact sur site |
Non |
contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Non |
contact2_email_address |
string |
Adresse e-mail du contact secondaire |
Non |
contact2_firstname |
string |
Prénom du contact secondaire |
Non |
contact2_lastname |
string |
Nom du contact secondaire |
Non |
contact2_phone_number |
string |
Numéro de téléphone du contact secondaire |
Non |
city |
string |
Ville |
Non |
postcode |
string |
Code postal |
Non |
street_name |
string |
Nom de la rue |
Non |
street_number |
string |
Numéro de la rue |
Non |
street_number_extension |
string |
Extension du numéro de rue |
Non |
insee_code |
string |
Code INSEE |
Non |
building_name |
string |
Nom du bâtiment |
Non |
level_number |
string |
Numéro d'étage |
Non |
latitude |
number |
Latitude de l'adresse |
Non |
longitude |
number |
Longitude de l'adresse |
Non |
Réponse
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Non |
external_id |
string |
Identifiant externe pour la demande |
Non |
option_ids |
array |
Liste des identifiants d'options |
Non |
note |
string |
Note associée à la commande |
Non |
technical_note |
string |
Note technique associée à la commande |
Non |
product_offering_id |
string |
Identifiant de l'offre de produit |
Oui |
product_offering_qualification_item_id |
string |
Identifiant de l'élément de qualification de l'offre de produit |
Oui |
project_id |
string |
Identifiant du projet associé |
Non |
quote_item_id |
string |
Identifiant de l'élément de devis |
Non |
delivery_mode |
string |
Mode de livraison |
Non |
enni |
string |
Identifiant ENNI |
Non |
enni_2 |
string |
Identifiant ENNI secondaire |
Non |
vlan_reference |
number |
Référence VLAN |
Non |
customer_order_name |
string |
Nom de la commande client |
Non |
business_code |
string |
Code d'affaires |
Non |
related_contact_information |
array |
Informations des contacts associés |
Non |
id |
string |
Identifiant de la commande |
Oui |
cancellation_date |
string |
Date d'annulation de la commande |
Non |
cancellation_reason |
string |
Raison de l'annulation |
Non |
completion_date |
string |
Date de complétion de la commande |
Non |
order_date |
string |
Date de la commande |
Non |
state |
string |
État actuel de la commande |
Oui |
state_change |
array |
Historique des changements d'état |
Non |
termination_error |
array |
Erreurs de terminaison associées |
Non |
order_reference |
string |
Référence de la commande |
Non |
temporary_reference |
string |
Référence temporaire de la commande |
Non |
building_ref |
string |
Référence de l'immeuble |
Non |
Exemple
{
"end_customer_name": "Covage",
"external_id": "",
"option_ids": [],
"note": "",
"technical_note": "",
"product_offering_id": "2173",
"product_offering_qualification_item_id": "1b83a456-89a2-456e-9b78-a578c39b0474",
"project_id": "",
"quote_item_id": "",
"delivery_mode": "",
"enni": "",
"enni2": "",
"vlan_reference": 1257,
"customer_order_name": "john Doe",
"business_code": "",
"billing_site_ref": "",
"related_contact_information": [...],
"id": "764a778c-4b16-4502-8377-e817b93d5b08",
"product_order_id": "2144c9f2-6ac1-49fd-8a7d-905def231857",
"cancellation_date": null,
"cancellation_reason": "",
"completion_date": null,
"order_date": null,
"state": "created",
"state_change": [...],
"termination_error": [],
"order_reference": "",
"temporary_reference": "PO_DG541_20250404_000001",
"building_ref": "",
}
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Oui |
siret |
string |
Numéro SIRET |
Oui |
contact1_email_address |
string |
Adresse e-mail du contact sur site |
Oui |
contact1_firstname |
string |
Prénom du contact sur site |
Oui |
contact1_lastname |
string |
Nom du contact sur site |
Oui |
contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Oui |
contact2_email_address |
string |
Adresse e-mail du contact secondaire |
Non |
contact2_firstname |
string |
Prénom du contact secondaire |
Non |
contact2_lastname |
string |
Nom du contact secondaire |
Non |
contact2_phone_number |
string |
Numéro de téléphone du contact secondaire |
Non |
city |
string |
Ville |
Oui |
postcode |
string |
Code postal |
Oui |
street_name |
string |
Nom de la rue |
Oui |
street_number |
string |
Numéro de la rue |
Oui |
street_number_extension |
string |
Extension du numéro de rue |
Non |
insee_code |
string |
Code INSEE |
Oui |
building_name |
string |
Nom du bâtiment |
Non |
level_number |
string |
Numéro d'étage |
Non |
latitude |
number |
Latitude de l'adresse |
Oui |
longitude |
number |
Longitude de l'adresse |
Oui |
Exemple
{
"end_customer_name": "Covage corp",
"siret": "00000000000000",
"contact1_email_address": "John.Doe@unknown.com",
"contact1_firstname": "John",
"contact1_lastname": "Doe",
"contact1_phone_number": "0123456789",
"contact2_email_address": "Jane.Doe@unknown.com",
"contact2_firstname": "Jane",
"contact2_lastname": "Doe",
"contact2_phone_number": "0987654321",
"city": "Mont-Saint-Aignan",
"postcode": "76130",
"street_name": "Rue Andrei Sakharov",
"street_number": "4",
"street_number_extension": "B",
"insee_code": "76451",
"building_name": "",
"level_number": "0",
"latitude": 49.4744077,
"longitude": 1.091455
}
Détail des changements d'état
Nom |
Type |
Description |
Obligatoire |
change_reason |
string |
Raison du changement d'état |
Oui |
change_date |
string |
Date du changement d'état |
Oui |
state |
string |
Nouvel état |
Oui |
Exemple
{
"change_reason": "",
"change_date": "2025-04-04T11:30:47.475+02:00",
"state": "created"
}
Détail des erreurs de terminaison
Nom |
Type |
Description |
Obligatoire |
code |
string |
Code de l'erreur |
Oui |
property_path |
string |
Chemin de la propriété concernée |
Oui |
value |
string |
Valeur associée à l'erreur |
Oui |
Suppression d'une ligne de commande
Ce endpoint permet de supprimer une ligne de commande dans la session de commande.
DELETE /api/product_order/{product_order_id}/product_order_item/{item_id}/
Paramètres
Nom |
Type |
Description |
Obligatoire |
product_order_id |
string |
Identifiant de la session de commande |
Oui |
item_id |
string |
Identifiant de l'élément de qualification de l'offre de produit |
Oui |
Réponse
Nom |
Type |
Description |
Obligatoire |
external_id |
string |
Identifiant externe pour la demande |
Non |
project_id |
string |
Identifiant du projet associé |
Non |
id |
string |
Identifiant de la commande |
Oui |
product_order_item |
array |
Liste des éléments de commande |
Oui |
Exemple
{
"external_id": "444555666777",
"project_id": "",
"id": "f12c54b3-881b-48e0-9c96-fea9b2597967",
"product_order_item": []
}
Confirmation de la session de commande
La confirmation de la session entraîne la création de commandes à partir des lignes de commandes contenues dans la session.
Il est alors possible de suivre l'état d'avancement de ces commandes nouvellement créées (hormis les commandes au statut 'rejected_creation') via l'API de Suivi de Commande.
PATCH /api/v1/product_order/{id}/confirm/
Réponse
Nom |
Type |
Description |
Obligatoire |
external_id |
string |
Identifiant externe pour la demande |
Non |
project_id |
string |
Identifiant du projet associé |
Non |
id |
string |
Identifiant de la commande |
Oui |
product_order_item |
array |
Liste des éléments de commande |
Oui |
Exemple
{
"external_id": "777888999",
"project_id": "",
"id": "908d2cc0-4bdc-4f62-b812-f8c1f48c96cd",
"product_order_item": [
{
"end_customer_name": "Covage",
"external_id": "",
"option_ids": [
"2210",
"2220",
"1615"
],
"note": "",
"technical_note": "",
"product_offering_id": "2173",
"product_offering_qualification_item_id": "d5a4a9aa-ba2c-4f53-95c7-0c1ce6f6e7fa",
"project_id": "",
"quote_item_id": "",
"delivery_mode": "",
"enni": "",
"enni2": "",
"vlan_reference": 1257,
"customer_order_name": "john Doe",
"business_code": "",
"billing_site_ref": "AUX00",
"related_contact_information": [
{
"end_customer_name": "Covage corp",
"siret": "00000000000000",
"contact1_email_address": "John.Doe@unknown.com",
"contact1_firstname": "John",
"contact1_lastname": "Doe",
"contact1_phone_number": "0123456789",
"contact2_email_address": "Jane.Doe@unknown.com",
"contact2_firstname": "Jane",
"contact2_lastname": "Doe",
"contact2_phone_number": "0987654321",
"city": "Mont-Saint-Aignan",
"postcode": "76130",
"street_name": "Rue Andrei Sakharov",
"street_number": "4",
"street_number_extension": "B",
"insee_code": "76451",
"building_name": "",
"level_number": "0",
"latitude": 49.4744077,
"longitude": 1.091455
}
],
"id": "259a1c5b-8462-4c5e-90d0-90d135763378",
"product_order_id": "908d2cc0-4bdc-4f62-b812-f8c1f48c96cd",
"cancellation_date": null,
"cancellation_reason": "",
"completion_date": null,
"order_date": null,
"state": "in_progress",
"state_change": [
{
"change_reason": "",
"change_date": "2025-04-23T10:13:08.733+02:00",
"state": "created"
},
{
"change_reason": "",
"change_date": "2025-04-23T10:24:57.225+02:00",
"state": "in_progress"
}
],
"termination_error": [],
"order_reference": "",
"temporary_reference": "PO_DC173_20250423_003363",
"building_ref": ""
}
]
}
Détail des éléments de commande
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Non |
external_id |
string |
Identifiant externe pour la demande |
Non |
option_ids |
array |
Liste des identifiants d'options |
Non |
note |
string |
Note associée à la commande |
Non |
technical_note |
string |
Note technique associée à la commande |
Non |
product_offering_id |
string |
Identifiant de l'offre de produit |
Oui |
product_offering_qualification_item_id |
string |
Identifiant de l'élément de qualification de l'offre de produit |
Oui |
project_id |
string |
Identifiant du projet associé |
Non |
quote_item_id |
string |
Identifiant de l'élément de devis |
Non |
delivery_mode |
string |
Mode de livraison |
Non |
enni |
string |
Identifiant ENNI |
Non |
enni_2 |
string |
Identifiant ENNI secondaire |
Non |
vlan_reference |
number |
Référence VLAN |
Non |
customer_order_name |
string |
Nom de la commande client |
Non |
business_code |
string |
Code d'affaires |
Non |
related_contact_information |
array |
Informations des contacts associés |
Non |
id |
string |
Identifiant de la commande |
Oui |
cancellation_date |
string |
Date d'annulation de la commande |
Non |
cancellation_reason |
string |
Raison de l'annulation |
Non |
completion_date |
string |
Date de complétion de la commande |
Non |
order_date |
string |
Date de la commande |
Non |
state |
string |
État actuel de la commande |
Oui |
state_change |
array |
Historique des changements d'état |
Non |
termination_error |
array |
Erreurs de terminaison associées |
Non |
order_reference |
string |
Référence de la commande |
Non |
temporary_reference |
string |
Référence temporaire de la commande |
Non |
building_ref |
string |
Référence de l'immeuble |
Non |
Nom |
Type |
Description |
Obligatoire |
end_customer_name |
string |
Nom du client final |
Oui |
siret |
string |
Numéro SIRET |
Oui |
contact1_email_address |
string |
Adresse e-mail du contact sur site |
Oui |
contact1_firstname |
string |
Prénom du contact sur site |
Oui |
contact1_lastname |
string |
Nom du contact sur site |
Oui |
contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Oui |
contact2_email_address |
string |
Adresse e-mail du contact secondaire |
Non |
contact2_firstname |
string |
Prénom du contact secondaire |
Non |
contact2_lastname |
string |
Nom du contact secondaire |
Non |
contact2_phone_number |
string |
Numéro de téléphone du contact secondaire |
Non |
city |
string |
Ville |
Oui |
postcode |
string |
Code postal |
Oui |
street_name |
string |
Nom de la rue |
Oui |
street_number |
string |
Numéro de la rue |
Oui |
street_number_extension |
string |
Extension du numéro de rue |
Non |
insee_code |
string |
Code INSEE |
Oui |
building_name |
string |
Nom du bâtiment |
Non |
level_number |
string |
Numéro d'étage |
Non |
latitude |
number |
Latitude de l'adresse |
Oui |
longitude |
number |
Longitude de l'adresse |
Oui |
Détail des changements d'état
Nom |
Type |
Description |
Obligatoire |
change_reason |
string |
Raison du changement d'état |
Oui |
change_date |
string |
Date du changement d'état |
Oui |
state |
string |
Nouvel état |
Oui |
Détail des erreurs de terminaison
Nom |
Type |
Description |
Obligatoire |
code |
string |
Code de l'erreur |
Oui |
property_path |
string |
Chemin de la propriété concernée |
Oui |
value |
string |
Valeur associée à l'erreur |
Oui |
Export des drafts de commande
Le processus d'export des drafts de commande se déroule en trois étapes :
1. Lancement de l'export CSV
POST /api/v1/product_order/export/csv/
Lance l'export des drafts de commande au format CSV. Cette opération est limitée à une requête toutes les 5 minutes par utilisateur.
Réponse
Champ |
Type |
Description |
task_id |
string |
Identifiant de la tâche d'export |
Exemple de réponse
{
"task_id": "550e8400-e29b-41d4-a716-446655440000"
}
2. Vérification du statut
GET /api/v1/product_order/export/{task_id}/status/
Permet de suivre l'état d'avancement de l'export.
Paramètres URL
Paramètre |
Type |
Description |
task_id |
string |
Identifiant de la tâche d'export |
Réponse
Champ |
Type |
Description |
task_id |
string |
Identifiant de la tâche |
success |
boolean |
État de la tâche (null si en cours) |
started |
datetime |
Date de début |
stopped |
datetime |
Date de fin |
Le champ success
dans la réponse du statut d'export peut avoir trois états possibles :
Valeur |
Description |
null |
La tâche est toujours en cours d'exécution ou n'a pas encore démarré |
true |
La tâche s'est terminée avec succès, le fichier CSV est prêt |
false |
La tâche s'est terminée en échec |
Exemple de réponse
{
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"success": true,
"started": "2025-07-08T10:30:00Z",
"stopped": "2025-07-08T10:31:00Z"
}
3. Téléchargement du fichier
GET /api/v1/product_order/export/{task_id}/download/
Télécharge le fichier CSV généré une fois l'export terminé.
Paramètres URL
Paramètre |
Type |
Description |
task_id |
string |
Identifiant de la tâche d'export |
Réponse
Fichier CSV contenant les données exportées.
En-têtes de réponse
En-tête |
Valeur |
Content-Type |
text/csv |
Gestion des erreurs
Code HTTP |
Description |
401 |
Utilisateur non authentifié |
403 |
Permission refusée |
404 |
Tâche ou fichier non trouvé |
429 |
Trop de requêtes (limitation de débit atteinte) |