Commandes

L'API /api/v2/orders/ permet de commander de manière unifiée les produits Cuivre et Fibre de Covage. Pour démarrer, consultez la description du processus de commande qui explique les différents concepts nécessaires à la prise en main de l'API.

Note

Cette API (dite v2) remplace l'API v1, désormais dépréciée. Vous êtes invités à migrer vers cette API unifiée dès à présent. L'API est directement compatible avec l'ancienne API fibre, à la différente de l'URL. Pour faciliter vos développements, toutes les commandes passées sur une des deux versions de l'API sont disponibles et modifiables via l'autre.

L'URL de base de cette API est : https://extranet.kosc-telecom.fr/api/v2/orders/. Cette page fait référence aux familles de produits définies dans le catalogue produit.

Récapitulatif des API

Action

Méthode

URL

Création d’une commande

POST

/api/v2/orders/

Mettre à jour une commande

PATCH

/api/v2/orders/{uuid}/

Mettre à jour l'endpoint de référence ou la PTO d’une commande

PATCH

/api/v2/orders/{uuid}/endpoints/{endpoint_uuid}/

Mettre à jour l’adresse d’une commande

PATCH

/api/v2/orders/{uuid}/bounds/{bounds_uuid}/

Soumettre la commande

PATCH

/api/v2/orders/{uuid}/

Lister les commandes

GET

/api/v2/orders/

Récupérer une commande

GET

/api/v2/orders/{uuid}/

Champs communs activate et terminate

Cette section décrit les champs d'un objet order (modélisant une commande).

La troisième colonne indique si le paramètre est obligatoire lors de la création du draft (O), s'il doit avoir été rempli avant la soumission de la commande (S), s'il est facultatif (F), s'il peut être obligatoire en fonction du type de produit, des options choisies ou d'un autre paramètre (C), ou s'il est en lecture seule (R).

Création d'une commande

Une commande est créée avec une requête POST sur l'endpoint /api/v2/orders/.

Note

Un certain nombre de champs sont soumis à des restrictions sur les caractères autorisés par souci de compatibilité avec nos fournisseurs. Notamment, tous les caractères utilisés pour les champs end_customer et bounds doivent faire partie de la liste suivante (espace et espace insécable acceptés) : ()+,-.0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ@[]_abcdefghijklmnopqrstuvwxyz{}àâäçèéêëîïôöùûü.

Commandes activate

On rappelle qu'une commande de création de service se fait à partir d'une requête d'éligibilité.

La troisième colonne précise si ce champ est spécifique à une famille de produits (s'il est vide, il est commun à l'ensemble des commandes).

Options

Un certain nombre d'options peuvent être spécifiées. Leur disponibilité et leurs valeurs dépendent du produit sélectionné et du type d'ordre.

Note

Attention, seuls le catalogue produit et l'API products font foi des options disponibles et de leurs valeurs. Cette liste est fournie à titre indicatif.

Nom du paramètre

Type

Famille

Description

options[gtr]

object

A/S/M/F/E

Option Garantie de Temps de Rétablissement (GTR).

options[contract_term]

object

A/S/M/F/E

Option Durée d'engagement.

options[portability]

object

A/S/M

Option Portabilité du numéro (champs internes spécifiques)

options[unlisted_number]

object

A/S/M

Option Liste rouge.

options[patch_panel]

object

E

Option Patch Panel (installation dans un bandeau optique).

options[enni_redundancy]

object

S/E

Option Sécurisation ENNI.

options[cpe_install]

object

F

CPE Install option (booléen)

options[installation_expert]

object

F

Installation Expert option (avec valeur)

options[guaranteed_bandwidth]

object

F

Option Guaranteed Bandwidth (avec valeur)

options[demarcation_device]

object

F

Option demarcation_device (booléen)

options[double_otp]

object

F

Option double OTP (booléen). Only 'create' orders

options[otp_displacement]

object

F

Option OTP displacement (booléen). Only 'activate' orders

options[copper_to_ftth]

object

F

Option Copper To FTTH (avec valeur). The service Migrated (Not Mandatory)

Objets options :

Il y a 2 types génériques d'options: les options booléennes (actives ou pas) et les options avec valeurs (actives ou pas + valeur).

Options Booléennes:

enabled

booléen

