Aller au contenu

Prise de commande

Fonctionnement

sequenceDiagram participant Client participant Covage API participant Covage Backend Client ->> Covage API: Création d'une session de commande Covage API -->> Client: Récupération de l'identifiant de la session de commande Client ->> Covage API: Création d'une ligne de commande Covage API -->> Client: Récupération de l'identifiant de la ligne de commande Client ->> Covage API: Mise à jour de la ligne de commande Covage API -->> Client: Confirmation de la mise à jour de la ligne de commande Client ->> Covage API: Confirmation de la session de commande Covage API -->> Client: Confirmation de la réception de la commande Covage API ->> Covage Backend: Création de la commande Covage Backend -->> Covage API: Confirmation de la commande

Cycle de vie d'une session de commande

flowchart LR A[<a href='/api-prise-commande/#creation-dune-session-de-commande'>Création d'une \nsession de commande</a>] -->B(created) B -->C[<a href='/api-prise-commande/#confirmation-de-la-session-de-commande'>Confirmation de la \nsession de commande</a>] C -->D(in_progress) D -->E{Toutes les lignes \nde commande \nsont créées ?} E -->|oui| F[completed] E -->G{Au moins une \nligne est créée ?} G -->|oui| H[partial] G -->|non| I[rejected]

Cycle de vie d'une ligne de commande

flowchart LR A[<a href='/api-prise-commande/#creation-dune-ligne-de-commande'>Création d'une \nligne de commande</a>] -->B(created) B -->C[<a href='/api-prise-commande/#confirmation-de-la-session-de-commande'>Confirmation de la \nligne de commande</a>] C -->D(in_progress) D -->E{La commande \nest créée ?} E -->|oui| F[acknowledged\nheld_adv_validation\nin_progress] style F text-align:left E -->|non| G[rejected_creation]

Création d'une session de commande

Une fois la session de commande crééé, une ou plusieurs de lignes de commande peuvent être ajoutées

POST /api/v1/product_order/

Paramètres de la requête

Nom Type Description Obligatoire
external_id string Identifiant externe pour la demande Non
project_id string Identifiant du projet associé Non
Exemple
{
  "external_id": "12345",
  "project_id": ""
}

Réponse

Nom Type Description Obligatoire
external_id string Identifiant externe pour la demande Non
project_id string Identifiant du projet associé Non
id string Identifiant de la commande Oui
creation_date string Date de création de la commande Oui
cancellation_date string Date d'annulation de la commande Non
completion_date string Date de complétion de la commande Non
order_date string Date de la commande Oui
state string État actuel de la commande Oui
Exemple
{
    "external_id": "12345",
    "project_id": "",
    "id": "0b10ba8a-3c31-44ba-a758-d178ec0bb166",
    "creation_date": "2025-04-10T12:11:57.548+02:00",
    "cancellation_date": null,
    "completion_date": null,
    "order_date": null,
    "state": "created"
}

Création d'une ligne de commande

Certains champs facultatifs lors de la création d'une ligne de commande deviennent obligatoires lors de la confirmation de la session de commande. Il convient alors de les renseigner au préalable via la mise à jour de la ligne de commande.

POST /api/v1/product_order/{id}/product_order_item/

Paramètres de la requête

Nom Type Description Obligatoire
end_customer_name string Nom du client final Non
external_id string Identifiant externe pour la demande Non
option_ids array Liste des identifiants d'options Non
note string Note associée à la commande Non
technical_note string Note technique associée à la commande Non
product_offering_id string Identifiant de l'offre de produit Oui
product_offering_qualification_item_id string Identifiant de l'élément de qualification de l'offre de produit Oui
project_id string Identifiant du projet associé Non
quote_item_id string Identifiant de l'élément de devis Non
delivery_mode string Mode de livraison Non
enni string Identifiant ENNI 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
billing_site_ref string Référence facturation Non
related_contact_information array Informations des contacts associés Non
Exemple
{
  "end_customer_name": "Covage",
  "external_id": "6789",
  "option_ids": [...],
  "note": "",
  "technical_note": "",
  "product_offering_id": "2173",
  "product_offering_qualification_item_id":"{{eligibility_id}}",
  "project_id": "",
  "quote_item_id": "{{quote_id}}",
  "delivery_mode": "",
  "enni": "",
  "enni2": "",
  "vlan_reference": "1257",
  "customer_order_name": "john Doe",
  "business_code": "AB123",
  "billing_site_ref": "AUX99",
  "related_contact_information": [...]
}

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_name 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_name string Nom du contact secondaire Non
contact2_phone_number string Numéro de téléphone du contact secondaire Non
city string Ville Oui
postcode string Code postal Oui
street_name string Nom de la rue Oui
street_number string Numéro de la rue Oui
street_number_extension string Extension du numéro de rue Non
insee_code string Code INSEE Oui
building_name string Nom du bâtiment Non
level_number string Numéro d'étage Non
latitude number Latitude de l'adresse Oui
longitude number Longitude de l'adresse Oui
Exemple
"related_contact_information": [
    {
      "end_customer_name": "Covage corp",
      "siret": "00000000000000",
      "contact1_email_address": "John.Doe@unknown.com",
      "contact1_name": "John Doe",
      "contact1_phone_number": "0123456789",
      "contact2_email_address": "Jane.Doe@unknown.com",
      "contact2_name": "Jane 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
vlan_reference number Référence VLAN Non
business_code string code affaire Non
customer_order_name string Nom de la commande client Non
billing_site_ref string Référence du site de facturation Non
related_contact_information array Informations des contacts associés Non
id string Identifiant de la commande Oui
cancellation_date string Date d'annulation de la commande Non
cancellation_reason string Raison de l'annulation Non
completion_date string Date de complétion de la commande Non
order_date string Date de la commande Non
state string État actuel de la commande Oui
state_change array Historique des changements d'état Non
termination_error array Erreurs de terminaison associées Non
order_reference string Référence de la commande Non
temporary_reference string Référence temporaire de la commande Non
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_name": "John Doe",
            "contact1_phone_number": "0123456789",
            "contact2_email_address": "Jane.Doe@unknown.com",
            "contact2_name": "Jane Doe",
            "contact2_phone_number": "0987654321",
            "city": "Mont-Saint-Aignan",
            "postcode": "76130",
            "street_name": "Rue Andrei Sakharov",
            "street_number": "4",
            "street_number_extension": "B",
            "insee_code": "76451",
            "building_name": "",
            "level_number": "0",
            "latitude": 49.4744077,
            "longitude": 1.091455
        }
    ],
    "id": "259a1c5b-8462-4c5e-90d0-90d135763378",
    "product_order_id": "908d2cc0-4bdc-4f62-b812-f8c1f48c96cd",
    "cancellation_date": null,
    "cancellation_reason": "",
    "completion_date": null,
    "order_date": null,
    "state": "created",
    "state_change": [
        {
            "change_reason": "",
            "change_date": "2025-04-23T10:13:08.733+02:00",
            "state": "created"
        }
    ],
    "termination_error": [],
    "order_reference": "",
    "temporary_reference": "PO_DC173_20250423_003363"
}

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_name 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_name string Nom du contact secondaire Non
contact2_phone_number string Numéro de téléphone du contact secondaire Non
city string Ville Oui
postcode string Code postal Oui
street_name string Nom de la rue Oui
street_number string Numéro de la rue Oui
street_number_extension string Extension du numéro de rue Non
insee_code string Code INSEE Oui
building_name string Nom du bâtiment Non
level_number string Numéro d'étage Non
latitude number Latitude de l'adresse Oui
longitude number Longitude de l'adresse Oui

Détail des changements d'état

Nom Type Description Obligatoire
change_reason string Raison du changement d'état Oui
change_date string Date du changement d'état Oui
state string Nouvel état Oui

Détail des erreurs de terminaison

Nom Type Description Obligatoire
code string Code de l'erreur Oui
property_path string Chemin de la propriété concernée Oui
value string Valeur associée à l'erreur Oui
Exemple
"termination_error": [
    {
    "code":"string",
    "property_path":"string",
    "value":"string"
    }
]

Mise à jour de la ligne de commande

PATCH /api/v1/product_order/{id}/product_order_item/{item_id}/

Paramètres de la requête

Nom Type Description Obligatoire
end_customer_name string Nom du client final Non
external_id string Identifiant externe pour la demande Non
option_ids array Liste des identifiants d'options Non
note string Note associée à la commande Non
technical_note string Note technique associée à la commande Non
product_offering_id string Identifiant de l'offre de produit Non
product_offering_qualification_item_id string Identifiant de l'élément de qualification de l'offre de produit Non
project_id string Identifiant du projet associé Non
quote_item_id string Identifiant de l'élément de devis Non
delivery_mode string Mode de livraison Non
enni string Identifiant ENNI Non
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
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": [...]
}

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_name 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_name string Nom du contact secondaire Non
contact2_phone_number string Numéro de téléphone du contact secondaire Non
city string Ville Non
postcode string Code postal Non
street_name string Nom de la rue Non
street_number string Numéro de la rue Non
street_number_extension string Extension du numéro de rue Non
insee_code string Code INSEE Non
building_name string Nom du bâtiment Non
level_number string Numéro d'étage Non
latitude number Latitude de l'adresse Non
longitude number Longitude de l'adresse Non

