Skip to content

Fibre Cafe : Supplier API (1.15)

Introduction

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

Download OpenAPI description
Languages
Servers
https://api.provided_by_supplier.net

Service Availability

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.

Operations

Quote Management

Create and manage a quote to provide service at requested sites. This follows the concepts in TMF648 - Quote Management API.

Operations

Appointment Management

Retrieve and reserve appointments for installing a service at a given address.

This follows the concepts in TMF646 - Appointment API.

Operations

Order Management

Create and manage an order to provide, cease or modify a service at a given address.

This follows the concepts in TMF641 - Service Ordering Management API.

Operations

Create an order to provide, cease or modify a service.

Request

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.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Tenantstringrequired

The tenant that has placed the request on the Fibre Cafe

Example: TENANT1
Bodyapplication/json
One of:

Represents a provide order for new service(s) at a particular address.

idnumber>= 1required

Unique id identifying this service order - generated by the Fibre Cafe

Example: 123
orderTypestring(ProvideOrderType)required

The type of order - new, (re)start, takeover, transfer or swap

Enum"NEW""START""TAKEOVER""TRANSFER""SWAP"
tenantstring[ 1 .. 50 ] charactersrequired

The tenant that has placed the order on the Fibre Cafe

Example: "TENANT1"
addressobject(AddressIdentifier)required

Address identifier for location including type of identifier.

address.​idstringrequired

Address identifier of provided type e.g. UPRN

Example: "200004033694"
address.​typestringrequired

Type of addressId provided e.g. UPRN

Example: "UPRN"
serviceOrderItemobject(ServiceOrderItem)required

Order for a service that the supplier provides at the selected address.

serviceOrderItem.​serviceSpecificationobject(ServiceSpecification)required

Details of a service the supplier provides at the selected address.

serviceOrderItem.​serviceSpecification.​idstring[ 1 .. 50 ] charactersrequired

Unique identifier for this service specification (if available)

Example: "ftthl2r"
serviceOrderItem.​serviceCharacteristicsArray of objects(ServiceCharacteristic)>= 0 itemsrequired

List of service characteristics for the service order item

serviceOrderItem.​serviceCharacteristics[].​namestring[ 1 .. 50 ] charactersrequired

Name of the service characteristic

Example: "ENNI_ID"
serviceOrderItem.​serviceCharacteristics[].​valuestring[ 1 .. 50 ] charactersrequired

Value for this characteristic

Example: "1"
primaryContactobject(Contact)required

Represents a contact available at the given site/address.

primaryContact.​namestring[ 1 .. 100 ] charactersrequired

Contact name

Example: "John Smith"
primaryContact.​emailstring^\S{1,64}@\S{2,254}$

Contact email address (if available)

Example: "john@smith.com"
primaryContact.​phoneNumberstring^\+?[\d\s\-#]{8,50}$required

Contact phone number

Example: "01234 567890"
secondaryContactobject(Contact)

Represents a contact available at the given site/address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 234
appointmentReservationReferencestring[ 1 .. 50 ] characters

Unique reference identifying the appointment - supplier reference (if applicable)

Example: "A234X"
requestedCompletionDatestring(date)

Where not appointed, allows a date to be requested for the service activation

Example: "2022-01-10"
engineerTasksArray of strings(EngineerTasks)

Engineer tasks to be performed at installation appointment.

  • INSTALL_ROUTER
  • TEST_SINGLE_DEVICE
  • ADDITIONAL_CABLING
  • TEST_MULTIPLE_DEVICES
  • INSTALL_BBU
  • VOICE_REINJECTION
  • PROVE_IP_VOICE
  • ENSURE_TELECARE
Example: ["TEST_SINGLE_DEVICE"]
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service(s) will be installed

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service(s) will be installed

Example: "Restricted access"
notesstring[ 1 .. 1000 ] characters

Any notes about the order. This may include additional information that is required

Example: "Lorem ipsum dolor sit amet..."
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..."
  }'

Responses

Order was acknowledged - returned order should contain the supplier order number and appropriate status

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
One of:

Represents a provide order for new service(s) at a particular address.

statusstring(OrderStatus)read-onlyrequired

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.

Enum"REJECTED""ACKNOWLEDGED""IN_PROGRESS""PENDING""HELD""PENDING_AMENDMENT""PENDING_CANCELLATION""CANCELLED""FAILED""PARTIAL"
Example: "PENDING_CANCELLATION"
supplierReferencestring[ 1 .. 50 ] characters

Unique reference identifying this service - order supplier (where applicable)

Example: "A123X"
committedDatestring(date-time)

When the supplier first commits to fulfil the order this field will contain the expected completion date. Once set, this value cannot change.

Example: "2022-01-01T09:09:33.001Z"
targetDatestring(date-time)

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.

Example: "2022-01-01T09:09:33.001Z"
idnumber>= 1required

Unique id identifying this service order - generated by the Fibre Cafe

Example: 123
orderTypestring(ProvideOrderType)required

