Cuivre¶
Un order
est un dictionnaire contenant une variété de champs
représentant une commande.
Type de commandes¶
Deux types de commandes doivent être distingués :
La commande de type
activate
pour créer un nouveau service. On parle alors de commande d'activation. Elle se définit à l'aide d'un produit, choisi parmi les produits disponibles.La commande de type
terminate
pour résilier un service actif existant dans la plateforme. On parle alors de commande de résiliation.
Type de service¶
La plateforme supporte deux types de services selon la gamme de produits utilisée pour commander un service:
Un service de type
collect
se définit par un produit appartenant aux famillesADSL
(A
),SDSL
(S
) ouSDSL Max
(M
).Un service de type
enni
se définit par un produit appartenant à la familleENNI
(N
).
Commande de type collect
¶
Selon que la ligne utilisée pour activer le service de type collect
est celle d'un voisin ou non, quatre sous-types doivent être
distingués pour une commande d'activation d'un service de type collect
:
activate
lorsque la ligne utilisée appartient au client final,create
lorque le client final souhaite créer une nouvelle ligne à partir d'une ligne qu'il a déjà activé sur la boucle locale,create_nearby
lorsque le client final souhaite créer une nouvelle ligne dans un immeuble à partir de la ligne active d'un voisin au sein du même immeuble,create_neighbour
lorsque le client final souhaite créer une nouvelle ligne à partir de la ligne active d'un voisin résident à une adresse différente mais sur le même trottoir.
L'état initial d'une commande est draft
: c'est un draft order
.
Les commandes d'activation d'un service de type
collect
impliquant une construction de ligne (create
,create_nearby
etcreate_neighbour
) requièrent la prise d'un rendez-vous entre le client final et l'opérateur de boucle locale.Chaque commande d'un service de type
collect
requiert le nom d'un contact au sein de votre équipe.
Note
La commande de résiliation d'un service de type
enni
n'est pas supportée par la plateforme.les commandes d'activation d'un service de type
enni
doivent être commandées directement via un agent du personnel Covage. Elles sont créées et gérées par Covage. Vous pouvez néanmoins les retrouver dans les APIorder
etservice
.
Composition d'un order
¶
Les attributs d'une commande comprennent les informations nécessaires pour identifier, définir et suivre une commande.
Certain champs sont spécifiques en fonction du type de service demandé (collect
ou enni
) et en fonction du
type d'activation (avec ou sans construction de ligne).
Identifier une commande¶
Nom du champ |
Type |
Description |
---|---|---|
model |
string |
|
order_uuid |
string |
Identifiant technique de la commande |
alias |
string |
Référence commerciale de la commande au format OYYMMDD_XXXXX à communiquer au service Delivery |
operator_order_ref |
string |
Référence de la commande dans votre système d'information |
operator_order_name |
string |
Nom de la commande affiché sur l'extranet |
Définir une commande¶
Nom du champ |
Type |
Description |
---|---|---|
type |
string |
Type d' |
product |
dictionnaire |
Informations sur le produit choisi. Définit le type de service, la technologie, le débit, les options possibles. |
service_uuid |
string |
Identifiant technique du service :
|
service_alias |
string |
Référence commerciale du service (à communiquer dans tous les échanges avec Covage) :
|
batch_alias |
string |
Référence commerciale d'un lot fournit par l'équipe Delivery au format BYYMMDD_XXXXX, lorsque la commande est inclue dans un programme de migration de masse. |
Champ type
¶
Il existe plusieurs types de commandes:
Order Type |
Description |
---|---|
|
Création d'un nouveau service |
|
Résiliation d'un service existant |
Champ product
¶
Le dictionnaire product
contient les informations du produit à
utiliser pour l'activation ainsi que les informations sur la ligne de
produit et la famille de produit (se reporter au catalogue produit).
{
"name": "ADSL-Max-FULL-KOSC",
"code": "AM01",
"description": "ADSL * FULL unbundling * KOSC",
"line": {
"name": "ADSL-Max",
"code": "AM",
"description": "ADSL-MAX * Best of ADSL, VDSL products",
"family": {
"name": "ADSL",
"code": "A",
"description": "ADSL * technology : ADSL, VDSL, READSL"
}
}
}
Lors de la création d'un order
, seul le champ code
du produit doit être renseigné.
Les autres champs sont ajoutés automatiquement pour vous permettre d'accéder plus facilement à l'information.
Exemple:
{
"code": "AM01",
}
Suivre l'avancée d'une commande¶
Nom du champ |
Type |
Description |
---|---|---|
status |
string |
État de la comamnde : |
creation_date |
ISO datetime |
Date de création de la commande |
modification_date |
ISO datetime |
Date de dernière modification de la commande |
processing_date |
ISO datetime |
Date de démarrage du traitement effectif de la commande |
submission_date |
ISO datetime |
Date de soumission de la commande |
acknowledged_date |
ISO datetime |
Date de prise en compte de la commande par Covage |
held_date |
ISO datetime |
Dernière date de passage de la commande en statut |
completion_date |
ISO datetime |
Date de passage de la commande en status |
cancellation_date |
ISO datetime |
Date de passage de la commande en status |
rejection_date |
ISO datetime |
Date de passage de la commande en status |
Champ status
¶
Statut des ordres |
Description |
---|---|
|
L’ordre a été créé, mais n’a pas été soumis. |
|
L’ordre a été soumis avec succès par l’opérateur. |
|
L’ordre a été acquitté par Covage. |
|
L’ordre a fait l’objet d’un acquittement par le fournisseur, il est en cours de traitement |
|
L’ordre est en attente d’une action de l’opérateur. Exemple : confirmation d’une commande xDSL sur un accès sensible |
|
L’ordre est en attente d’une action de Covage (ou du PROVIDER). Exemple : processus de désaturation de la boucle locale cuivre |
|
L’ordre a été rejeté. Ce rejet peut avoir lieu lors des différentes étapes de la production de l’accès : contrôles initiaux ou étapes postérieures). Un ordre de type |
|
L’ordre a été annulé par l'opérateur (action |
|
L’ordre s’est terminé avec succès. Un ordre de type |
Caractéristique d'une commande de type collect
¶
Nom du champ |
Type |
Description |
---|---|---|
owner |
dictionnaire |
Informations sur le client final |
contacts |
dictionnaire |
Informations de contact pour l' |
Champ owner
¶
Le champ owner
est un dictionnaire contenant les informations d'identification du client final.
Voir la documentation ici
Champ contacts
¶
Le champ contacts
est un dictionnaire contenant les informations sur les personnes à contacter pour la réalisation
de la commande.
Nom du champ |
Type |
Description |
---|---|---|
operator |
dictionnaire |
Informations de contact de l'opérateur (vous) |
owner |
dictionnaire |
Informations de contact du client final |
Le champ contacts.operator
permet de préciser quelle personne chez vous devra être contactée dans le cas où Covage
rencontrerait un problème sur la réalisation de la commande.
Exemple:
{
"contact_uuid": "93reo2i3",
}
L'API Contacts vous permettra de lister, créer, modifier et supprimer vos contacts.
Le champ contacts.owner
vous permet de préciser les informations sur le propriétaire de la ligne à créer.
{
"first_name": "John",
"last_name": "Doe",
"phone_number": "0168425698",
"cell_phone_number": "0668425698",
"email": "john@doe.com"
}
Caractéristique d'une commande d'activation d'un service de type collect
¶
Nom du champ |
Type |
Description |
---|---|---|
activation_type |
string |
Type d'activation. Peut être |
activation_info |
dictionnaire |
Informations sur l'activation |
eligibility_ref |
string |
Identifiant de la demande d'éligibilité |
address |
dictionnaire |
Adresse de l' |
endpoints |
liste d'endpoints |
Liste des endpoints initiaux (liste vide dans le cas d'une demande de construction) |
reference_endpoint |
dictionnaire |
Endpoint d'une ligne active voisine (cas d'une demande de construction) |
enni |
dictionnaire |
Définition du service ENNI vers lequel vous souhaitez router le traffic (cas d'un produit de la famille S) |
options |
dictionnaire |
Options à activer (dépend du produit sélectionné). |
comment |
string |
Informations spécifiques convenues avec Covage pour activer le service |
Champ activation_info
¶
Le champ activation_info
est un dictionnaire contenant les
informations nécessaires à la commande lorsque le type de la commande
est activate
.
Nom du champ |
Type |
Description |
---|---|---|
mandate_id |
string |
Référence au mandat de dégroupage signé par le client final auprès de vous en cas d'activation de ligne. Ce mandat pourrait vous être réclamé en cas d'écrasement de ligne à tort |
Champ endpoints
¶
Dans le cas d'une activation de ligne, le champ endpoints
permet d'indiquer à Covage le ou les endpoints
à activer.
Voir xDSL pour plus d'informations.
Champ reference_endpoint
¶
Dans certains cas de création de ligne, l'endpoint
final n'existe
pas encore. L'éligibilité doit donc s'effectuer sur un endpoint
de
référence proche de celui à créer. Voir xDSL pour plus d'informations.
Une fois l'ordre créé, le champ reference_endpoint
contiendra les informations de l'endpoint
de référence.
Exemple d'endpoint
:
{
"endpoint_ref": "0123456789",
"endpoint_ref_type": "line_number",
}
Champ address
¶
Dans le cas d'une activation de ligne, le champ
address
contient les informations d'adresse de la ligne à activer.Dans le cas d'une création de ligne, le champ
address
est pré-rempli avec les informations de l'endpoint
de référence. Certains champs sont alors modifiables afin de préciser l'adresse exacte de l'endpoint
à créer (étage, numéro de rue, etc..).
Note
Les champs de l'addresse à renseigner dépendent du type d'activation. Les
règles de définition de l'adresse sont renseignées dans la section
Commande d'une ligne XDSL
. Cf xDSL pour plus
d'informations.
Champ enni
¶
Doit être défini avec un produit de la famille SDSL (S
).
Voir la documentation ici.
Champ origin
¶
Le champ origin
est en lecture seule et peut prendre comme valeur (standard
, mass_migration
,
unit_migration
) qui est automatiquement calculée par la platforme en fonction de type de commande. Ce champ permet
de distinguer une commande STANDARD, d'une MASS_MIGRATION.
Note
En V2, la valeur de ce champ sera forcée à standard
et ne permettra plus de distinguer son origine véritable.
Nous vous invitons à ne plus utiliser ce champ.
Champ options
¶
Le champ options
est un dictionnaire dont la clef est le code de l'option et la valeur est un dictionnaire
contenant sa configuration.
Dans le cas des commandes comportant une demande de portabilité, le compte-rendu de portabilité de l'opérateur de boucle locale (opérateur attributaire et opérateur d’infrastructure) est transmis directement à l’opérateur. Également, le champs prefix_code est obligatoire, facultativement vous pouvez préciser un rio_code.
Voir la documentation ici.
Caractéristique d'une commande d'un service de type enni
¶
Nom du champ |
Type |
Description |
---|---|---|
pop |
dictionnaire |
Information sur le POP hebergeant l'ENNI. |
Champ pop
¶
Le champ pop
est un dictionnaire qui renvoie les caracteristiques de l'API.
Exemple:
{
"pop": {
"address": "137 Boulevard Voltaire, 75011 PARIS",
"code": "P75TH2",
"housing": "TELEHOUSE 2",
"interface": "10G_SR"
}
}
Créer un order
¶
Lors de la création d’un nouvel order
, son status est mis à draft
(on parle de draft order
).
Cette facilité permet à l’opérateur de renseigner le draft order avec les premières informations disponibles et de le compléter par la suite. Une fois toutes les informations renseignées, il faudra soumettre l'order
pour une exécution effective de la commande via l'url /api/orders/{order_uuid}/submit/
.
Pour créer un order
, un POST
doit être effectué sur l'url /api/orders/
.
Pour l'instant, seules les commandes d'activation ou de résiliation d'un service de type collect
peuvent être créées via l'extranet.
Exemple:
POST /api/orders/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"type" : "activate",
"activation_type" : "activate",
"eligibility_ref": "KOSC_8178cd36-9207-4f86-a932-caaebba14381",
"product" : {
"code" : "SD01"
},
"options" : {
"grt" : {
"value" : "4h_bhbd",
"enabled" : true
}
},
"contacts" : {
"operator" : {
"contact_uuid" : "bp5nkkcx"
},
"owner" : {
"phone_number" : "0123456789",
"email" : "email@domain.com",
"first_name" : "Prénom",
"last_name" : "Nom"
}
},
"operator_order_ref" : "UNTEL02-1",
"operator_order_name" : "Commande pour client Untel",
"comment" : "Commentaires",
"activation_info" : {
"mandate_id" : "01234567"
},
"owner" : {
"type" : "unregistrated",
"name" : "Untel"
},
"endpoints" : [ {
"endpoint_ref_type" : "line_number",
"endpoint_ref" : "0492271978"
} ],
"address" : {
"street_name" : "BOULEVARD SAINT ROCH",
"kosc_street_code" : "0608859150",
"floor" : "00",
"city" : "NICE",
"kosc_insee_code" : "06088",
"street_number" : "0022"
},
"enni": {
"enni_vlan": "111",
"enni_service_ref": "S20181102_12001"
}
}
Dans cet exemple, les champs suivants sont ajoutés par Covage:
model
order_uuid
alias
creation_date
modification_date
status
Réponse :
HTTP/1.1 201 OK
Content-Type: application/json
{
"model": "order",
"order_uuid": "35266f3e-1915-43a3-925e-1a19d822ce9e",
"alias": "O170516_21000",
"creation_date": "2019-09-16 08:53:27.676901+00:00",
"modification_date": "2019-09-16 08:53:27.676933+00:00",
"status": "draft",
"type" : "activate",
"activation_type" : "activate",
"eligibility_ref": "KOSC_8178cd36-9207-4f86-a932-caaebba14381",
"product": {
"name": "SDSL-4M-PREMIUM-G-1P-KOSC",
"code": "SD01",
"description": "SDSL 4Mbit/s PREMIUM * Guaranteed * 1 pair * KOSC",
"line": {
"name": "SDSL-4M",
"code": "SD",
"description": "SDSL-4M * Rate : 4 Mbits",
"family": {
"name": "SDSL",
"code": "S",
"description": "SDSL"
}
}
},
"options" : {
"grt" : {
"value" : "4h_24_7",
"enabled" : true,
"default_value" : "null"
},
"unlisted_number": {
"enabled": false
},
"internal_cabling": {
"enabled": false,
"default_value": "0-5m"
},
"contract_term": {
"enabled": false,
"default_value": "12_months"
},
"portability": {
"enabled": false,
"contract_ref": null,
"operator_code": null
}
},
"contacts" : {
"operator" : {
"contact_uuid" : "bp5nkkcx"
},
"owner" : {
"phone_number" : "0123456789",
"email" : "email@domain.com",
"first_name" : "Prénom",
"last_name" : "Nom"
}
},
"operator_order_ref" : "UNTEL02-1",
"operator_order_name" : "Commande pour client Untel",
"comment" : "Commentaires",
"activation_info" : {
"mandate_id" : "01234567"
},
"owner" : {
"type" : "unregistrated",
"name" : "Untel"
},
"owner_name" : null,
"endpoints": [
{
"endpoint_ref": "0492271978",
"endpoint_ref_type": "line_number",
"concentration_point": {
"latlng": {
"latitude": 43.7101894,
"longitude": 7.2930888
},
"address": {
"kosc_street_code": "0608859150",
"kosc_insee_code": "06088",
"street_number": "00022",
"street_name": "BD SAINT ROCH",
"city": "NICE",
"housing_complex": null,
"building": null,
"stairs": null,
"floor": null,
"door": null,
"logo": null
}
},
"info": {
"inactive": false,
"unlisted_number": true,
"available_pairs": 11,
"max_available_pairs": 11,
"under_construction": false
},
"characteristics": {
"sections_lengths": [
{
"diameter": 4,
"length": 1425
}
],
"nra": "06088CAR"
}
}
],
"address": {
"kosc_street_code": "0608859150",
"kosc_insee_code": "06088",
"street_number": "22",
"street_name": "BOULEVARD SAINT ROCH",
"city": "NICE",
"zipcode": "06000",
"housing_complex": "DELPHINARIUM DU MONT LUPIN",
"building": null,
"stairs": null,
"floor": "00",
"door": null,
"logo": null
},
"pop": {
"code": null,
"interface": null
},
"enni": {
"enni_vlan": "111",
"enni_service_ref": "S20181102_12001"
}
}
Récupérer un order
¶
Il est possible de récupérer un order
avec la méthode GET
sur l'url /api/orders/{order_uuid}/
.
GET /api/orders/35266f3e-1915-43a3-925e-1a19d822ce9e/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Modifier un order
¶
Il est possible de modifier un order
avec la méthode PUT
sur l'url /api/orders/{order_uuid}/
.
Seules les modifications sur les champs suivants seront prises en comptes.
owner
comment
contacts
options
operator_order_ref
operator_order_name
enni
batch_alias
Note
Le comportement lors de la modifications du champs endpoints
dépend du type d'order
.
Note
Il n'est possible de modifier un order
que si son status
est à draft
.
Note
À chaque PUT
, l'intégralité du document doit être envoyé. Les champs modifiables qui ne sont plus présents
seront supprimés de l'order
.
Note
Le champ batch_alias
est renseigné lorsque la commande entre dans un programme de migration de masse géré par
Covage.
Supprimer un order
¶
Il est possible de supprimer un order
à l'état draft
avec la méthode DELETE
sur l'url
/api/orders/{order_uuid}/
.
DELETE /api/orders/35266f3e-1915-43a3-925e-1a19d822ce9e/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Réponse:
HTTP/1.1 200 OK
Content-Type: application/json
{}
Soumettre un order
¶
Il est possible de soumettre un order
d'activation ou de résiliation d'un service de type collect
en effectuant
un POST sur l'url /api/orders/{order_uuid}/submit/
. Cette commande doit être dans l'état draft.
POST /api/orders/35266f3e-1915-43a3-925e-1a19d822ce9e/submit/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Réponse:
HTTP/1.1 200 OK
Content-Type: application/json
{}
Confirmer ou annuler un order
d'activation¶
Dans le cas d'une commande d'activation d'un service de type collect
, l'arrivée de certains événements requiert une
réponse de votre part, la commande passe alors dans l'état pending
.
Il vous est possible d’envoyer votre réponse en effectuant un POST sur l'url /api/orders/{order_uuid}/{action}/
.
Les actions possibles sont les suivantes :
confirm
cancel