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"
}
Liste des sessions de commande
GET /api/v1/product_order/
Liste les sessions de commande (paniers) avec possibilité de filtrage.
Filtres disponibles (query params) :
| Paramètre |
Type |
Description |
state |
string |
Filtre par état de la session |
external_id |
string |
Filtre par identifiant externe |
project_id |
string |
Filtre par identifiant de projet |
creation_date_gt |
datetime |
Sessions créées après cette date (ISO 8601) |
creation_date_lt |
datetime |
Sessions créées avant cette date (ISO 8601) |
order_date_gt |
datetime |
Sessions commandées après cette date (ISO 8601) |
order_date_lt |
datetime |
Sessions commandées avant cette date (ISO 8601) |
completion_date_gt |
datetime |
Sessions complétées après cette date (ISO 8601) |
completion_date_lt |
datetime |
Sessions complétées avant cette date (ISO 8601) |
cancellation_date_gt |
datetime |
Sessions annulées après cette date (ISO 8601) |
cancellation_date_lt |
datetime |
Sessions annulées avant cette date (ISO 8601) |
Réponse : Liste de sessions de commande (mêmes champs que la réponse de création).
Détail d'une session de commande
GET /api/v1/product_order/{id}/
Récupère les détails d'une session de commande, incluant toutes ses lignes de commande.
Paramètre URL :
| Nom |
Type |
Obligatoire |
Description |
id |
UUID |
✅ |
Identifiant de la session |
Réponse :
| Champ |
Type |
Description |
id |
UUID |
Identifiant unique de la session |
external_id |
string |
Identifiant externe |
project_id |
string |
Identifiant du projet associé |
product_order_item |
array |
Liste des lignes de commande associées |
Mise à jour d'une session de commande
PATCH /api/v1/product_order/{id}/
Met à jour les métadonnées d'une session de commande existante.
Paramètre URL :
| Nom |
Type |
Obligatoire |
Description |
id |
UUID |
✅ |
Identifiant de la session |
Corps de la requête :
| Champ |
Type |
Obligatoire |
Description |
external_id |
string |
❌ |
Identifiant externe pour la demande |
project_id |
string |
❌ |
Identifiant du projet associé |
Réponse : Détail de la session mise à jour (voir GET /product_order/{id}/).
Suppression d'une session de commande
DELETE /api/v1/product_order/{id}/
Supprime une session de commande et toutes ses lignes de commande associées.
Paramètre URL :
| Nom |
Type |
Obligatoire |
Description |
id |
UUID |
✅ |
Identifiant de la session |
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 |
| cpe_networking_number |
string |
Numéro de mise en réseau du CPE |
Non |
| cpe_serial_number |
string |
Numéro de série du CPE |
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",
"cpe_networking_number": "NET-123456",
"cpe_serial_number": "SN-123456"
}
| 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 (Déprécié, se reporter au champ order_reference) |
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 |
| cpe_networking_number |
string |
Numéro de mise en réseau du CPE |
Non |
| cpe_serial_number |
string |
Numéro de série du CPE |
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": "PO_DC173_20250423_003363",
"temporary_reference": "PO_DC173_20250423_003363",
"building_ref": "",
"offer_family": "BPE",
"offer_technology": "FIBDE",
"cpe_networking_number": "NET-123456",
"cpe_serial_number": "SR-123456"
}
| 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
Les champs suivants ne sont pas modifiables lorsque la commande provient d'un devis (voir onglet Cotations) : end_customer_name, product_offering_id, product_offering_qualification_item_id, customer_order_name, business_code
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 |
| cpe_networking_number |
string |
Numéro de mise en réseau du CPE |
Non |
| cpe_serial_number |
string |
Numéro de série du CPE |
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 |
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 (Déprécié, se reporter au champ order_reference) |
Non |
| building_ref |
string |
Référence de l'immeuble |
Non |
| cpe_networking_number |
string |
Numéro de mise en réseau du CPE |
Non |
| cpe_serial_number |
string |
Numéro de série du CPE |
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": "PO_DG541_20250404_000001",
"temporary_reference": "PO_DG541_20250404_000001",
"building_ref": "",
"cpe_network_number": "NET-123456",
"cpe_serial_number": "SR-123456"
}
| 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/v1/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": []
}
Liste des lignes de commande
GET /api/v1/product_order_item/
Liste les lignes de commande (tous paniers confondus) avec possibilité de filtrage avancé.
Filtres disponibles (query params) :
| Paramètre |
Type |
Description |
state |
string |
Filtre par état de la ligne |
order_reference |
string |
Filtre par référence de commande (X3) |
temporary_reference |
string |
Filtre par référence temporaire |
customer_order_name |
string |
Filtre par nom de commande client |
end_customer_name |
string |
Filtre par nom du client final |
creation_date_gt |
datetime |
Lignes créées après cette date (ISO 8601) |
creation_date_lt |
datetime |
Lignes créées avant cette date (ISO 8601) |
order_date_gt |
datetime |
Lignes commandées après cette date (ISO 8601) |
order_date_lt |
datetime |
Lignes commandées avant cette date (ISO 8601) |
expiration_date_gt |
datetime |
Lignes expirant après cette date (ISO 8601) |
expiration_date_lt |
datetime |
Lignes expirant avant cette date (ISO 8601) |
search |
string |
Recherche textuelle libre |
sort |
string |
Champ de tri |
Réponse : Liste paginée de lignes (ProductOrderItemListSchema).
| Champ |
Type |
Description |
id |
UUID |
Identifiant de la ligne |
product_order_id |
UUID |
Identifiant de la session parente |
end_customer_name |
string |
Nom du client final |
external_id |
string |
Identifiant externe |
product_offering_id |
string |
Identifiant de l'offre sélectionnée |
product_offering_qualification_item_id |
UUID |
Identifiant de l'élément d'éligibilité associé |
state |
string |
État courant de la ligne |
order_reference |
string |
Référence de commande (X3, renseignée après confirmation) |
temporary_reference |
string |
Référence temporaire (avant confirmation) |
customer_order_name |
string |
Nom de commande client |
creation_date |
datetime |
Date de création (ISO 8601) |
order_date |
datetime |
Date de passage en commande (ISO 8601) |
expiration_date |
string |
Date d'expiration du draft (J+90 de la création) |
scheduled_delivery_date |
date |
Date de livraison souhaitée |
Détail d'une ligne de commande
GET /api/v1/product_order_item/{item_id}/
Récupère le détail complet d'une ligne de commande.
Paramètre URL :
| Nom |
Type |
Obligatoire |
Description |
item_id |
UUID |
✅ |
Identifiant de la ligne |
Réponse : Objet ProductOrderItemSchema complet (tous les champs de création + champs en lecture seule : id, state, order_reference, temporary_reference, cancellation_date, cancellation_reason, completion_date, order_date, state_change, termination_error).
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.
Les champs cpe_networking_number et cpe_serial_number sont obligatoires si l'option 7021 est présente dans option_ids, sinon ils
doivent être vides.
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": "PO_DC173_20250423_003363",
"temporary_reference": "PO_DC173_20250423_003363",
"building_ref": "",
"cpe_networkin_number": "NET-123456",
"cpe_serial_number": "SR-123456"
}
]
}
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 (Déprécié, se reporter au champ order_reference) |
Non |
| building_ref |
string |
Référence de l'immeuble |
Non |
| cpe_networking_number |
string |
Numéro de mise en réseau du CPE |
Non |
| cpe_serial_number |
string |
Numéro de série du CPE |
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 |