Order tracking
Order lifecycle
The order lifecycle takes place in two phases:
- Order creation via the
/api/v1/product_order/ endpoint
- Order tracking via the
/api/v1/order/ endpoint
Phase 1: Order creation (/product_order)
During creation, the product_order_item goes through the following statuses:
flowchart LR
A[Creation] --> B(<i>acknowledged</i>)
B --> C(<i>in_progress</i>)
F -->|Success| D(<i>created</i>)
F -->|Failure| E(<i>rejected_creation</i>)
C --> F{<i>Processing</i>}
B --> G(<i>technical_error</i>)
| Status |
Description |
acknowledged |
Order received and acknowledged |
in_progress |
Processing in progress |
created |
Order successfully created |
rejected_creation |
Creation rejected |
technical_error |
Technical error during creation |
Phase 2: Order tracking (/order)
Once the order is created, it can be tracked via the /order endpoint with the following statuses:
flowchart LR
A[Order created] --> B(<i>confirmed</i>)
B --> C(<i>in_progress</i>)
C --> D{<a href='/en/api-suivi-commande/#production-steps'>Production</a>}
D -->|OK| E(<i>active</i>)
D -->|KO| F(<i>rejected</i>)
E --> G[Change \nrequest]
G --> H(<i>change_in_progress</i>)
H --> E
E --> I[Termination \nrequest]
I --> J(<i>terminate_in_progress</i>)
J --> K(<i>terminated</i>)
C --> L[Cancellation \nrequest]
L --> M(<i>cancelled</i>)
| Status |
Description |
confirmed |
Order confirmed |
in_progress |
Production in progress |
active |
Service active |
terminate_in_progress |
Termination in progress |
terminated |
Service terminated |
change_in_progress |
Service update in progress |
rejected |
Order rejected |
cancelled |
Order cancelled |
Production steps
These detailed production steps are available via the /api/v1/order/{order_reference}/historic/ endpoint and allow precise tracking of order progress.
flowchart TD
A[<i>production_manager_assigned</i> : Order assigned to a Production Manager] --> B(<i>optical_route_received</i> : Receiving the Optical Route)
B --> C(<i>technical_visit_planned</i> : Planned technical visit)
C --> D(<i>technical_visit_completed</i> : Technical inspection completed)
D --> E(<i>technical_visit_report_published</i> : Technical visit report published)
E --> F(<i>connexion_planned</i> : Connexion planned)
F --> G(<i>connexion_completed</i> : Connexion completed)
G --> H(<i>service_configured</i> : Service configured)
H --> I(<i>service_controlled</i> : Service controlled)
I --> J(<i>delivery_report_published</i> : Delivery report published)
J --> K[<i>intervention_report_published</i> : Intervention report published]
Retrieving a list of orders
GET /api/v1/order/
Response
| Name |
Type |
Description |
| modification_date |
string |
Order modification date |
| order_reference |
string |
Order reference |
| id |
string |
Order identifier |
| order_date |
string |
Order creation date |
| cancellation_date |
string |
Order cancellation date |
| cancellation_reason |
string |
Cancellation reason |
| completion_date |
string |
Order completion date |
| delivery_lead_time |
string |
Delivery lead time (in weeks) |
| state |
string |
Order's state |
| project_id |
string |
Identifier of the project associated with the order |
| offer_family |
string |
Offer family (BPE/BPEA) |
| offer_technology |
string |
Technology associated with the order |
| commitment |
number |
Commitment duration |
| site_client |
string |
Postal address of the customer site |
| site_client_2 |
string |
Postal address of the secondary customer site |
| end_customer_name |
string |
End customer name |
| end_customer_name_2 |
string |
Secondary End Customer Name |
| created_by |
string |
User who created the draft order |
Example
{
"modification_date": "2025-04-23T10:00:58Z",
"order_reference": "CMD_X_00009444",
"id": "PO_DC173_20250423_003366",
"order_date": "2025-04-23",
"cancellation_date": null,
"cancellation_reason": "",
"completion_date": null,
"delivery_lead_time": "1",
"state": "in_progress",
"project_id": "",
"offer_family": "BPE",
"offer_technology": "FIBDE",
"commitment": 12,
"site_client": "3 RUE ANDREI DIMITRI SAKHAROV 76130 MONT ST AIGNAN",
"site_client_2": "",
"end_customer_name": "king jouet",
"end_customer_name_2": "",
"created_by": "example@example.com"
}
Retrieving one order
GET /api/v1/order/{order_reference}/
Request Field Parameters
| Name |
Type |
Description |
Required |
| order_reference |
string |
Order's reference |
Yes |
Response
| Name |
Type |
Description |
| id |
string |
Order identifier |
| order_reference |
string |
Order's reference |
| external_id |
string |
External identifier for the request |
| order_date |
string |
Order creation date |
| cancellation_date |
string |
Order cancellation date |
| cancellation_reason |
string |
Cancellation reason |
| completion_date |
string |
Order completion date |
| note |
string |
Note associated to the order |
| technical_note |
string |
Technical note associated to the order |
| product_offering_id |
string |
Production offering identifier |
| product_offering_qualification_item_id |
string |
Product offering qualification item identifier |
| project_id |
string |
Identifier of the project associated with the order |
| quote_item_id |
string |
Quote item identifier |
| delivery_mode |
string |
Delivery mode |
| enni |
string |
ENNI identifier |
| enni2 |
string |
Seconday ENNI identifier |
| delivery_lead_time |
string |
Delivery lead time (in weeks) |
| delivery_lead_time_label |
string |
Delivery lead time label |
| vlan_reference |
number |
VLAN reference |
| customer_order_name |
string |
Customer's order name |
| securing |
number |
Securing identifier |
| securing_label |
string |
Securing label |
| service_reference |
string |
Service reference |
| minimum_commitment_duration |
number |
Minimum comitment duration |
| commitment_end_date |
string |
Comitment end date |
| notice_period |
number |
Notice period |
| estimated_delivery_date |
string |
Estimated delivery date |
| billing_site_ref |
string |
Billing Site reference |
| billing_site_name |
string |
Billing site name |
| billing_period |
string |
Billing period |
| state |
string |
Current state of the order |
| termination_error |
array |
Termination errors of the order |
| option_ids |
array |
List of options identifiers |
| product |
array |
Product details |
| related_contact_information |
array |
Related contact informations |
| technical_zone |
string |
Technical zone |
| bandwidth |
string |
Bandwidth |
| service_topology |
string |
Service's topology |
| building_ref |
string |
Building reference |
| manager_regional |
json |
Regional manager |
| manager_n1_regional |
json |
Regional Manager N+1 |
| manager_national |
json |
National manager |
| manager_n1_national |
json |
National Manager N+1 |
| strands_number |
number |
Number of strands FON |
| fon_security |
boolean |
FON security |
| technology |
string |
Technology associated with the order |
| total_amount_monthly |
number |
Monthly amount of the order |
| total_amount_annual |
number |
Annual amount of the order |
Example
{
"id": "PO_DC173_20250423_003366",
"order_reference": "CMD_X_00009444",
"external_id": "",
"order_date": "2025-04-23",
"cancellation_date": null,
"cancellation_reason": "",
"completion_date": null,
"note": "",
"technical_note": "",
"product_offering_id": "1679",
"product_offering_qualification_item_id": "",
"project_id": "",
"quote_item_id": "",
"delivery_mode": "N/A",
"enni": "",
"enni2": "",
"delivery_lead_time": "1",
"delivery_lead_time_label": "T0 + 1 week",
"vlan_reference": null,
"customer_order_name": "",
"securing": 1,
"securing_label": "Non sécurisé",
"service_reference": "FR048380",
"minimum_commitment_duration": 12,
"commitment_end_date": null,
"notice_period": 3,
"estimated_delivery_date": "2025-04-30",
"billing_site_ref": "AUX00",
"billing_site_name": "COVAGE INFRA",
"state": "in_progress",
"termination_error": [...],
"option_ids": [
"1615",
"1620",
"237"
],
"product": {...},
"related_contact_information": [...],
"technical_zone": "THD Zone 1",
"service_topology": "COLST",
"building_ref": "",
"manager_regional": {
"name": "Gregory DUPONT",
"email": "gregory.d@covage.com",
"phone": "612345678"
},
"manager_n1_regional": null,
"manager_national": null,
"manager_n1_national": null,
"strands_number": 1,
"fon_security": false,
"technology": "FON",
"total_amount_monthly": 440.0,
"total_amount_annual": 960.0
}
Termination errors details
| Name |
Type |
Description |
Required |
| code |
string |
Error code |
Yes |
| property_path |
string |
Path to the affected property |
Yes |
| value |
string |
Value associated to the error |
Yes |
| Name |
Type |
Description |
Required |
| end_customer_name |
string |
End customer's name |
Yes |
| siret |
string |
SIRET number |
Yes |
| contact1_email_address |
string |
Contact's email adress |
Yes |
| contact1_firstname |
string |
Contact's first name |
Yes |
| contact1_lastname |
string |
Contact's last name |
Yes |
| contact1_phone_number |
string |
Contact's phone number |
Yes |
| contact2_email_address |
string |
Seconday contact's email adress |
No |
| contact2_firstname |
string |
Seconday contact's first name |
No |
| contact2_lastname |
string |
Seconday contact's last name |
No |
| contact2_phone_number |
string |
Seconday contact's phone number |
No |
| city |
string |
City |
Yes |
| postcode |
string |
Post code |
Yes |
| street_name |
string |
Street's name |
Yes |
| street_number |
string |
Street number |
Yes |
| street_number_extension |
string |
Street number extension |
No |
| insee_code |
string |
INSEE Code |
Yes |
| building_name |
string |
Building Name |
No |
| level_number |
string |
Level number |
No |
| latitude |
number |
Adress' latitude |
Yes |
| longitude |
number |
Adress' longitude |
Yes |
Example
{
"related_contact_information": [{
"end_customer_name": "king jouet",
"siret": "",
"contact1_email_address": "toto@gmail.com",
"contact1_firstname": "toto",
"contact1_lastname": "toto",
"contact1_phone_number": "215488745",
"contact2_email_address": "",
"contact2_firstname": "",
"contact2_lastname": "",
"contact2_phone_number": "",
"city": "MONT ST AIGNAN",
"postcode": "76130",
"street_name": "3 RUE ANDREI DIMITRI SAKHAROV",
"street_number": "",
"street_number_extension": "",
"insee_code": "76451",
"building_name": "",
"level_number": "",
"latitude": 49.474174,
"longitude": 1.090847
}]
}
Product details
| Name |
Type |
Description |
| id |
string |
Product's identifier |
| name |
string |
Product's name |
| description |
string |
Product's description |
| bandwidth |
string |
Bandwidth |
| bandwidth_guarantee |
float |
Guaranteed Bandwidth |
| bandwidth_max |
float |
Maximum Bandwidth |
| commitment |
string |
Comitment duration |
| tarif_zone |
string |
Tarif zone |
| offer_family |
string |
Offer family (BPE/BPEA) |
| offer_technology |
string |
Offer technology |
| far |
number |
Far price |
| fas |
number |
Fas price |
| fad |
number |
Fad price |
| price |
number |
Product price |
| recurring |
boolean |
Product has recurring fees |
| options |
array |
Options list |
Example
"product": {
"id": "1679",
"name": "BPE 100M _Zone très dense_12 mois ",
"description": "BPE 100M _Zone très dense_12 mois ",
"bandwidth_guarantee": "G",
"commitment": "12MOIS",
"tarif_zone": "TRESDENSE",
"offer_family": "BPE",
"offer_technology": "FIBDE",
"far": 540.0,
"fas": 360.0,
"fad": 0.0,
"price": 145.0,
"recurring": true,
"options": [...]
},
Options details
| Name |
Type |
Description |
| name |
string |
Option's name |
| label |
string |
Option's label |
| type |
string |
Option type |
| option_id |
string |
Identifier |
| price |
number |
Price |
| recurring |
boolean |
Has recurring fees |
Example
"options": [
{
"name": "GTR 4H HO",
"label": "GTR 4H HO",
"type": "SERVI",
"option_id": "194",
"price": 0.0,
"recurring": true
},
{
"name": "Livraison locale",
"label": "Livraison locale",
"type": "SERVI",
"option_id": "2220",
"price": 0.0,
"recurring": true
},
]
Managers details
| Name |
Type |
Description |
| name |
string |
Last name and first name |
| email |
string |
Email adress |
| phone |
string |
Phone number |
Example
"manager_regional": {
"name": "Gregory DUPONT",
"email": "gregory.d@covage.com",
"phone": "612345678"
}
Retrieving the list of documents linked to an order
GET /api/v1/order/{order_reference}/documents/
Request Field Parameters
| Name |
Type |
Description |
Required |
| order_reference |
string |
Order's reference |
Yes |
Response
| Name |
Type |
Description |
| type |
string |
Document type |
| values |
array |
List of documents of that type |
Example
BDC = Bon De Commande
[
{
"type": "BDC",
"values": [
"CMD_X_00009444_1.pdf"
]
}
]
Retrieving one document linked to an order
GET /api/v1/order/{order_reference}/{filename}/download/
Request Field Parameters
| Name |
Type |
Description |
Required |
| order_reference |
string |
Order's reference |
Yes |
| filename |
string |
Document's name |
Yes |
Response
The file's content converted to binary.
Retrieving an order's history
GET /api/v1/order/{order_reference}/historic/
Request Field Parameters
| Name |
Type |
Description |
Required |
| order_reference |
string |
Order's reference |
Yes |
Response
Example
{
"results": [
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "acknowledged"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "held_adv_validation"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "production_in_progress"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "production_manager_assigned"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "optical_route_received"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "technical_visit_planned"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "technical_visit_completed"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "technical_visit_report_published"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "connexion_planned"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "connexion_completed"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "service_configured"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "service_controlled"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "delivery_report_published"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:10+02:00",
"state": "intervention_report_published"
},
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "active"
}
]
}
Order state details
| Name |
Type |
Description |
| change_reason |
string |
Reason for state change |
| change_date |
string |
State change date |
| state |
string |
New state |
Example
{
"change_reason": "",
"change_date": "2025-06-03T18:37:08+02:00",
"state": "production_in_progress"
}
Termination reasons list details
GET /api/v1/terminate_reason/
Response
| Name |
Type |
Description |
| terminate_reasons |
liste |
Motif de résiliation |
The termination reason must be sent during termination process to api/v1/order/{order_reference}/terminate/ endpoint.
Example
{
"terminate_reasons": [
"Cessation d'activité",
"Changement d'Operateur d'Infrastructure",
"Déménagement sans reprise de lien COVAGE",
"Déménagement avec reprise de lien COVAGE",
"Autres motifs, précisez en commentaire"
]
}
Order requests list
GET /api/v1/order_request/
Response
| Name |
Type |
Description |
| id |
string |
Object's identifier |
| creation_date |
string |
Creation date |
| modification_date |
string |
Modification date |
| order_reference |
string |
Order reference |
| action |
string |
Action requested |
| request_effective_date |
string |
Effective date |
| message |
string |
Message |
| reason |
string |
Reason for the request |
Request Field Parameters
| Name |
Type |
Description |
Required |
| order_reference |
string |
Order's reference |
No |
| action |
string |
Requested action |
None |
List requests (termination, updates...) made on POST /api/v1/order/{order_reference}/{action}/ endpoint.
Example
{
"id": "6964723b-c39b-4a19-b5d5-d4f4fde5c216",
"creation_date": "2025-05-22T09:40:56.384Z",
"modification_date": "2025-05-22T09:40:56.384Z",
"order_reference": "CMD_X_00005342",
"action": "Résiliation",
"request_effective_date": null,
"message": "",
"reason": "Cessation d'activité"
}
Exporting orders
The orders exporting process consists of three steps:
1. Starting the CSV export
POST /api/v1/order/export/csv/
Starts the export to the CSV format. This operation is limited to one request every 5 minutes per user.
Response
| Field |
Type |
Description |
| task_id |
string |
Export task's identifier |
Example
{
"task_id": "550e8400-e29b-41d4-a716-446655440000"
}
2. Checking statuses
GET /api/v1/order/export/{task_id}/status/
Allows you to check on the status of an export task.
Request Field Parameters
| Parameter |
Type |
Description |
| task_id |
string |
Export task's identifier |
Response
| Field |
Type |
Description |
| task_id |
string |
Export task's identifier |
| success |
boolean |
Task's state (null if still on-going) |
| started |
datetime |
Start date |
| stopped |
datetime |
End date |
The success field in the response can have three disctinct values:
| Valeur |
Description |
null |
The task is still on-going or hasn't started yet |
true |
Task completed, the file is available for download |
false |
Task failed |
Example
{
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"success": true,
"started": "2025-07-08T10:30:00Z",
"stopped": "2025-07-08T10:31:00Z"
}
3. Downloading the file
GET /api/v1/order/export/{task_id}/download/
Downloads the file once the export is complete.
Request Field Parameters
| Parameter |
Type |
Description |
| task_id |
string |
Export task's identifier |
Response
CSV file containing the exported data.
| Header |
Valeur |
| Content-Type |
text/csv |
Error details
| HTTP Code |
Description |
| 401 |
User lacks authentication |
| 403 |
Permission denied |
| 404 |
Task or file not found |
| 429 |
Too many requests (rate limit reached) |