Assurance API
How to use the API
This page describes how different parts of the Assurance API operate, and how each part can be used.
For more information, refer to the RAML in Anypoint.
Overview
The Assurance API provides end-to-end fault diagnosis and problem management. This API calls all available details of your product instance up front to drive the workflow including service validation, fault diagnostics, outage correlation, and a process for booking appointments and submitting and updating problem reports.
The sections below describe how to use the API to manage a fault end-to-end.
Subscriptions and Notifications
The Assurance API includes the ability to set up subscriptions to be notified with updates to problem reports and events. A subscription URL is provided, or you can specify a target URL for delivery of notifications.
Subscriptions can be updated, deactivated and deleted.
Because of the asynchronous nature of problem report updates and status changes it may be helpful to subscribe to a notification instead of polling for updates.
For the following:
- Submit a subscription request - call POST /subscribers with a secret key and a webhook url, which will be used to POST notifications to.
- Validate the webhook URL endpoint - provide a GET endpoint at the webhook url to receive a challenge querystring value, which must be echoed in the GET response.
Get Products
The Get Product API call enables the initiation of a troubleshooting session for a Chorus service.
The Get Product API call queries Chorus inventories including the Chorus address database, product inventories, and problem reports to retrieve all available information for the Product Identifier supplied. The response will depend on the type of product, and whether we hold full inventory. Information about our different product types are held in the Product Details section below.
Step | Role | Action | Description |
---|---|---|---|
1. | API Consumer | Get Product | Call Assurance API GET /products/{productid} method using a Chorus product identifier. |
2. | Assurance API | Validate Service | The API will validate the service including that the service is active and that the service is owned by the initiating RSP (or sub-entity). If the service is inactive Then an API error response is returned. If the requestor is not authorised to access the information Then an API error response is returned. If the API consumer has entered an invalid identifier Then an API error response is returned. |
3. | Assurance API | Query inventory | The API queries inventory for Product Service Details. If the product is validated Then where we hold full details of your product instance in our inventory, all information is returned. If the product is partially validated Then where we hold partial details of your product instance in our inventory, the information we have available is returned. If the product is unvalidated Then where the product type is unavailable in our inventory and we are unable to validate the product, the Product Types Possible list is also returned. Details include:
|
4. | Assurance API | Query inventory | The API will return details applicable to the type of service. If the product is Copper Then the API will also return:
Then the API will also return:
Then the API will also return:
Then the API will also return:
|
5. | Assurance API | Query address / orders / problem reports | The API queries other inventories to return additional information available for the product instance to support fault diagnosis and resolution.
|
Updating WAN Configuration
When updating WAN configuration, please note the following regarding the optional ipMode parameter:
- GET /products/{productid}/wan response may or may not include the optional ipMode parameter
- If the parameter is included, and the value is 1, then the IP mode is IPV4 only and the IPV4 attributes will be returned.
- If the parameter is included, and the value is 3, then the IP mode includes IPV4 and IPV6. Attributes will be returned for both.
- If the parameter is NOT included, the device is assumed to be IPV4 and IPV4 attributes will be returned.
When updating the WAN configuration using PUT /products/{productid}/wan, please note the following:
- If the ipMode parameter was NOT present in the GET call then it MUST NOT be included in the PUT call. As ipV4 mode is assumed the ipV4 object MUST be present in the PUT call.
- If the ipMode parameter was present in the GET call, then ipMode parameter MUST be present in the PUT call. If new value is 1 or 3 , then the ipV4 object MUST be included, If the new value is 3, then the ipV6 object MUST also be included.
Diagnostics
The POST sessions API call enables the initiation of a diagnostic session. Where available, the Assurance API will run the default test(s) and return results applicable to the product type submitted.
Where a product is unvalidated, the product type must be specified when posting a diagnostic.
Where no default test exists for the product type, then other factors such as any open problems are used to diagnose the fault.
Because of the asynchronous nature of the diagnostics, the time it takes to run a diagnostic depends on two factors:
- Time for the Diagnostic API to respond. The Diagnostic API should respond within 4-10 seconds.
Time for the actual test to complete running. This time depends on the type of test. Indicative average times for each test are listed below:
- ONT Status, 10 seconds or less
- Single Line Test, 32 seconds or less
- Line State Diagnosis, takes 15 seconds or less
- Electrical Test, 50 seconds or less
- Wi-Fi information, 30 seconds or less
Based on these average response times, polling for a result should be set at a frequency of no less than 10 second intervals or alternatively subscribe to be notified when the diagnostic results are ready.
- Diagnostics sessions timeout after one hour of update inactivity on the session.
- It is possible to cancel a diagnostic using the Cancel Diagnosis API call. This call should only be used if incorrect information such as an incorrect product type has been submitted when posting the diagnostic.
- A diagnostic session concludes with the return of a fault type and associated next steps that can be used in the submission of a problem report.
The table below describes the diagnostic process.
Step | Role | Action | Description |
---|---|---|---|
1. | API Consumer | Submit a diagnostic request / Post Diagnosis (Initiate Diagnostics Session) | The Post Diagnosis API call / request initiates default diagnosis action for the product type. For unvalidated services, the product type is required in the request. |
2. | Assurance API | Return diagnostic | The Assurance API will return:
|
3. | Assurance API | Run diagnostic | The Assurance API will run the default test applicable to the product type submitted and query open problem reports, to assist with fault diagnosis. Note: Diagnostics sessions will timeout after one hour of update inactivity on the session. |
4. | API Consumer | Retrieve a diagnostic | Use the diagnostic session identifier to retrieve the results of a diagnostic. |
5. | API Consumer | Determine next step | The API consumer determines and decides the next step. If diagnostics has identified a fault Then use the fault type to begin problem report submission. If a problem is already open for the product instance Manage the open problem report. |
Log a Problem Report
The Post Problem Report API call enables an API consumer to submit a problem report into the Chorus ITSM tool.
Diagnostics must have been completed prior to submitting a problem report and submitting a problem report will trigger the completion of the diagnostic session.
Problem report submission includes completing appointment details where required and answering mandatory questions. Non mandatory questions should to be supplied in a problem report submission to ensure Chorus has all supporting information to aid the resolution process.
The table below describes the problem report logging process.
Step | Role | Action | Description |
---|---|---|---|
1. | API consumer | Post Fault Type | Problem report submission starts with the API consumer posting a fault type. |
2. | Assurance API | Return Problem Submission details | Depending on the product and fault types posted, the Assurance API returns all the details required for submission of a problem report including the applicable question sets. |
3. | API consumer | Book Appointment | If an appointment is required, then the API consumer follows the Book Appointment flow. |
4. | API consumer | POST Problem Report | The POST Problem Report API call enables the API consumer to submit a problem report. This results in the submission of a problem report into the Chorus ITSM tool and completion of the diagnostic session. |
5. | Assurance API | Return Problem Report Details | The Assurance API returns problem report details. |
6. | API Consumer | Get Problem Report | The Get Problem Report API call enables an API consumer to retrieve a full problem report. Provides details of a specific problem report and any updates that have been made during its lifecycle. |
Book Appointment
The Query Schedule call queries the Chorus workforce management source to return details of available appointments for products / fault types that require a booking with a service company technician.
Appointment availability is based on the SLAs associated with the product and fault type, and the availability of technicians with the required skill set.
The three booking types are described in the table below.
Type | Description | |
1. | ASAP | ASAP (earliest available appointment) is available for all products. Note:
|
2. | Request an appointment | Use the request an appointment option for all layer 2 products. Note: It is not available for layer 1 products. Appointment requests use the enumeration BET. |
3. | Confirmed appointment (look and book) | The look and book confirmed appointments are only available for layer 1 UCLL products including SLES, SLU MPF and UCLL MPF. Confirmed appointments use the enumeration BET |
The table below describes the process for booking an appointment.
Step | Role | Action | Description |
---|---|---|---|
1. | API Consumer | Get Schedule | Use the Get Schedule API call to retrieve a schedule. The API consumer must specify the work division and either the Exchange ID for layer 2 products or the TLC for layer 1 products. |
2. | Assurance API | Return Schedule | The Assurance API will return the applicable schedule. |
3. | API Consumer | Post Reservation | Post a Reservation. If ASAP Then for layer 1, use the enumeration BY. And For layer 2, use the enumeration ASAP. If reservation Request Then use the enumeration BET. If confirmed Reservation Then use the enumeration BET. |
4. | Assurance API | Return Reservation | The Assurance API will return details based on the type of reservation. If ASAP If reservation Request Then reservation requests are confirmed after problem report submission as a system status update. If confirmed Reservation Then a confirmation and reservation ID is returned. |
Manage Problem Reports
Once a problem report has been logged with Chorus, an API consumer can manage the problem using the Update, Amend, Close and Cancel functions described below.
Note: Problem Report payloads will vary between products.
Assurance API Aspect | How it works | Exceptions / scenarios and notes |
---|---|---|
Update Problem Report | Enables an API consumer to update a problem report. This call appends progress updates to the problem report. | Problem reports with a status of closed can’t be updated. |
Amend Problem Report | Enables an API consumer to amend the editable details originally submitted in a problem report. | This is different to updating a problem report which provides a journal update of activity. Problem reports with a status of closed can’t be amended. |
Close Problem Report | Enables an API consumer to close a problem report if the problem status is Service Given. | An RSP can only close a problem report when the status is Service Given. Problem reports will auto-close within 48 hours of Service Given. The close problem report call is optional. |
Cancel Problem Report | Enables an API consumer to submit a cancellation request for a problem report. Depending on the status and history of the problem report the report will either be:
|
Query Problem Reports
The Query Problem Reports API call enables an API consumer to query current and up to 12 months of historical problem reports, and have results returned based on selected input criteria.
The API consumer can specify a sort order, ascending or descending for each field.
Results are paginated with a maximum of 50 records per page.
Assurance API Aspect | How it works | Exceptions / scenarios and notes |
---|---|---|
Query Problem Reports | Enables an API consumer to query problem reports using the following input criteria:
|
|
Query Problem Reports | status Returns all Problem Reports with the Problem Report status or statuses specified (comma delimited). Displays as ProblemReport Status. |
Status are:
|
Query Problem Reports closureCode |
closureCode Returns all Problem Reports with the specified impact value. Displays as ProblemReport Closure / Status Reason. |
|
Query Problem Reports serviceProviderProblemNumber |
serviceProviderProblemNumber Returns all ProblemReports related to the customer reference. Displays as Customer Reference. |
|
Query Problem Reports updateDate |
updateDate Returns all Problem Reports with the specified Last Updated Date. Expects yyyy-MM-ddTHH-mm-ss format. Displays as ProblemReport Last Updated Date. |
|
Query Problem Reports createDate |
createDate Returns all Problem Reports with the specified Created Date. Expects yyyy-MM-ddTHH-mm-ss format. Displays as ProblemReport Created Date. |
|
Query Problem Reports productId |
productId Returns all Problem Reports related to the service number / service identifier. |
|
Query Problem Reports notStatus |
notStatus Returns all Problem Reports without the Problem Report status or statuses specified (comma delimited). Displays as ProblemReport Status. |
|
Query Problem Reports sort |
sort Sort results by one or multiple named fields and for each field specify ascending or descending order. Use a colon to specify the sort order. |
(ProductId, productTypeId, problemNumber, serviceProviderProblemNumber, status, createDate, updateDate, scheduleDate). |
Product Details
The tables below show the characteristics of each product throughout the Assurance API process flow.
Business Complex
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
UBA Backhaul | Fully Validated | Circuit ID | 100****** /101******/120****** | 100860890 | None |
UCLL Backhaul | 100****** /101******/120****** | 100555373 | |||
Asynchronous Transfer Mode | 16**** / 19**** to 57**** /100******/120****** | 100435721 | |||
Digital Data Service | 100******/120****** | 100435721 | |||
Frame Relay | 48*** to 16**** / 19**** to 57**** / 100****** | 100435721 | |||
Handover Links | 100******/120****** | 100435721 | |||
HSNS Lite Copper | 100******/120****** | 120687053 | |||
HSNS Lite Fibre | 100******/120****** | 100559574 | |||
HSNS Premium | 100******/120****** | 100559574 | |||
Megalink Service | 100******/120****** | 100435721 | |||
Metro IP Service | 100******/120****** | 100435721 | |||
One Office Service | 100******/120****** | 100435721 |
Baseband
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
Baseband IP | Fully Validated | ASID | 1617******/3*******/4*******/ 6*******/7*******/9******* |
1617000092 | Electrical Loop Test |
Baseband Copper | Fully Validated | ASID | 1625****** | 162589456 | None |
UCLL
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
SLES | Fully Validated | ASID | 1622******/1692****** | 1622200438 | None |
SLU MPF | 1622******/1692****** | 1622200438 | |||
UCLL MPF | 1622******/1692****** | 1692200438 |
DSL
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
Basic UBA | Fully Validated | ASID | 1624******/1634******/1684******/ 1690******/1694****** |
1624894562 | LSD |
Enhanced UBA | 1624******/1634******/1684******/ 1690******/1694****** |
1624894562 | |||
VDSL | 1624******/1634******/1684******/ 1690******/1694****** |
1624894562 |
PSTN and Spark Voice
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
Business Line | Fully Validated | POTS number | 3*******/4*******/6*******/ 7*******/9******* |
31976490, 45678342, 69277563, 72864017, 95248141 | Single Line Test |
Centrex | 3*******/4*******/6*******/ 7*******/9******* |
31976490, 45678342, 69277563, 72864017, 95248141 | None | ||
Home Line | 3*******/4*******/6*******/ 7*******/9******* |
31976490, 45678342, 69277563, 72864017, 95248141 | Single Line Test | ||
ISDN Basic Rate Access | 3*******/4*******/6*******/ 7*******/9******* |
31976490, 45678342, 69277563, 72864017, 95248141 | None | ||
ISDN Primary Rate | 3*******/4*******/6*******/ 7*******/9******* |
31976490, 45678342, 69277563, 72864017, 95248141 | None | ||
Toll Free Service | Not Validated | POTS number | 800******/508****** | 800225598 | None |
NGA Layer 2
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
NGA Bitstream 3/3a | Partially Validated | Product ID | 1621******/1636******/1637****** | 1621260132 | ONT Status |
NGA Bitstream 2 | Product ID | 1621******/1636******/1637****** | 1636284947 | ONT Status | |
NGA Business - eDMR | ASID | 1621******/1636******/1637****** | 1621287540 | None | |
NGA Business - Point to Point | ASID | 1621******/1636******/1637****** | 1621200438 | None | |
NGA Small Business Fibre | ??? | 1621******/1636******/1637****** | 1621200438 | None | |
eDMR Backhaul | ASID | 1621******/1636******/1637****** | 1621287540 | None | |
NGA Bitstream 4 | Not Validated | Product ID | 130****** | 1306284947 | ONT Status |
NGA Layer 1
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
Bandwidth Fibre Access | Not Validated | Circuit ID / Path ID | 17****/18****/**/***/****/10,000 to 47,999/300****** | 182150, 345, 2352 | None |
Chorus Regional Transport | 17****/18****/**/***/****/10,000 to 47,999/300****** | 182150, 345, 2352 | |||
Direct Fibre Access | 17****/18****/**/***/****/10,000 to 47,999/300****** | 182150, 345, 2352 | |||
Intra Candidate Area Backhaul | 17****/18****/**/***/****/10,000 to 47,999/300****** | 182150, 345, 2352 |
Co-Location
Product Name | Validation | Product Identifier type | Range | Example | Default Tests |
Commercial Co-Location | Not Validated | FBN | 1633***** | 163302602 | None |
UCLL Co-Location | 1633***** | 163302602 |
Events
View event notifications for all planned and unplanned Chorus network events, for all of your Chorus services. The table below describes the objects returned for events and provides context for some of the information returned.
Assurance API Aspect | How it works | What it can be used for |
---|---|---|
View Events | Queries the network events repository and returns details of future planned, current and recent planned and unplanned Chorus events. | Use as a single source for all Chorus future planned, current and recent planned and unplanned event information. |
View Event Impacts | Queries the network events repository and returns details of future planned, current and recently planned and unplanned Chorus events mapped to Chorus products. View event impacts and match impacted services to your customers, along with inbound interactions. |
Use this to match events to impacted services to your customers, along with inbound interactions. This allows you to pro-actively manage outages and your customers' expectations more effectively with the goal of reducing unnecessary calls into your operational teams. |