Orders¶
An order
is a dictionary containing some fields representing an order.
Order Type¶
There is 2 types of orders:
The
activate
order is used to create a new service. It’s an activation order. It’s defined with a product chosen in the Covage catalog.The
terminate
order is used to end a service from an active service on the Covage platform. It’s a terminate order.
Service type¶
The platform handle two service types depending on the product range used to order a service:
collect
service defined by a product in the familyADSL
(A
),SDSL
(S
) orSDSL Max
(M
).enni
service defined by a product in the familyENNI
(N
).
Collect Order type¶
Depending on the order collect
is one of a neighbour or not, there
is 4 types of collect
activation orders:
activate
when the line used belong to the final client.create
when the final client wants to create a new line from another one he already activated on the local loop.create_nearby
wen the final client wants to create a new line in a building from the activated line of a neigbour in the same neighbour.create_neighbour
when the final client want to create a new line from the activated line living in a different address but on the same pavement.
The initial state of an order is draft
. It’s a draft order
.
service activation order of
collect
type needind a line buildingcreate
,create_nearby
andcreate_neighbour
) require an appointment with the final client and local loop operator.Every service order of type
collect
needs a contact name from the operator.
Note
The terminate order of a
enni
service is not permitted on the platform.The activation order of an
enni
service must be ordered with Covage. They are created and managed by Covage. You can access them throughorder
andservice
api.
order
composition¶
Order attributes contains required informations to indentify, define and follow an order.
Some fields are only used for specific services (collect
or enni
) and the activation type
(with or without line building).
Identify an order¶
Field name |
Type |
Description |
---|---|---|
model |
string |
|
operator_uuid |
string |
Operator identifier (you) |
order_uuid |
string |
Technical order identifier |
alias |
string |
Legible Covage order reference, in the format OYYMMDD_XXXXX , to be provided to Delivery service |
operator_order_ref |
string |
Order reference in your information system |
operator_order_name |
string |
Order name as displayed on the extranet |
Define an order¶
Field name |
Type |
Description |
---|---|---|
type |
string |
|
product |
dict |
Informations about the chosen product. Define the service type, technology flow rate and available options. |
service_uuid |
string |
Service technical identifier:
|
service_alias |
string |
Covage commercial reference of the service: (To send along with all exchange with Covage).
|
batch_alias |
string |
Commercial Covage reference of a batch. Set by the Covage delivery team. formated as BYYMMDD_XXXXX. used when the order is part of a mass migration batch. |
type
field¶
There are several types of orders:
Order Type |
Description |
---|---|
|
New service creation |
|
Existing service termination |
product
field¶
The product
dictionary contains the information required for activation, as well as information
about the product line and the product family (see product catalog).
{
"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"
}
}
}
When creating an order
, only the product code
field has to be filled in. The other fields are automatically
added by KOSC to grant you an easy access to the information.
Example:
{
"code": "AM01",
}
Follow the order status¶
Field name |
Type |
Description |
---|---|---|
status |
string |
Order state: |
creation_date |
ISO datetime |
Order creation date |
modification_date |
ISO datetime |
Date of last order modification |
processing_date |
ISO datetime |
Actual order processing start date |
submission_date |
ISO datetime |
Order submission date |
acknowledged_date |
ISO datetime |
Date of order acknowledgment by the Covage system |
held_date |
ISO datetime |
Last date when order changed to |
completion_date |
ISO datetime |
Date when order changed to |
cancellation_date |
ISO datetime |
Date when the order changed to |
rejection_date |
ISO datetime |
Date when order changed to |
status
field¶
Order state |
Description |
---|---|
|
The order was created but not submitted. |
|
The order was successfully submitted by the operator. |
|
The order was acknowledged by Covage. |
|
The order was acknowledged by the provider, and is being processed |
|
The order is waiting for an action by the operator. Example : xDSL order confirmation on a sensitive access |
|
The order is waiting for an action by Covage (or by the PROVIDER). Example : copper local loop desaturation process |
|
The order was rejected. The rejection may happen in different
stages of the access production process: initial controls or
later stages). A rejected order of the |
|
The order was canceled by the operator ( |
|
The order was successfully completed. An order of the
|
Order Characteristics for a collect
service¶
Field name |
Type |
Description |
---|---|---|
owner |
dictionary |
End customer contact information |
contacts |
dictionnaire |
Informations de contact pour l’ |
owner
field¶
The owner
field is a dictionary containing the end customer identification information.
See documentation here.
contacts
field¶
The contacts
field is a dictionary containing information about the people to contact in order to process the order.
Field name |
Type |
Description |
---|---|---|
operator |
dictionary |
Operator (you) contact information |
owner |
dictionary |
End customer contact information |
The contacts.operator
field allows you to specify the person in your team that has to be contacted should Covage
encounter any problem with the processing of an order.
Example:
{
"contact_uuid": "93reo2i3",
}
The Contacts API allows you to list, create, modify and delete your contacts.
The contacts.owner
field allows you to specify the information associated with the owner of the line that has to be
created.
{
"first_name": "John",
"last_name": "Doe",
"phone_number": "0168425698",
"cell_phone_number": "0668425698",
"email": "john@doe.com"
}
Activation order characteristics for a collect
service.¶
Field name |
Type |
Description |
---|---|---|
activation_type |
string |
Activation type. Either |
activation_info |
dictionary |
Activation information |
eligibility_ref |
string |
Eligibility request identifier |
address |
dict |
|
endpoints |
endpoint list |
List of initial endpoints. Empty if building line is required |
reference_endpoint |
dict |
Active neighbour endpoint (if building line is required) |
enni |
dict |
informations about the |
options |
dict |
Options to be activated (depending on the selected product) |
comment |
string |
Specific information, agreed with Covage, for service activation |
activation_info
field¶
The activation_info
field is a dictionary containing the required informations for order when
it’s an activate order
.
Field name |
Type |
Description |
---|---|---|
mandate_id |
string |
Refers to the unbundling mandate signed with you by the end customer for line activation. This mandate could be claimed from you in case of slamming. |
endpoints
field¶
For line activation, endpoints
field is mandatory and express to Covage one or more endpoints
to be activated. xDSL for more informations.
reference_endpoint
field¶
In some cases, during the creation of a line, the final endpoint
still does not exist. Eligibility then must be
carried out on an endpoint
near the endpoint that has to be created.
Once the order is created, the reference_endpoint
field will contain information about the reference endpoint
.
endpoint
example:
{
"endpoint_ref": "0123456789",
"endpoint_ref_type": "line_number",
}
Note
Warning: you must provide all the values that were sent to you upon issuing the eligibility request without modification.
address
field¶
in case of line activation, the address
field contains informations about de line address of the
line to activate and is pre-filled with informations of the reference_endpoint
.
Some fields are the modifiable to indicate exact address of the endpoint
to be created (stairs,
street number and so on).
Note
The address fields to fill depends on the activation type. The address definition infos are in the section xDSL line order.
enni
field¶
Must be filled with a SDSL family product (S
).
See documentation here.
origin
field¶
The origin
field is a read-only field whose value (standard
, mass_migration
, unit_migration
) is
computed automatically by the platform depending on the order type. This field allows the customer to differentiate
well between STANDARD order and MASS_MIGRATION order.
options
field¶
The option field is a dictionary with the option code as the key and configuration dictionary as value.
For orders that include a portability request, the portability report form the local loop operator (operator awarded the contract and infrastructure operator) is directly transmitted to the operator. Also you should a prefix_code and optionalaly a rio_code. See doc here.
Order characteristics for an enni
service¶
Field name |
Type |
Description |
---|---|---|
pop |
dict |
Informations about the POP hosting the |
pop
field¶
The pop
field is a dictionary with characteristics from the API.
Exemple:
{
"pop": {
"address": "137 Boulevard Voltaire, 75011 PARIS",
"code": "P75TH2",
"housing": "TELEHOUSE 2",
"interface": "10G_SR"
}
}
Creating an order
¶
When an order
is being created, its state is draft
(the term draft order
is used).
This feature allows the operator to fill in the initial information available and to complete it later on.
To create an order
, a POST
must be executed on the URL /api/orders/
.
But only the activation order of a collect
service can be created on the extranet.
Example:
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" : "0143340043"
} ],
"address" : {
"street_name" : "RUE DU CAPITAINE GUYNEMER",
"rivoli_code" : "1440",
"floor" : "03",
"city" : "COURBEVOIE",
"insee_code" : "92026",
"street_number" : "00044"
},
"enni": {
"enni_vlan": "111",
"enni_service_ref": "S20181102_12001"
}
}
In this example, Covage adds the fields below:
model
order_uuid
alias
operator_uuid
creation_date
modification_date
status
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"model": "order",
"order_uuid": "t8jcx8tp",
"alias": "O170516_21000",
"operator_uuid": "9lf2g9rt",
"creation_date": "2017-05-16T21:36:23.945079",
"modification_date": "2017-05-16T21:36:23.945079",
"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" : "4h_bhbd"
}
},
"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" : "0143340043"
} ],
"address" : {
"street_name" : "RUE DU CAPITAINE GUYNEMER",
"rivoli_code" : "1440",
"floor" : "03",
"city" : "COURBEVOIE",
"insee_code" : "92026",
"street_number" : "00044"
},
"enni": {
"enni_vlan": "111",
"enni_service_ref": "Gate 1"
}
}
Retrieve an order
¶
You can retrieve an order
by means of the GET
method on the /api/orders/{order_uuid}/
URL.
GET /api/orders/t8jcx8tp/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Update an order
¶
You can update an order
by means of the PUT
method on the /api/orders/{order_uuid}/
URL.
Only the modifications on the following fields will be taken into account:
owner
comment
contacts
options
operator_order_ref
operator_order_name
enni
batch_alias
Note
The behavior upon modification of the endpoints
field depends on the order
type.
Note
An order
cannot be modified unless its state (status
) is draft
.
Note
Every time a PUT
is used, the whole document must be sent. The modifiable fields that are no longer present
will be deleted from the order
.
Note
The batch_alias
field is filled when an order is part of a mass migration program managed by Covage.
Delete an order
¶
You can delete an order
in the draft
state by means of the DELETE
method on the
`/api/orders/{order_uuid}/
URL.
DELETE /api/orders/t8jcx8tp/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{}
Submit an order
¶
It’s possible to submit an activation order
or terminate order
of a collect
service with
a POST on POST sur l’url /api/orders/{order_uuid}/submit/
. The order
mst be in the draft
state.
POST /api/orders/t8jcx8tp/submit/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{}
Confirm or cancel an activation order
¶
If the order is a service activation of collect
type, some event requires an answer from you. At
this time the order is in the pending
state.
You can send your answer with a POST on /api/orders/{order_uuid}/{action}/
.
possible actions are:
confirm
cancel