Réponse

Nom Type Description Obligatoire
end_customer_name string Nom du client final Non
external_id string Identifiant externe pour la demande Non
option_ids array Liste des identifiants d'options Non
note string Note associée à la commande Non
technical_note string Note technique associée à la commande Non
product_offering_id string Identifiant de l'offre de produit Oui
product_offering_qualification_item_id string Identifiant de l'élément de qualification de l'offre de produit Oui
project_id string Identifiant du projet associé Non
quote_item_id string Identifiant de l'élément de devis Non
delivery_mode string Mode de livraison Non
enni string Identifiant ENNI Non
vlan_reference number Référence VLAN Non
customer_order_name string Nom de la commande client Non
business_code string Code d'affaires Non
related_contact_information array Informations des contacts associés Non
id string Identifiant de la commande Oui
cancellation_date string Date d'annulation de la commande Non
cancellation_reason string Raison de l'annulation Non
completion_date string Date de complétion de la commande Non
order_date string Date de la commande Non
state string État actuel de la commande Oui
state_change array Historique des changements d'état Non
termination_error array Erreurs de terminaison associées Non
order_reference string Référence de la commande Non
temporary_reference string Référence temporaire de la commande Non
Exemple
{
    "end_customer_name": "Covage",
    "external_id": "",
    "option_ids": [],
    "note": "",
    "technical_note": "",
    "product_offering_id": "2173",
    "product_offering_qualification_item_id": "1b83a456-89a2-456e-9b78-a578c39b0474",
    "project_id": "",
    "quote_item_id": "",
    "delivery_mode": "",
    "enni": "",
    "enni2": "",
    "vlan_reference": 1257,
    "customer_order_name": "john Doe",
    "business_code": "",
    "billing_site_ref": "",
    "related_contact_information": [...],
    "id": "764a778c-4b16-4502-8377-e817b93d5b08",
    "product_order_id": "2144c9f2-6ac1-49fd-8a7d-905def231857",
    "cancellation_date": null,
    "cancellation_reason": "",
    "completion_date": null,
    "order_date": null,
    "state": "created",
    "state_change": [...],
    "termination_error": [],
    "order_reference": "",
    "temporary_reference": "PO_DG541_20250404_000001"
}

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_name 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_name string Nom du contact secondaire Non
contact2_phone_number string Numéro de téléphone du contact secondaire Non
city string Ville Oui
postcode string Code postal Oui
street_name string Nom de la rue Oui
street_number string Numéro de la rue Oui
street_number_extension string Extension du numéro de rue Non
insee_code string Code INSEE Oui
building_name string Nom du bâtiment Non
level_number string Numéro d'étage Non
latitude number Latitude de l'adresse Oui
longitude number Longitude de l'adresse Oui
Exemple
    {
        "end_customer_name": "Covage corp",
        "siret": "00000000000000",
        "contact1_email_address": "John.Doe@unknown.com",
        "contact1_name": "John Doe",
        "contact1_phone_number": "0123456789",
        "contact2_email_address": "Jane.Doe@unknown.com",
        "contact2_name": "Jane Doe",
        "contact2_phone_number": "0987654321",
        "city": "Mont-Saint-Aignan",
        "postcode": "76130",
        "street_name": "Rue Andrei Sakharov",
        "street_number": "4",
        "street_number_extension": "B",
        "insee_code": "76451",
        "building_name": "",
        "level_number": "0",
        "latitude": 49.4744077,
        "longitude": 1.091455
    }   