true si l'option est active, par défaut false

Options avec valeur :

enabled

booléen

true si l'option est active, par défaut false

value

string

valeur de l'option si active

default_value

string

valeur par défaut de l'option

Option Portabilité. Cette option a des champs spécifiques

enabled

booléen

true si l'option est active, par défaut false

prefix_code

string

Spécifie le prefix_code.

rio_code

string

Spécifie le rio_code.

contract_ref

string

Champ en lecture seule. Automatiquement rempli avec notre référence de portabilité.

operator_code

string

Champ en lecture seule. Automatiquement rempli avec notre code operateur.

Bounds

Pour les commandes cuivre, le champ bounds[n][endpoints][m].information contient les éléments suivants :

Nom du champ

Type

Description

inactive

boolean

Indique si l'endpoint est inactif

unlisted_number

boolean

Indique si le numéro de téléphone est sur liste rouge

dti_presence

boolean

Présence d'un Dispositif de Terminaison Intérieur

available_pairs

Integer

Nombre de paires disponibles au Point de Concentration (PC) de rattachement

max_available_pairs

Integer

Nombre de paires disponibles au Point de Concentration (PC) desservant l'adresse et ayant le plus de paires disponibles

under_construction

boolean

Indique si la ligne est en construction

sections_lengths

liste d'objects

Liste des longueurs de cuivre qui composent la ligne

sections_lengths[n][diameter]

float

Diamètre (en millimètres) du fil de cuivre de la section n

sections_lengths[n][length]

float

Longueur (en mètres) du fil de cuivre de la section n

concentration_point

object

Informations sur le point de concentration

concentration_point[latlng]

object

Coordonnées géographiques du point de concentration

concentration_point[address]

object

Adresse du point de concentration

intervention pose ONT

Pour les commandes fibres sur des produits FP05:

Nom du champ

Type

Description

allow_second_rdv

boolean

Si true, autorise la prise de rendez-vous pour poser l'ONT (uniquement pour les commandes activate_defined et activate_undefined), si false pas rendez-vous.

Exemple de création d'une commande fibre FP05 avec prise d'un second rendez-vous pour l'installation de l'ONT:

Seconde addresse de livraison de l'équimement Pour les commandes fibres sur des produits FP05 seulement pour les types activate_defined et activate_undefined:

Requête :

POST /api/v2/orders/  HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "eligibility_ref": "elig-0e22a184-1c89-4fc3-ac25-ab3c3b67fa52",
  "product": {
    "code": "FP05"
  },
  "type": "activate",
  "request_type": "activate_defined",
  "allow_second_rdv": true
}

Nom du champ

Type

Description

address_second_rdv

object

Seconde adresse pour livraison de l'équipement, contient les champs zipcode, city, street_number, street_name

Exemple de création d'une commande fibre FP05 avec seconde addresse de livraison:

Seconde addresse de livraison de l'équimement Pour les commandes fibres sur des produits FP05:

Requête :

POST /api/v2/orders/  HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "eligibility_ref": "elig-0e22a184-1c89-4fc3-ac25-ab3c3b67fa52",
  "product": {
    "code": "FP05"
  },
  "address_second_rdv": {
    "zipcode": "76000",
    "city": "Rouen",
    "street_number": 1,
    "street_name": "Rue de la république"
  }
}

Exemple de création de commande cuivre

Requête :

