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 |
Oui (à la confirmation) |
| 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 |
| access_instructions |
string |
Consignes d'accès au site fournies par le client au moment de la prise de commande |
Non |
| scheduled_delivery_date |
date |
Date de livraison programmée |
Non |
Cas particulier du champ enni pour l'offre DIA
Le champ enni n'est pas à renseigner pour l'offre DIA: s'il est renseigné, il sera remplacé par la valeur calculée par notre système.
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",
"access_instructions": "Prendre la grande porte",
"scheduled_delivery_date": "2025-09-21"
}
| Nom |
Type |
Description |
Obligatoire |
| end_customer_name |
string |
Nom du client final |
Oui (à la confirmation) |
| siret |
string |
Numéro SIRET |
Non |
| contact1_email_address |
string |
Adresse e-mail du contact sur site |
Oui (à la confirmation) |
| contact1_firstname |
string |
Prénom du contact sur site |
Oui (à la confirmation) |
| contact1_lastname |
string |
Nom du contact sur site |
Oui (à la confirmation) |
| contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Oui (à la confirmation) |
| 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 (à la confirmation) |
| postcode |
string |
Code postal |
Oui (à la confirmation) |
| street_name |
string |
Nom de la rue |
Oui (à la confirmation) |
| street_number |
string |
Numéro de la rue |
Oui (à la confirmation) |
| street_number_extension |
string |
Extension du numéro de rue |
Non |
| insee_code |
string |
Code INSEE |
Oui (à la confirmation) |
| 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 |
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 |
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 |
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 |
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 |
Oui (à la confirmation) |
| siret_known |
boolean |
Siret à renseigner |
Non |
| additional_vlan_reference |
string |
Référence VLAN additionnel |
Non |
| specific_request |
string |
Requête spécifique |
Non |
| access_instructions |
string |
Consignes d'accès au site fournies par le client |
Non |
| scheduled_delivery_date |
date |
Date de livraison programmée |
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 |
Oui (à la confirmation) |
| siret |
string |
Numéro SIRET |
Non |
| contact1_email_address |
string |
Adresse e-mail du contact sur site |
Oui (à la confirmation) |
| contact1_firstname |
string |
Prénom du contact sur site |
Oui (à la confirmation) |
| contact1_lastname |
string |
Nom du contact sur site |
Oui (à la confirmation) |
| contact1_phone_number |
string |
Numéro de téléphone du contact sur site |
Oui (à la confirmation) |
| 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 |
Oui (à la confirmation) |
| city |
string |
Ville |
Oui (à la confirmation) |
| postcode |
string |
Code postal |
Oui (à la confirmation) |
| street_name |
string |
Nom de la rue |
Oui (à la confirmation) |
| street_number |
string |
Numéro de la rue |
Oui (à la confirmation) |
| street_number_extension |
string |
Extension du numéro de rue |
Non |
| insee_code |
string |
Code INSEE |
Oui (à la confirmation) |
| 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 |
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 |
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 |
Oui |
| 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 |
Oui |
| 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ée |
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) |