The type of order - new, (re)start, takeover, transfer or swap

Enum"NEW""START""TAKEOVER""TRANSFER""SWAP"
tenantstring[ 1 .. 50 ] charactersrequired

The tenant that has placed the order on the Fibre Cafe

Example: "TENANT1"
addressobject(AddressIdentifier)required

Address identifier for location including type of identifier.

address.​idstringrequired

Address identifier of provided type e.g. UPRN

Example: "200004033694"
address.​typestringrequired

Type of addressId provided e.g. UPRN

Example: "UPRN"
serviceOrderItemobject(ServiceOrderItem)required

Order for a service that the supplier provides at the selected address.

serviceOrderItem.​serviceSpecificationobject(ServiceSpecification)required

Details of a service the supplier provides at the selected address.

serviceOrderItem.​serviceSpecification.​idstring[ 1 .. 50 ] charactersrequired

Unique identifier for this service specification (if available)

Example: "ftthl2r"
serviceOrderItem.​serviceSpecification.​namestring[ 1 .. 50 ] charactersread-only

Name of the service

Example: "FTTH"
serviceOrderItem.​serviceCharacteristicsArray of objects(ServiceCharacteristic)>= 0 itemsrequired

List of service characteristics for the service order item

serviceOrderItem.​serviceCharacteristics[].​namestring[ 1 .. 50 ] charactersrequired

Name of the service characteristic

Example: "ENNI_ID"
serviceOrderItem.​serviceCharacteristics[].​valuestring[ 1 .. 50 ] charactersrequired

Value for this characteristic

Example: "1"
primaryContactobject(Contact)required

Represents a contact available at the given site/address.

primaryContact.​namestring[ 1 .. 100 ] charactersrequired

Contact name

Example: "John Smith"
primaryContact.​emailstring^\S{1,64}@\S{2,254}$

Contact email address (if available)

Example: "john@smith.com"
primaryContact.​phoneNumberstring^\+?[\d\s\-#]{8,50}$required

Contact phone number

Example: "01234 567890"
secondaryContactobject(Contact)

Represents a contact available at the given site/address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 234
appointmentReservationReferencestring[ 1 .. 50 ] characters

Unique reference identifying the appointment - supplier reference (if applicable)

Example: "A234X"
requestedCompletionDatestring(date)

Where not appointed, allows a date to be requested for the service activation

Example: "2022-01-10"
engineerTasksArray of strings(EngineerTasks)

Engineer tasks to be performed at installation appointment.

  • INSTALL_ROUTER
  • TEST_SINGLE_DEVICE
  • ADDITIONAL_CABLING
  • TEST_MULTIPLE_DEVICES
  • INSTALL_BBU
  • VOICE_REINJECTION
  • PROVE_IP_VOICE
  • ENSURE_TELECARE
Example: ["TEST_SINGLE_DEVICE"]
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service(s) will be installed

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service(s) will be installed

Example: "Restricted access"
notesstring[ 1 .. 1000 ] characters

Any notes about the order. This may include additional information that is required

Example: "Lorem ipsum dolor sit amet..."
Response
application/json
{ "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..." }

Request an amendment to an inflight provide, cease or modify order.

Request

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.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Tenantstringrequired

The tenant that has placed the request on the Fibre Cafe

Example: TENANT1
Bodyapplication/jsonrequired
One of:

Represents a request to amend an existing inflight service provide order. Any value(s) supplied will replace the existing value(s).

idnumber>= 1required

Unique identifier for this provide service order amendment request (generated by the Fibre Cafe)

Example: 234
orderIdnumber>= 1required

Unique reference identifying the service order to be amended

Example: 123
serviceCharacteristicsArray of objects(ServiceCharacteristic)non-empty

List of service characteristics for the service order item

primaryContactobject(Contact)

Represents a contact available at the given site/address.

secondaryContactobject(Contact)

Represents a contact available at the given site/address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 345
appointmentReservationReferencestring[ 1 .. 50 ] characters

Unique reference identifying the appointment - supplier reference (if applicable)

Example: "A234X"
requestedCompletionDatestring(date)

Where not appointed, allows the tenant/customer to request a date for the service activation

Example: "2022-01-10"
engineerTasksArray of strings(EngineerTasks)

Engineer tasks to be performed at installation appointment.

  • INSTALL_ROUTER
  • TEST_SINGLE_DEVICE
  • ADDITIONAL_CABLING
  • TEST_MULTIPLE_DEVICES
  • INSTALL_BBU
  • VOICE_REINJECTION
  • PROVE_IP_VOICE
  • ENSURE_TELECARE
Example: ["TEST_SINGLE_DEVICE"]
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be installed

onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service(s) will be installed

notesstring[ 1 .. 1000 ] characters

Notes about the order

Example: "Lorem ipsum dolor sit amet..."
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..."
  }'

Responses

Order amendment request was successful and the order has been updated.

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
One of:

Represents a request to amend an existing inflight service provide order. Any value(s) supplied will replace the existing value(s).