POST /api/v2/orders/  HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "eligibility_ref": "elig-40ea0561-599a-4850-9add-578ddfafa713",
  "product": {
    "code": "AM01"
  },
  "type": "activate",
  "request_type": "activate"
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "uuid": "2e4c08a6-17a7-4ed5-97ca-6425301cd96d",
  "reference": "O191016_32563",
  "status": "draft",
  "type": "activate",
  "product": {
    "uuid": "b9snx9ba",
    "code": "AM01",
    "name": "ADSL-Max_FULL_BE_KOSC",
    "description": "ADSL Max * FULL unbundling * Best Effort * KOSC",
    "line": {
      "uuid": "flfwzx11",
      "name": "ADSL-Max",
      "code": "AM",
      "description": "ADSL-MAX * Best of ADSL products",
      "family": {
        "uuid": "rsvjvpsy",
        "name": "ADSL",
        "code": "A",
        "description": "ADSL * technology : ADSL, VDSL, READSL"
      }
    }
  },
  "end_customer": {},
  "operator_info": {},
  "bounds": [
    {
      "uuid": "8d581539-29fa-40f8-aa28-2f4bd0275cbb",
      "endpoints": [
        {
          "uuid": "6b9dc5a5-5a21-436e-a6f5-41f2dab96d75",
          "reference": "0417101993",
          "type": "line_number",
          "locked": true,
          "information": {
            "status": "active",
            "unlisted_number": true,
            "available_pairs": 11,
            "max_available_pairs": 11,
            "under_construction": false,
            "sections_lengths": [
              {
                "diameter": 4,
                "length": 1125
              }
            ],
            "concentration_point": {
              "latlng": {
                "latitude": 43.7701894,
                "longitude": 7.3430288
              },
              "address": {
                "kosc_street_code": "0608859150",
                "kosc_insee_code": "06088",
                "street_number": "00022",
                "street_name": "BD SAINT ROCH",
                "city": "NICE"
              }
            }
          }
        }
      ],
      "address": {
        "kosc_street_code": "0608859150",
        "kosc_insee_code": "06088",
        "zipcode": "06000",
        "street_name": "BOULEVARD SAINT ROCH",
        "street_number": "22",
        "city": "NICE",
        "floor": "00",
        "housing_complex": "SHINOVAR"
      },
      "information": {
        "co": "06088CAR"
      }
    }
  ],
  "options": {},
  "creation_date": "2019-10-16T09:59:04.541090Z",
  "modification_date": "2019-10-16T09:59:04.541120Z",
  "updated_status_date": "2019-10-16T09:59:04.544397Z",
  "information": {},
  "eligibility_ref": "elig-40ea0561-599a-4850-9add-578ddfafa713",
  "request_type": "activate"
}

Exemple de création de commande fibre pro

Requête :

POST /api/v2/orders/  HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "eligibility_ref": "elig-0e22a184-1c89-4fc3-ac25-ab3c3b67fa52",
  "product": {
    "code": "FP01"
  },
  "type": "activate",
  "request_type": "activate_defined"
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "uuid": "281a64c0-5cfe-4607-8978-096ac96afa08",
  "reference": "O191008_93792",
  "status": "draft",
  "type": "activate",
  "product": {
    "uuid": "v7cqyjdb",
    "code": "FP01",
    "name": "PROFESSIONAL-FIBER 1000",
    "description": "PROFESSIONAL FIBER 1000/250 Mbit/s",
    "line": {
      "uuid": "5emhd73x",
      "name": "PRO-FIBER",
      "code": "FP",
      "description": "Professional Fiber",
      "family": {
        "uuid": "yy2ekd7i",
        "name": "FIBR",
        "code": "F",
        "description": "Fiber Pro"
      }
    }
  },
  "end_customer": {},
  "operator_info": {},
  "bounds": [
    {
      "uuid": "265bd4ea-5c1f-462d-8689-e75585c0b24f",
      "endpoints": [
        {
          "uuid": "266979a7-16cd-43df-98f0-3fe156dad9cd",
          "reference": "FI-3790-3415",
          "type": "otp",
          "locked": true
        }
      ],
      "address": {
        "kosc_street_code": "9307700800",
        "kosc_insee_code": "93077",
        "zipcode": "93250",
        "street_name": "BOULEVARD D AULNAY",
        "street_number": "78",
        "city": "VILLEMOMBLE",
        "building_name": "6",
        "building_code": "IMB/93077/X/00ZY",
        "stairs": "6",
        "floor": "0"
      },
      "information": {
        "co": "93064RNY"
      }
    }
  ],
  "options": {
    "contract_term": {
      "enabled": true,
      "value": "36_months",
      "default_value": "12_months"
    }
  },
  "creation_date": "2019-10-08T13:14:04.230252Z",
  "modification_date": "2019-10-08T13:14:04.440080Z",
  "updated_status_date": "2019-10-08T13:14:04.440110Z",
  "information": {},
  "eligibility_ref": "elig-0e22a184-1c89-4fc3-ac25-ab3c3b67fa52",
  "request_type": "activate_defined"
}

Commandes terminate

