Prise de commande
Fonctionnement
Cycle de vie d'une session de commande
Cycle de vie d'une ligne de commande
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"
}
Détail des Informations des contacts associés
| 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"
}
Détail des Informations des contacts associés
| 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 |
| 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"
}
Détail des Informations des contacts associés
| 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 (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"
}
Détail des informations des contacts associés
| 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 |
Détail des Informations des contacts associés
| 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 |
Cotation (Quote)
Le processus de cotation permet d'obtenir des devis pour des offres fibres avant de les convertir en commandes fermes.
Cycle de vie d'une cotation
| État | Description |
|---|---|
created |
Panier de cotation créé, en cours de complétion |
confirmed |
Cotation confirmée |
Création d'un panier de cotations
POST /api/v1/quote/
Crée un nouveau panier de cotations.
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 :
| Champ | Type | Description |
|---|---|---|
id |
UUID | Identifiant du panier de cotation |
external_id |
string | Identifiant externe |
project_id |
string | Identifiant du projet associé |
state |
string | État courant (created, confirmed) |
quote_date |
datetime | Date de cotation (ISO 8601) |
creation_date |
datetime | Date de création (ISO 8601) |
Liste des paniers de cotations
GET /api/v1/quote/
Liste ou filtre les paniers de cotations.
Filtres disponibles (query params) :
| Paramètre | Type | Description |
|---|---|---|
state |
string | Filtre par état |
external_id |
string | Filtre par identifiant externe |
project_id |
string | Filtre par identifiant de projet |
creation_date_gt |
datetime | Paniers créés après cette date (ISO 8601) |
creation_date_lt |
datetime | Paniers créés avant cette date (ISO 8601) |
quote_date_gt |
datetime | Paniers cotés après cette date (ISO 8601) |
quote_date_lt |
datetime | Paniers cotés avant cette date (ISO 8601) |
Réponse : Liste de paniers (mêmes champs que la réponse de création).
Détail d'un panier de cotations
GET /api/v1/quote/{id}/
Récupère les détails d'un panier de cotations, incluant toutes ses lignes.
Paramètre URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id |
UUID | ✅ | Identifiant du panier |
Réponse :
| Champ | Type | Description |
|---|---|---|
id |
UUID | Identifiant unique |
external_id |
string | Identifiant externe |
project_id |
string | Identifiant du projet associé |
state |
string | État courant |
quote_item |
array | Liste des lignes de cotation |
Mise à jour d'un panier de cotations
PATCH /api/v1/quote/{id}/
Met à jour les métadonnées d'un panier de cotations.
Paramètre URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id |
UUID | ✅ | Identifiant du panier |
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 du panier mis à jour.
Confirmation d'un panier de cotations
PATCH /api/v1/quote/{id}/confirm/
Confirme un panier de cotations. Aucun corps de requête requis.
Paramètre URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id |
UUID | ✅ | Identifiant du panier |
Réponse : 204 No Content
Ajout d'une ligne de cotation
POST /api/v1/quote/{quote_id}/quote_item/
Ajoute une ligne de cotation à un panier.
Paramètre URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
quote_id |
UUID | ✅ | Identifiant du panier |
Corps de la requête :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
product_offering_qualification_item_id |
UUID | ✅ | Identifiant de l'élément d'éligibilité associé |
product_offerings |
array | ❌ | Offres souhaitées (max 4 par ligne) |
end_customer_name |
string | ❌ | Nom du client final |
external_id |
string | ❌ | Identifiant externe |
site_connection_type |
string | ❌ | Type de raccordement du site |
business_sector |
string | ❌ | Secteur d'activité |
expected_response_date |
date | ❌ | Date de réponse souhaitée |
option_ids |
array | ❌ | Liste des options à ajouter |
note |
string | ❌ | Note libre |
technical_note |
string | ❌ | Note technique |
project_id |
string | ❌ | Identifiant du projet associé |
customer_order_name |
string | ❌ | Nom de commande client |
business_code |
string | ❌ | Code affaire |
related_contact_information |
array | ❌ | Contacts associés (max 2) |
Réponse :
| Champ | Type | Description |
|---|---|---|
id |
UUID | Identifiant de la ligne |
state |
string | État de la ligne de cotation |
reference |
string | Référence de la ligne |
quote_date |
datetime | Date de cotation (ISO 8601) |
Mise à jour d'une ligne de cotation
PATCH /api/v1/quote/{quote_id}/quote_item/{quote_item_id}/
Met à jour une ligne de cotation existante.
Paramètres URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
quote_id |
UUID | ✅ | Identifiant du panier |
quote_item_id |
UUID | ✅ | Identifiant de la ligne de cotation |
Corps de la requête : Mêmes champs que la création (tous optionnels).
Réponse : Détail du panier mis à jour.
Suppression d'une ligne de cotation
DELETE /api/v1/quote/{quote_id}/quote_item/{quote_item_id}/
Supprime une ligne de cotation d'un panier.
Paramètres URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
quote_id |
UUID | ✅ | Identifiant du panier |
quote_item_id |
UUID | ✅ | Identifiant de la ligne de cotation |
Réponse : Détail du panier mis à jour.
Liste des lignes de cotation
GET /api/v1/quote_item/
Liste ou filtre les lignes de cotation (tous paniers confondus).
Filtres disponibles (query params) :
| Paramètre | Type | Description |
|---|---|---|
reference |
string | Filtre par référence de ligne |
customer_order_name |
string | Filtre par nom commande client |
end_customer_name |
string | Filtre par nom client final |
business_sector |
string | Filtre par secteur d'activité |
project_id |
string | Filtre par identifiant de projet |
state |
string | Filtre par état |
offer_family |
string | Filtre par famille d'offre |
technology_family |
string | Filtre par famille technologique |
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) |
search |
string | Recherche textuelle libre |
sort |
string | Champ de tri |
Réponse : Liste paginée de lignes de cotation (QuoteItemListSchema).
| Champ | Type | Description |
|---|---|---|
id |
UUID | Identifiant de la ligne |
end_customer_name |
string | Nom du client final |
external_id |
string | Identifiant externe |
reference |
string | Référence de la ligne |
state |
string | État courant |
site_connection_type |
string | Type de raccordement |
business_sector |
string | Secteur d'activité |
product_offerings |
array | Offres demandées |
product_offering_qualification_item_id |
UUID | Identifiant de l'élément d'éligibilité associé |
address |
object | Adresse du site |
latitude |
float | Latitude du site |
longitude |
float | Longitude du site |
creation_date |
datetime | Date de création (ISO 8601) |
order_date |
datetime | Date de cotation (ISO 8601) |
expected_response_date |
date | Date de réponse souhaitée |
Détail d'une ligne de cotation
GET /api/v1/quote_item/{id}/
Récupère le détail complet d'une ligne de cotation.
Paramètre URL :
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id |
UUID | ✅ | Identifiant de la ligne de cotation |
Réponse : Objet QuoteItemSchema complet (tous les champs de la liste + note, technical_note, option_ids, business_code).