Détail des changements d'état

Nom Type Description Obligatoire
change_reason string Raison du changement d'état Oui
change_date string Date du changement d'état Oui
state string Nouvel état Oui
Exemple
    {
        "change_reason": "",
        "change_date": "2025-04-04T11:30:47.475+02:00",
        "state": "created"
    }

Détail des erreurs de terminaison

Nom Type Description Obligatoire
code string Code de l'erreur Oui
property_path string Chemin de la propriété concernée Oui
value string Valeur associée à l'erreur Oui

Suppression d'une ligne de commande

Ce endpoint permet de supprimer une ligne de commande dans la session de commande.

DELETE /api/product_order/{product_order_id}/product_order_item/{item_id}/

Paramètres

Nom Type Description Obligatoire
product_order_id string Identifiant de la session de commande Oui
item_id string Identifiant de l'élément de qualification de l'offre de produit Oui

Réponse

Nom Type Description Obligatoire
external_id string Identifiant externe pour la demande Non
project_id string Identifiant du projet associé Non
id string Identifiant de la commande Oui
product_order_item array Liste des éléments de commande Oui
Exemple
{
    "external_id": "444555666777",
    "project_id": "",
    "id": "f12c54b3-881b-48e0-9c96-fea9b2597967",
    "product_order_item": []
}