On rappelle qu'une commande de résiliation se fait à partir d'une référence de service. Les commandes de résiliation sont pour l'instant uniquement disponibles sur les produits Cuivre (familles A, S et M) et les produits Fibre Pro (famille F).

Note

Attention, les commandes de résiliation sont prises en compte dès leur soumission et conduisent à la clôture immédiate du service. Merci de contacter le service Delivery pour initier un préavis de résiliation, puis de soumettre à l'issue de ce préavis la commande terminate pour résilier le service.

Nom du paramètre

Type

Famille

Obligatoire

Description

service_ref

string

A/S/M/F

O

Référence commerciale Covage du service à terminer (obligatoire si service_uuid n'est pas fourni).

service_uuid

string

A/S/M/F

O

Identifiant du service à terminer (UUID sur 32 caractères hexadécimaux) (obligatoire si service_ref n'est pas fourni).

Exemple de création de commande de résiliation

Requête :

POST /api/v2/orders/  HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "service_uuid":"38873eab-b099-4095-9042-91dfd896e225",
  "type": "terminate"
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "uuid": "7d8e7c90-7705-49d6-8b94-972b04be4313",
  "reference": "O191210_49595",
  "status": "draft",
  "type": "terminate",
  "service_ref": "S191128_21428",
  "service_uuid": "38873eab-b099-4095-9042-91dfd896e225",
  "product": {
    "uuid": "b9snx9ba",
    "code": "AM01",
    "name": "ADSL-Max_FULL_BE_KOSC",
    "description": "ADSL Max * FULL unbundling * Best Effort * KOSC",
    "line": {
      "uuid": "flfwzx11",
      "name": "ADSL-Max",
      "code": "AM",
      "description": "ADSL-MAX * Best of ADSL products",
      "family": {
        "uuid": "rsvjvpsy",
        "name": "ADSL",
        "code": "A",
        "description": "ADSL * technology : ADSL, VDSL, READSL"
      }
    }
  },
  "end_customer": {
    "siret": "81352886600029",
    "contact": {
      "first_name": "Titien",
      "last_name": "Atom",
      "phone_number": "0626082019",
      "email": "lepetitnageur@4ev.er"
    },
    "type": "registered",
    "name": "Minas Tirith"
  },
  "operator_info": {
    "contact_uuid": "108este8"
  },
  "bounds": [
    {
      "uuid": "36fbac69-da7e-4573-8e49-95d8b911a44d",
      "endpoints": [
        {
          "uuid": "3b653072-01d0-49ba-8ddb-7c89d3a71d06",
          "reference": "0471494704",
          "type": "line_number",
          "locked": false,
          "information": {
            "dti_presence": false,
            "sections_lengths": [
              {
                "diameter": 60.0,
                "length": 1423.0
              }
            ],
            "head": "D/52621",
            "starter": 20,
            "pair": 7,
            "concentration_point": {
              "latlng": {
                "latitude": 48.827525,
                "longitude": 2.454530
              },
              "address": {
                "kosc_street_code": "0608859150",
                "kosc_insee_code": "06088",
                "street_number": "00000",
                "street_name": "BD SAINT ROCH",
                "city": "NICE"
              }
            }
          }
        }
      ],
      "address": {
        "zipcode": "06000",
        "street_name": "RUE DU PARADIS",
        "street_number": "1710",
        "city": "NICE",
        "kosc_street_code": "0608859150",
        "kosc_insee_code": "06088"
      },
      "information": {
        "co": "06088CAR"
      }
    }
  ],
  "options": {},
  "creation_date": "2019-12-10T16:14:18.128496Z",
  "modification_date": "2019-12-10T16:14:18.128516Z",
  "updated_status_date": "2019-12-10T16:14:18.132325Z",
  "information": {}
}

Mettre à jour une commande

Tant que la commande n'a pas été soumise, vous pouvez en modifier les paramètres avec une requête PATCH sur l'URL /api/v2/orders/{uuid}/.

Requête :

PATCH /api/v2/orders/b5866d6b-55af-4085-bc0c-ac8490cae38f/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "end_customer": {
    "type": "unregistered",
    "name": "Alethkar Palace",
    "contact": {
      "first_name": "Adolin",
      "last_name": "Kholin",
      "email": "adolin.kholin@palace.ak",
      "phone_number": "0123456789"
    }
  },
  "operator_info": {
    "order_ref": "STORMLIGHT_1991",
    "order_name": "Alethkar_Palace_Order_1",
    "contact_uuid": "8w10yfnb"
  },
  "options": {
    "contract_term": {
      "enabled": true,
      "value": "36_months"
    }
  }
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "uuid": "b5866d6b-55af-4085-bc0c-ac8490cae38f",
  "reference": "O191016_58767",
  "status": "draft",
  "type": "activate",
  "product": {
    "uuid": "b9snx9ba",
    "code": "AM01",
    "name": "ADSL-Max_FULL_BE_KOSC",
    "description": "ADSL Max * FULL unbundling * Best Effort * KOSC",
    "line": {
      "uuid": "flfwzx11",
      "name": "ADSL-Max",
      "code": "AM",
      "description": "ADSL-MAX * Best of ADSL products",
      "family": {
        "uuid": "rsvjvpsy",
        "name": "ADSL",
        "code": "A",
        "description": "ADSL * technology : ADSL, VDSL, READSL"
      }
    }
  },
  "end_customer": {
    "contact": {
      "first_name": "Adolin",
      "last_name": "Kholin",
      "email": "adolin.kholin@palace.ak",
      "phone_number": "0123456789"
    },
    "type": "unregistered",
    "name": "Alethkar Palace"
  },
  "operator_info": {
    "order_ref": "STORMLIGHT_1991",
    "order_name": "Alethkar_Palace_Order_1",
    "contact_uuid": "8w10yfnb"
  },
  "bounds": [
    {
      "uuid": "e09b71a2-3b37-4ad0-9738-cc35a24bb538",
      "endpoints": [
        {
          "uuid": "7e2eab64-1034-41c3-bfac-dbd4367f66d9",
          "reference": "0417101993",
          "type": "line_number",
          "locked": true,
          "information": {
            "status": "active",
            "unlisted_number": true,
            "available_pairs": 11,
            "max_available_pairs": 11,
            "under_construction": false,
            "sections_lengths": [
              {
                "diameter": 4,
                "length": 1425
              }
            ],
            "concentration_point": {
              "latlng": {
                "latitude": 43.0717135,
                "longitude": 7.2930888
              },
              "address": {
                "kosc_street_code": "0608859150",
                "kosc_insee_code": "06088",
                "street_number": "00022",
                "street_name": "BD SAINT ROCH",
                "city": "NICE"
              }
            }
          }
        }
      ],
      "address": {
        "kosc_street_code": "0608859150",
        "kosc_insee_code": "06088",
        "zipcode": "06000",
        "street_name": "BOULEVARD SAINT ROCH",
        "street_number": "22",
        "city": "NICE",
        "floor": "00",
        "housing_complex": "RADIANT HOUSE"
      },
      "information": {
        "co": "06088CAR"
      }
    }
  ],
  "options": {
    "contract_term": {
      "enabled": true,
      "value": "36_months",
      "default_value": "12_months"
    }
  },
  "creation_date": "2019-10-16T08:08:55.883532Z",
  "modification_date": "2019-10-16T10:15:17.979894Z",
  "updated_status_date": "2019-10-16T10:15:17.979948Z",
  "information": {},
  "eligibility_ref": "elig-6ac6874f-2827-4a26-9875-5b54d09dc900",
  "request_type": "activate"
}

