Retrieve what services (if any) the supplier has available for a given address.
This follows the concepts in TMF645 - Service Qualification API and TMF673 - Address Management API.
The Fibre Cafe is a scalable, unified platform to support L2C provisioning, in-life modification/cease and T2R trouble resolution between communication providers (CP) and network operators or aggregators.
CPs are known as 'tenants' on the Fibre Cafe and communicate with the Fibre Cafe's Tenant API. The network operators and aggregators providing the underlying services are known as 'suppliers' and provide the Supplier API.
Each supplier is responsible for implementing this southbound API specification for the Fibre Cafe to retrieve available services and support appointing and order management.
Note: Order updates (KCIs) must be sent to the Supplier Updates API hosted by the Fibre Cafe. __
© 2022-2026 Strategic Imperatives
This endpoint is called to place an order with the supplier to provision a new service or cease/modify an existing service.
The supplier should validate the order request and accept the order if the validation is successful or otherwise reject the order. If the order is rejected, a 422 code should be returned with reason(s) for the rejection in the response.
If the order is accepted, the supplier may return a 202 accepted response without acknowledging the order if further validation/processing is required. In this scenario, the supplier must then send an order update (KCI) to later acknowledge the order and provide the order number.
Alternatively, the supplier can synchronously acknowledge the order by returning a 201 created response with the returned order containing the supplier order number and status of ACKNOWLEDGED. The order can also be committed at this stage by returning the order status of IN_PROGRESS.
Represents a provide order for new service(s) at a particular address.
Unique id identifying this service order - generated by the Fibre Cafe
The type of order - new, (re)start, takeover, transfer or swap
The tenant that has placed the order on the Fibre Cafe
Address identifier for location including type of identifier.
Order for a service that the supplier provides at the selected address.
Details of a service the supplier provides at the selected address.
List of service characteristics for the service order item
Represents a contact available at the given site/address.
Contact email address (if available)
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Where not appointed, allows a date to be requested for the service activation
Engineer tasks to be performed at installation appointment.
Hazard information about the site where the service(s) will be installed
Information about restrictions on the site where the service(s) will be installed
curl -i -X POST \
https://api.provided_by_supplier.net/service-orders \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 123,
"orderType": "NEW",
"tenant": "TENANT1",
"address": {
"id": "200004033694",
"type": "UPRN"
},
"serviceOrderItem": {
"serviceSpecification": {
"id": "ftthl2r"
},
"serviceCharacteristics": [
{
"name": "ENNI_ID",
"value": "1"
}
]
},
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"appointmentReservationId": 234,
"appointmentReservationReference": "A234X",
"requestedCompletionDate": "2022-01-10",
"engineerTasks": [
"TEST_SINGLE_DEVICE"
],
"hazards": "Hazardous materials stored on site",
"onSiteRestrictions": "Restricted access",
"notes": "Lorem ipsum dolor sit amet..."
}'Order was acknowledged - returned order should contain the supplier order number and appropriate status
Unique identifier to identify request and response events across the Fibre Cafe gateway
Represents a provide order for new service(s) at a particular address.
Order lifecycle adapted from TMF641 - order update events (KCIs) will be forwarded to the tenant as the order transitions from one state to the other.
Unique reference identifying this service - order supplier (where applicable)
When the supplier first commits to fulfil the order this field will contain the expected completion date. Once set, this value cannot change.
The current expected completion date. This can be different to the committedDate if the order has been delayed for any reason, and can change possibly multiple times.
Unique id identifying this service order - generated by the Fibre Cafe
The type of order - new, (re)start, takeover, transfer or swap
The tenant that has placed the order on the Fibre Cafe
Address identifier for location including type of identifier.
Order for a service that the supplier provides at the selected address.
Details of a service the supplier provides at the selected address.
List of service characteristics for the service order item
Represents a contact available at the given site/address.
Contact email address (if available)
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Where not appointed, allows a date to be requested for the service activation
Engineer tasks to be performed at installation appointment.
Hazard information about the site where the service(s) will be installed
Information about restrictions on the site where the service(s) will be installed
{ "status": "PENDING_CANCELLATION", "supplierReference": "A123X", "committedDate": "2022-01-01T09:09:33.001Z", "targetDate": "2022-01-01T09:09:33.001Z", "id": 123, "orderType": "NEW", "tenant": "TENANT1", "address": { "id": "200004033694", "type": "UPRN" }, "serviceOrderItem": { "serviceSpecification": { … }, "serviceCharacteristics": [ … ] }, "primaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "secondaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "appointmentReservationId": 234, "appointmentReservationReference": "A234X", "requestedCompletionDate": "2022-01-10", "engineerTasks": [ "TEST_SINGLE_DEVICE" ], "hazards": "Hazardous materials stored on site", "onSiteRestrictions": "Restricted access", "notes": "Lorem ipsum dolor sit amet..." }
This endpoint is called to request amendment(s) to an existing inflight order to provision, modify or cease a service.
A request will contain 1 or more fields to be amended - only fields supplied should be changed e.g. if a new contact phone number is provided then the existing contact name and email address would remain the same.
The supplier should validate the amendment request. If the request is invalid or not possible then a 422 code should be returned with reason(s) for the rejection in the response.
The supplier may return a 202 accepted response without confirming the cancellation if further validation/processing is required. In this scenario, the supplier must then send an order update (KCI) to later confirm the order was cancelled or if rejected.
Alternatively, the supplier can confirm the amendment immediately by returning a 201 created response.
Represents a request to amend an existing inflight service provide order. Any value(s) supplied will replace the existing value(s).
Unique identifier for this provide service order amendment request (generated by the Fibre Cafe)
List of service characteristics for the service order item
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Where not appointed, allows the tenant/customer to request a date for the service activation
Engineer tasks to be performed at installation appointment.
Hazard information about the site where the service will be installed
Information about restrictions on the site where the service(s) will be installed
curl -i -X POST \
https://api.provided_by_supplier.net/service-order-amendments \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 234,
"orderId": 123,
"serviceCharacteristics": [
{
"name": "ENNI_ID",
"value": "1"
}
],
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"appointmentReservationId": 345,
"appointmentReservationReference": "A234X",
"requestedCompletionDate": "2022-01-10",
"engineerTasks": [
"TEST_SINGLE_DEVICE"
],
"hazards": "string",
"onSiteRestrictions": "string",
"notes": "Lorem ipsum dolor sit amet..."
}'Order amendment request was successful and the order has been updated.
Unique identifier to identify request and response events across the Fibre Cafe gateway
Represents a request to amend an existing inflight service provide order. Any value(s) supplied will replace the existing value(s).
Unique identifier for this provide service order amendment request (generated by the Fibre Cafe)
List of service characteristics for the service order item
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Where not appointed, allows the tenant/customer to request a date for the service activation
Engineer tasks to be performed at installation appointment.
Hazard information about the site where the service will be installed
Information about restrictions on the site where the service(s) will be installed
Unique reference generated by the supplier for this amendment request
Where this amendment has resulted in a change to the order committed date, this field will contain the new date.
{ "id": 234, "orderId": 123, "serviceCharacteristics": [ { … } ], "primaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "secondaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "appointmentReservationId": 345, "appointmentReservationReference": "A234X", "requestedCompletionDate": "2022-01-10", "engineerTasks": [ "TEST_SINGLE_DEVICE" ], "hazards": "string", "onSiteRestrictions": "string", "notes": "Lorem ipsum dolor sit amet...", "supplierReference": "A123-1", "committedDate": "2022-01-01T09:09:33.001Z", "targetDate": "2022-01-01T09:09:33.001Z" }
This endpoint is called to request cancellation of an existing inflight order to provision/modify/cease a service or for a cancellation other (unsolicited cease).
The supplier should validate the cancellation request. If the request is invalid or not possible then a 422 code should be returned with reason(s) for the rejection in the response.
The supplier may return a 202 accepted response without confirming the cancellation if further validation/processing is required. In this scenario, the supplier must then send an order update (KCI) to later confirm the order was cancelled or if rejected.
Alternatively, the supplier can confirm the cancellation immediately by returning a 201 created response.
Unique identifier for this order cancellation request (generated by the Fibre Cafe)
Codes representing reason for cancellation:
Reason codes for cancellation other (unsolicited cease):
curl -i -X POST \
https://api.provided_by_supplier.net/service-order-cancellations \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 345,
"orderId": 123,
"reasonCode": "CUSTOMER_CHANGED_MIND",
"supplierOrderReference": "A123X"
}'Order cancellation request was successful and the order has been cancelled.
Unique identifier to identify request and response events across the Fibre Cafe gateway
Unique reference generated by the supplier for this cancellation request
Unique identifier for this order cancellation request (generated by the Fibre Cafe)
Codes representing reason for cancellation:
Reason codes for cancellation other (unsolicited cease):
{ "supplierReference": "A123-1", "id": 345, "orderId": 123, "reasonCode": "CUSTOMER_CHANGED_MIND", "supplierOrderReference": "A123X" }
This endpoint can be called to place an ethernet order with a supplier to provide service. Ability to cease or modify a service will follow in a later update.
The supplier should validate the order request and accept the order if the validation is successful or otherwise reject the order. If the order is rejected, a 422 code should be returned with reason(s) for the rejection in the response.
If the order is accepted, the supplier may return a 202 accepted response without acknowledging the order if further validation/processing is required. In this scenario, the supplier must then send an order update (KCI) to later acknowledge the order and provide the order number.
Alternatively, the supplier can synchronously acknowledge the order by returning a 201 created response with the returned order containing the supplier order number and status of ACKNOWLEDGED. The order can also be committed at this stage by returning the order status of IN_PROGRESS.
curl -i -X POST \
https://api.provided_by_supplier.net/ethernet/service-orders \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 123,
"tenant": "TENANT1",
"supplierQuoteId": "SUPP2-QUO-ETH-5001",
"siteInformation": [
{
"name": "Strategic Imperative Offices",
"postcode": "TW184LG",
"role": "A-END",
"address": {
"id": "200004033694",
"type": "UPRN"
},
"siteCharacteristics": [
{
"name": "END_USER_CPE",
"value": "Zyzel DX3301"
}
],
"wayleave": {
"wayleaveOwner": true,
"wayleaveCharacteristics": [
{
"name": "END_USER_CPE",
"value": "Zyzel DX3301"
}
],
"wayleaveContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
}
},
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"hazards": "Hazardous materials stored on site",
"onSiteRestrictions": "Restricted access",
"notes": "Lorem ipsum dolor sit amet..."
},
{
"name": "Strategic Imperative Offices",
"postcode": "TW184LG",
"role": "A-END",
"address": {
"id": "200004033694",
"type": "UPRN"
},
"siteCharacteristics": [
{
"name": "END_USER_CPE",
"value": "Zyzel DX3301"
}
],
"wayleave": {
"wayleaveOwner": true,
"wayleaveCharacteristics": [
{
"name": "END_USER_CPE",
"value": "Zyzel DX3301"
}
],
"wayleaveContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
}
},
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"hazards": "Hazardous materials stored on site",
"onSiteRestrictions": "Restricted access",
"notes": "Lorem ipsum dolor sit amet..."
}
],
"ethernetOrderItem": [
{
"service": {
"serviceSpecification": {
"id": "ftthl2r"
},
"serviceCharacteristic": [
{
"name": "END_USER_CPE",
"value": "Zyzel DX3301"
}
]
},
"contractDetails": {
"contractLength": {
"value": 36,
"unit": "MONTH"
},
"billingFrequency": "MONTHLY",
"priceAlteration": "string"
},
"requestedCompletionDate": "2022-01-10",
"technicalContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
}
}
]
}'{ "id": 123, "tenant": "TENANT1", "status": "PENDING_CANCELLATION", "supplierOrderNumber": "A123X", "created": "2022-01-01T09:09:33.001Z", "updated": "2022-01-01T09:45:39.001Z", "committedDate": "2022-01-01T09:09:33.001Z", "targetDate": "2022-01-01T09:09:33.001Z", "supplierQuoteId": "SUPP2-QUO-ETH-5001", "siteInformation": [ { … }, { … } ], "ethernetOrderItem": [ { … } ] }