Confirmation de la session de commande

La confirmation de la session entraîne la création de commandes à partir des lignes de commandes contenues dans la session.

Il est alors possible de suivre l'état d'avancement de ces commandes nouvellement créées (hormis les commandes au statut 'rejected_creation') via l'API de Suivi de Commande.

PATCH /api/v1/product_order/{id}/confirm/

Réponse

Nom Type Description Obligatoire
external_id string Identifiant externe pour la demande Non
project_id string Identifiant du projet associé Non
id string Identifiant de la commande Oui
product_order_item array Liste des éléments de commande Oui
Exemple
{
    "external_id": "777888999",
    "project_id": "",
    "id": "908d2cc0-4bdc-4f62-b812-f8c1f48c96cd",
    "product_order_item": [
        {
            "end_customer_name": "Covage",
            "external_id": "",
            "option_ids": [
                "2210",
                "2220",
                "1615"
            ],
            "note": "",
            "technical_note": "",
            "product_offering_id": "2173",
            "product_offering_qualification_item_id": "d5a4a9aa-ba2c-4f53-95c7-0c1ce6f6e7fa",
            "project_id": "",
            "quote_item_id": "",
            "delivery_mode": "",
            "enni": "",
            "enni2": "",
            "vlan_reference": 1257,
            "customer_order_name": "john Doe",
            "business_code": "",
            "billing_site_ref": "AUX00",
            "related_contact_information": [
                {
                    "end_customer_name": "Covage corp",
                    "siret": "00000000000000",
                    "contact1_email_address": "John.Doe@unknown.com",
                    "contact1_name": "John Doe",
                    "contact1_phone_number": "0123456789",
                    "contact2_email_address": "Jane.Doe@unknown.com",
                    "contact2_name": "Jane Doe",
                    "contact2_phone_number": "0987654321",
                    "city": "Mont-Saint-Aignan",
                    "postcode": "76130",
                    "street_name": "Rue Andrei Sakharov",
                    "street_number": "4",
                    "street_number_extension": "B",
                    "insee_code": "76451",
                    "building_name": "",
                    "level_number": "0",
                    "latitude": 49.4744077,
                    "longitude": 1.091455
                }
            ],
            "id": "259a1c5b-8462-4c5e-90d0-90d135763378",
            "product_order_id": "908d2cc0-4bdc-4f62-b812-f8c1f48c96cd",
            "cancellation_date": null,
            "cancellation_reason": "",
            "completion_date": null,
            "order_date": null,
            "state": "in_progress",
            "state_change": [
                {
                    "change_reason": "",
                    "change_date": "2025-04-23T10:13:08.733+02:00",
                    "state": "created"
                },
                {
                    "change_reason": "",
                    "change_date": "2025-04-23T10:24:57.225+02:00",
                    "state": "in_progress"
                }
            ],
            "termination_error": [],
            "order_reference": "",
            "temporary_reference": "PO_DC173_20250423_003363"
        }
    ]
}

Détail des éléments de commande

Nom Type Description Obligatoire
end_customer_name string Nom du client final Non
external_id string Identifiant externe pour la demande Non
option_ids array Liste des identifiants d'options Non
note string Note associée à la commande Non
technical_note string Note technique associée à la commande Non
product_offering_id string Identifiant de l'offre de produit Oui
product_offering_qualification_item_id string Identifiant de l'élément de qualification de l'offre de produit Oui
project_id string Identifiant du projet associé Non
quote_item_id string Identifiant de l'élément de devis Non
delivery_mode string Mode de livraison Non
enni string Identifiant ENNI Non
vlan_reference number Référence VLAN Non
customer_order_name string Nom de la commande client Non
business_code string Code d'affaires Non
related_contact_information array Informations des contacts associés Non
id string Identifiant de la commande Oui
cancellation_date string Date d'annulation de la commande Non
cancellation_reason string Raison de l'annulation Non
completion_date string Date de complétion de la commande Non
order_date string Date de la commande Non
state string État actuel de la commande Oui
state_change array Historique des changements d'état Non
termination_error array Erreurs de terminaison associées Non
order_reference string Référence de la commande Non
temporary_reference string Référence temporaire de la commande Non

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_name 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_name 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