Mettre à jour l'adresse d'une commande

Récupérer la verticalité :

L'endpoint /api/v2/eligibility/buildings/{building_ref}/?include_stairs=true permet de récupérer le nom du building, l'escalier et l'étage du client final pour les commandes fibre en renseignant le code immeuble

Requête :

GET /api/v2/eligibility/buildings/{building_ref}/?include_stairs=true HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
"operator_code": "FI",
"operator_name": "ORANGE",
"name": "B",
"building_ref": "IMB/76540/X/043X",
"type": "BUILDING",
"nro": "76540ROA",
"stairs": {
    "NA^1": [
        "0",
        "1",
        "2",
        "3",
        "4",
        "5"
    ]
},
"address": {
    "street_number": "7",
    "street_name": "RUE MARTIN FRERES",
    "kosc_street_code": "765405510",
    "kosc_insee_code": "76540",
    "city": "ROUEN",
    "zipcode": "76000"
},
"code_interop": "FTEL",
"code_l331": "FRTE",
"reference_pm": "FI-76540-00AI",
"latitude": "49.448179",
"longitude": "1.076237"
}

Récupérer la verticalité avec les PTO:

L'endpoint /api/v2/eligibility/buildings/{building_ref}/?include_otp_ref=true permet de récupérer le nom du building, l'escalier et l'étage du client final pour les commandes fibre avec les PTO par étage en renseignant le code immeuble