idnumber>= 1required

Unique identifier for this provide service order amendment request (generated by the Fibre Cafe)

Example: 234
orderIdnumber>= 1required

Unique reference identifying the service order to be amended

Example: 123
serviceCharacteristicsArray of objects(ServiceCharacteristic)non-empty

List of service characteristics for the service order item

primaryContactobject(Contact)

Represents a contact available at the given site/address.

secondaryContactobject(Contact)

Represents a contact available at the given site/address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 345
appointmentReservationReferencestring[ 1 .. 50 ] characters

Unique reference identifying the appointment - supplier reference (if applicable)

Example: "A234X"
requestedCompletionDatestring(date)

Where not appointed, allows the tenant/customer to request a date for the service activation

Example: "2022-01-10"
engineerTasksArray of strings(EngineerTasks)

Engineer tasks to be performed at installation appointment.

  • INSTALL_ROUTER
  • TEST_SINGLE_DEVICE
  • ADDITIONAL_CABLING
  • TEST_MULTIPLE_DEVICES
  • INSTALL_BBU
  • VOICE_REINJECTION
  • PROVE_IP_VOICE
  • ENSURE_TELECARE
Example: ["TEST_SINGLE_DEVICE"]
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be installed

onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service(s) will be installed

notesstring[ 1 .. 1000 ] characters

Notes about the order

Example: "Lorem ipsum dolor sit amet..."
supplierReferencestring[ 1 .. 50 ] characters

Unique reference generated by the supplier for this amendment request

Example: "A123-1"
committedDatestring(date-time)

Where this amendment has resulted in a change to the order committed date, this field will contain the new date.

Example: "2022-01-01T09:09:33.001Z"
targetDatestring(date-time)

Where this amendment has resulted in a change to the expected completion date, this field will contain the new date.

Example: "2022-01-01T09:09:33.001Z"
Response
application/json
{ "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" }

Request to cancel an inflight provide, cease or modify order.

Request

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.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Tenantstringrequired

The tenant that has placed the request on the Fibre Cafe

Example: TENANT1
Bodyapplication/json
idnumber>= 1required

Unique identifier for this order cancellation request (generated by the Fibre Cafe)

Example: 345
orderIdnumber>= 1required

Unique id identifying the service order to be amended

Example: 123
reasonCodestring(CancellationReasonCode)^[A-Z_]{1,30}required

Codes representing reason for cancellation:

  • CUSTOMER_CHANGED_MIND
  • INSTALL_FAILED
  • NETWORK_ISSUE
  • NO_LONGER_REQUIRED
  • OTHER

Reason codes for cancellation other (unsolicited cease):

  • NO_AUTHORISATION
  • CUSTOMER_NOT_AWARE
  • DELIBERATE_MISLEAD
  • PURCHASED_DIFFERENT_PRODUCT
  • END_USER_NOT_MOVING
Example: "CUSTOMER_CHANGED_MIND"
supplierOrderReferencestring[ 1 .. 50 ] characters

Order reference provided by the supplier

Example: "A123X"
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"
  }'

Responses

Order cancellation request was successful and the order has been cancelled.

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
supplierReferencestring[ 1 .. 50 ] characters

Unique reference generated by the supplier for this cancellation request

Example: "A123-1"
idnumber>= 1required

Unique identifier for this order cancellation request (generated by the Fibre Cafe)

Example: 345
orderIdnumber>= 1required

Unique id identifying the service order to be amended

Example: 123
reasonCodestring(CancellationReasonCode)^[A-Z_]{1,30}required

Codes representing reason for cancellation:

  • CUSTOMER_CHANGED_MIND
  • INSTALL_FAILED
  • NETWORK_ISSUE
  • NO_LONGER_REQUIRED
  • OTHER

Reason codes for cancellation other (unsolicited cease):

  • NO_AUTHORISATION
  • CUSTOMER_NOT_AWARE
  • DELIBERATE_MISLEAD
  • PURCHASED_DIFFERENT_PRODUCT
  • END_USER_NOT_MOVING
Example: "CUSTOMER_CHANGED_MIND"
supplierOrderReferencestring[ 1 .. 50 ] characters

Order reference provided by the supplier

Example: "A123X"
Response
application/json
{ "supplierReference": "A123-1", "id": 345, "orderId": 123, "reasonCode": "CUSTOMER_CHANGED_MIND", "supplierOrderReference": "A123X" }

Create an order to provide ethernet service.

Request

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.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
CreateProvideEthernetOrder (object)(CreateEthernetOrder)
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"
        }
      }
    ]
  }'

Responses

Order was acknowledged - returned order should contain the supplier order number and appropriate status

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
ProvideEthernetOrder (object)(SolicitedEthernetOrder)
Response
application/json
{ "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": [ {} ] }

Service Test Management

Handle a request to perform a service test on a given active line/service.

Operations

Service Problem Management

Create and manage a service problem for a given line/service.

Operations