Requête :

GET /api/v2/eligibility/buildings/{building_ref}/?include_otp_ref=true HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
"operator_code": "FI",
"operator_name": "ORANGE",
"name": "B",
"building_ref": "IMB/76540/X/043X",
"type": "BUILDING",
"nro": "76540ROA",
"stairs_with_otp_ref": {
    "NA^1": {
        "0": [
            "FI-4672-5988",
            "FI-6401-6327",
            "FI-4576-7338",
            "FI-9036-9302",
            "FI-1578-4925",
            "FI-8222-0216",
            "FI-4572-1600"
        ],
        "1": [
            "FI-5453-5482",
            "FI-6023-2052",
            "FI-6250-6687",
            "FI-4645-7016",
            "FI-6149-6667",
            "FI-4574-9232",
            "FI-3649-6891"
        ],
        "2": [
            "FI-4596-2929",
            "FI-5262-3682",
            "FI-4566-4477"
        ],
        "3": [
            "FI-4567-7193",
            "FI-3370-1120",
            "FI-4566-6655",
            "FI-7392-0276",
            "FI-5088-1249",
            "FI-9987-4127",
            "FI-8307-5400"
        ],
        "4": [
            "FI-8403-5645",
            "FI-4565-3752",
            "FI-4941-3838",
            "FI-5749-8255",
            "FI-8543-4933",
            "FI-1683-7394"
        ],
        "5": [
            "FI-4565-9406",
            "FI-4565-8779"
        ]
    }
},
"address": {
    "street_number": "7",
    "street_name": "RUE MARTIN FRERES",
    "kosc_street_code": "765405510",
    "kosc_insee_code": "76540",
    "city": "ROUEN",
    "zipcode": "76000"
},
"code_interop": "FTEL",
"code_l331": "FRTE",
"reference_pm": "FI-76540-00AI",
"latitude": "49.448179",
"longitude": "1.076237"
}

Mettre à jour la verticalité :

L'endpoint /api/v2/orders/{order_uuid}/bounds/{bound_uuid}/ permet de renseigner l'escalier et l'étage du client final pour les commandes fibre (à renseigner quand la valeur request_type est égale create ou activate_undefined), il permet également de mettre à jour la valeur du street_number pour les commandes cuivre (à renseigner quand la valeur request_type est égale create_neighbour Sinon, ces valeurs seront remplies automatiquement par la plateforme.

Requête :

PATCH /api/v2/orders/e9a9b366-82cf-4712-bf75-7e6fcacdb093/bounds/22036e32-5e6d-4736-9a95-ef0fb800635d/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "address": {
    "stairs": "C",
    "floor": "1"
  }
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
    "uuid": "22036e32-5e6d-4736-9a95-ef0fb800635d",
    "endpoints": [
        {
            "uuid": "2a2cd9e7-8310-46eb-80c0-e10cba79e3fa",
            "type": "otp",
            "locked": false,
            "ont": {}
        }
    ],
    "address": {
        "zipcode": "94170",
        "street_name": "AVENUE PIERRE BROSSOLETTE",
        "street_number": "151B",
        "city": "LE PERREUX SUR MARNE",
        "stairs": "C",
        "floor": "1",
        "kosc_street_code": "940587147",
        "building_code": "IMB/94058/C/NGA3",
        "kosc_insee_code": "94058"
    },
    "information": {
        "co": "94033FNY"
    }
}

Requête de mise à jour du numéro de rue :

PATCH /api/v2/orders/06feced5-82bd-4faf-8948-d79fc4b967d3/bounds/ca3ceeaf-b09d-43a2-b614-355baaabe69e/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "address": {
    "street_number": "24"
  }
}

Mettre à jour la référence PTO d'une commande

Cet endpoint, réservé aux commandes fibre, permet de renseigner la référence de la prise PTO, à renseigner quand la valeur request_type est égale à activate_defined. Il faut donc mettre à jour le champ request_type de la commande avant de pouvoir mettre à jour la référence de la PTO.

Lorsque l'on renseigne une référence PTO, la plateforme va interroger un service externe afin de déterminer les valeurs pour l'escalier (stairs) et l'étage (floor) associés à cette référence. Il est fortement conseillé de vérifier que ces valeurs correspondent bien à l'adresse communiquée par le client pour éviter les erreurs et les rejets de commande.

Note

Lorsque l'on est sur un produit de la famille E-Access Fiber, le format de la PTO est différent des offres Fibre Entreprise :
- PTO FIBR : ^[A-Z0-9]{2}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}$ (FI-1234-4234)
- PTO EAF : ^[A-Z0-9]{3}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}$ (FIE-2523-4523)

L'URL de l'endpoint est la suivante : /api/v2/orders/{order_uuid}/endpoints/{endpoint_uuid}/.

Requête :

PATCH /api/v2/orders/f391ecfb-89a0-4680-a5fc-2dd7b94240a7/endpoints/c5156041-bd80-46ab-a9c1-5fa5f4a927bb/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "reference":"FI-3790-3415"
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "uuid": "c5156041-bd80-46ab-a9c1-5fa5f4a927bb",
  "reference": "FI-3790-3415",
  "locked": false
}

Soumettre une commande

Une fois le draft renseigné avec toutes les informations nécessaires, vous devez soumettre la commande à Covage. Elle sera alors prise en compte par nos services jusqu'à sa livraison.

Note

Le passage en submitted est le seul changement de statut que vous êtes autorisés à effectuer sur une commande. Les autres statuts seront déclenchés par Covage au fur et à mesure du déroulement de la commande. (Sauf deferred, voir plus bas)

Requête :

PATCH /api/v2/orders/0cd8d842-b0ca-43c0-8cbc-5d275cbdb1c2/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "status": "submitted"
}

Réponse (la majorité des champs ont été omis par souci de concision) :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "uuid": "0cd8d842-b0ca-43c0-8cbc-5d275cbdb1c2",
  "reference": "O191016_42118",
  "type": "activate",
  "status": "submitted"
}

Lister les commandes

L'endpoint /api/v2/orders/ permet de récupérer la liste des commandes, qu'elles soient à l'état de brouillon, en cours ou terminées.

Tri

Le paramètre ?sort=<champ> permet de trier les résultats. Pour inverser l'ordre du tri, le nom du champ peut être préfixé par le caractère -.

Filtre

Il est possible de récupérer une partie des résultats en utilisant une combinaison de paramètres <champ>=<valeur>.

Pagination

Les paramètres limit et offset permettent de ne récupérer qu'une partie des résultats. Le paramètre limit donne le nombre maximum de résultats à retourner tandis que offset est l'indice de départ des résultats (calculé sur l'ensemble des résultats).

L'entête X-Total-Count retourne de manière indicative le nombre total de résultats (hors pagination).

Champs disponibles

Les champs disponibles pour le filtre et le tri sont les suivants :

Paramètre

Tri ou filtre

Description

reference

T/F

Référence de commande

type

F

Type de commande : activate ou terminate

status

F

Statut de la commande : draft, acknowledged, in_progress, submitted, cancelled, rejected, completed

endpoint_ref

F

Référence de l'endpoint

end_customer

F

Nom du client final

product_family

F

Famille de produit

product_line

F

Ligne de produit

creation_date

T

Date de création de la commande

submission_date

T

Date de soumission de la commande

Requête :

GET /api/v2/orders/?product_family=A&product_line=AM&type=activate&offset=50&limit=50&sort=-creation_date HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

Réponse : (résultats omis)

HTTP/1.1 200 OK
Content-Type: application/json
X-Total-Count: 965

Après soumission de la commande

Deferred ~~~

Requête :

POST /api/v2/orders/0cd8d842-b0ca-43c0-8cbc-5d275cbdb1c2/events/info/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json

{
  "message": "Votre message pour avoir résolu le problème en cours",
  "stop_deferred": true
}

Réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
"info": "Event was successfully created, please wait 5 minutes before trying again on this order"
}