September 2025 Updates

Definitions

Generation One NTD: An NTD provided with the initial rollout of the nbn network. Will have an NTD type (ntdType) and NTD version (ntdVersion) as listed in the below table.

Table 1. Generation One NTDs
Access Technology NTD Type (ntdType) NTD Version (ntdVersion) Total Max Bandwidth (Mbs) Down / Up

FTTP

INTERNAL

V1

1300 / 900

FTTP

EXTERNAL

V1

1300 / 900

FTTP

SPECIAL

V2

1300 / 900

HFC

INTERNAL

V1

N/A

Generation Two NTD: An NTD provided to support plans with a download speed > 1000 MBit/s. Will have an NTD type (ntdType) and NTD version (ntdVersion) as listed in the below table.

Table 2. Generation Two NTDs
Access Technology NTD Type (ntdType) NTD Version (ntdVersion) Total Max Bandwidth (Mbs) Down / Up

FTTP

1_PORT

V3

2200 / 1100

FTTP

4_PORT

V4

2200 / 1100

HFC

NTD_2.5

V2

N/A

Replacement NTD: A NTD you can replace the existing NTD with. A replacement NTD is currently only an option if the existing NTD is a 1_PORT V3, its port is used, and the customer wants to order a second service. Currently, the only replacement NTD option is a 4_PORT V4.

Table 3. Replacement NTDs
Access Technology NTD Type (ntdType) NTD Version (ntdVersion) Total Max Bandwidth (Mbs) Down / Up

FTTP

4_PORT

V4

2200 / 1100

Introduction

In September 2025, the NBN are introduced plans with download speeds > 1000 MBit/s for the FTTP and HFC access technology types. If the location has a generation one NTD, this means the NTD will need to be replaced with a generation two NTD.

Two-Step Process

You cannot order a plan with a download speed > 1000 MBit/s on a generation one NTD. To order a plan with a download speed > 1000 MBit/s you must follow a two-step process as follows:

  1. Order any plan with a download speed <= 1000 MBit/s.

  2. Perform a plan Change to the plan with a download speed > 1000 MBit/s.

First or Additional NTD

If there is currently no NTD at the location, or you are ordering an additional NTD, depending on the plan type (planType) you may have the option to select the NTD you want. At the moment this applies to the FTTP access technology where the plan type is Residential. In this case you will have the choice between a 1 port NTD or a 4 port NTD. You will be charged if you select the 4 port NTD. If the plan has a plan type of Business you will be offered only the 4 port NTD and you will not be charged for it. For HFC the only choice is the 2.5 NTD, and you will not be charged for it.

Service Qualification Enhancements

To show what plans are offered and what NTD’s can be chosen, the SQ has had the following fields added to it for the FTTP and HFC access technology types:

Field Description

generationTwoNtds

An array of generation two NTD details and the cost (if any) associated with choosing that NTD. For FTTP and HFC, if you need a new NTD when ordering, pass in generationTwoNtds[].name as the ntdOption value. See Order Enhancements.

replacementNtds

Only populated on FTTP SQ’s where the NTD is a 1_PORT V3 and the port is used, empty in all other cases. Only populated if infrastructures[].replacementNtdPlans is not empty. An array of generation two NTD details and the cost (if any) associated with choosing that NTD when you order an additional service requiring the replacement of the current NTD. When ordering pass in replacementNtds[].name as the ntdOption value. See Order Enhancements.

firstOrAdditionalNtdPlans

An array of the plans and NTD options available if this will be the first or an additional NTD at the location. The ntdOptions array contains a reference to the NTD(s) described in generationTwoNtds array.

generationOneNtdPlans

An array of the plans available for a generation one NTD. Plans with a download speed > 1000 MBit/s are excluded from the plans available at the location. The ntdOptions array will be empty as plans requiring a generation two NTD have been excluded.

generationTwoNtdPlans

An array of the plans available for a generation two NTD. There are currently no restrictions on what plans can be ordered on a generation two NTD. The ntdOptions array will be empty as generation two NTDs support all plans.

infrastructures[].plan

A reference to either generationOneNtdPlans or generationTwoNtdPlans, depending on which generation the NTD belongs to.

infrastructures[].remainingDownstreamBandwidth

Only set on FTTP SQ’s, null for all other access technology types. The amount of available downstream (download) bandwidth that is not currently allocated on the NTD. This can be used to determine if the customer should order an additional NTD.

infrastructures[].remainingUpstreamBandwidth

Only set on FTTP SQ’s, null for all other access technology types. The amount of available upstream (upload) bandwidth that is not currently allocated on the NTD.

infrastructures[].replacementNtdPlans

Only populated on FTTP SQ’s where the NTD is a 1_PORT V3 and the port is used, empty in all other cases. Contains plans for an additional service where the 1_PORT V3 will be replaced with a 4_PORT V4. Any plans that can fit on another NTD at the location are excluded (you must order those plans on an exiting NTD). Any plans that cannot fit on the replacing 4_PORT V4 are excluded (you must order an additional NTD).

infrastructures[].replacementNtdInstallationOptions

Only populated on FTTP SQ’s where the NTD is a 1_PORT V3 and the port is used, empty in all other cases. Only populated if infrastructures[].replacementNtdPlans is not empty. The install options if you order an additional service requiring the replacement of the current NTD. When ordering pass in replacementNtdInstallationOptions[].option as the ntdInstallation` value. See Order Enhancements.

Capacity Checking

For an SQ with an FTTP access technology type, you can use the fields infrastructures[].remainingDownstreamBandwidth and infrastructures[].remainingUpstreamBandwidth to determine whether an available plan would exceed the capacity remaining on the NTD and advise the customer to order an additional NTD if needed. Example:

    IF access technology type is FTTP THEN
        IF port is Free THEN
            IF (remainingDownstreamBandwidth - plan's speed down < 0Mbps OR
                remainingUpstreamBandwidth - plan's speed up < 0Mbps) THEN
                    "Not enough capacity on existing NTD to support plan."
                    "Order an additional NTD."
        IF port in Use THEN
            "As the speed of the current service on the port is unknown,"
            "it cannot be determined if the plan would exceed the NTD's remaining capacity."
            "In this scenario, it is suggested the order is placed, and it will fail if capacity is exceeded."

NBN Lead Times on High Speed Plans

Note: If you order a plan with a download speed > 1000 Mbs (i.e. the 2GB ones), there may be significant lead times if the NBN has to upgrade the network.

generationTwoNtds Example

FTTP

  • Generation two NTDs for access technology FTTP.

  • 4_PORT_RESIDENTIAL comes with a fee of $100.

  • The "name" field is referenced via ntdOptions[] in the firstOrAdditionalNtdPlans array.

{
  "generationTwoNtds" : [ {
    "name" : "1_PORT",
    "ntdType" : "1_PORT",
    "ntdVersion" : "V3",
    "ntdPlanTypes" : [ "RESIDENTIAL" ],
    "fees" : [ {
      "name" : "NTD_INSTALLATION_FEE",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "&#36;"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "&#36;"
      }
    } ]
  }, {
    "name" : "4_PORT",
    "ntdType" : "4_PORT",
    "ntdVersion" : "V4",
    "ntdPlanTypes" : [ "BUSINESS" ],
    "fees" : [ {
      "name" : "NTD_INSTALLATION_FEE",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "&#36;"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "&#36;"
      }
    } ]
  }, {
    "name" : "4_PORT_RESIDENTIAL",
    "ntdType" : "4_PORT",
    "ntdVersion" : "V4",
    "ntdPlanTypes" : [ "RESIDENTIAL" ],
    "fees" : [ {
      "name" : "NTD_INSTALLATION_FEE",
      "oneTimeCharge" : {
        "amount" : "100.00",
        "currency" : "AUD",
        "symbol" : "&#36;"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "&#36;"
      }
    } ]
  } ]
}

HFC

  • Generation two NTDs for access technology HFC.

  • The "name" field is referenced via ntdOptions[] in the firstOrAdditionalNtdPlans array.

{
   "generationTwoNtds":[
      {
         "name":"NTD_2.5",
         "ntdType":"NTD_2.5",
         "ntdVersion":"V2",
         "ntdPlanTypes":[
            "RESIDENTIAL",
            "BUSINESS"
         ],
         "fees":[
            {
               "name":"NTD_INSTALLATION_FEE",
               "oneTimeCharge":{
                  "amount":"0.00",
                  "currency":"AUD",
                  "symbol":"&#36;"
               },
               "monthlyRecurringCharge":{
                  "amount":"0.00",
                  "currency":"AUD",
                  "symbol":"&#36;"
               }
            }
         ]
      }
   ]
}

firstOrAdditionalNtdPlans Example

  • Plans available for the first NTD or an additional NTD at the location.

  • ntdOptions[] is populated with the NTD choices for the plan. References generationTwoNtds[].name.

FTTP

{
   "firstOrAdditionalNtdPlans":[
      {
         "name":"Home Fast 25/5",
         "type":"RESIDENTIAL",
         "speedDown":25,
         "speedUp":5,
          "ntdOptions":[
            "1_PORT",
            "4_PORT_RESIDENTIAL"
         ]
      },
      {
         "name":"Home Hyperfast 2000/500",
         "type":"BUSINESS",
         "speedDown":250,
         "speedUp":100,
         "ntdOptions":[
            "4_PORT"
         ]
      }
  ]
}

HFC

{
   "firstOrAdditionalNtdPlans":[
      {
         "name":"Home Fast 25/5",
         "type":"RESIDENTIAL",
         "speedDown":25,
         "speedUp":5,
          "ntdOptions":[
            "NTD_2.5"
         ]
      },
      {
         "name":"Home Hyperfast 2000/500",
         "type":"BUSINESS",
         "speedDown":250,
         "speedUp":100,
         "ntdOptions":[
            "NTD_2.5"
         ]
      }
  ]
}

generationOneNtdPlans Example

  • Plans available for a generation one NTD.

  • Only populated if there is a generation one NTD at the location.

  • Plans with a download speed > 1000 MBit/s are excluded.

  • ntdOptions[] is empty as plans requiring a generation two NTD have been excluded.

  • To order plans with a download speed > 1000 MBit/s follow the two-step process.

{
   "generationOneNtdPlans":[
      {
         "name":"Home Fast 25/5",
         "type":"RESIDENTIAL",
         "speedDown":25,
         "speedUp":5,
         "ntdOptions":[

         ]
      }
  ]
}

generationTwoNtdPlans Example

  • Plans available for a generation two NTD.

  • Only populated if there is a generation two NTD at the location.

  • ntdOptions[] is empty as generation two NTDs support all plans.

{
   "generationTwoNtdPlans":[
      {
         "name":"Home Fast 25/5",
         "type":"RESIDENTIAL",
         "speedDown":25,
         "speedUp":5,
          "ntdOptions":[
         ]
      },
      {
         "name":"Home Hyperfast 2000/500",
         "type":"BUSINESS",
         "speedDown":250,
         "speedUp":100,
         "ntdOptions":[
         ]
      }
  ]
}

infrastructure Example

  • plans references generationOneNtdPlans or generationTwoNtdPlans depending on the generation of the NTD

{
     "infrastructures":[
        {
          ...
          "ntdType":"Internal",
          "ntdVersion":"V1",
          "plans": "generationOneNtdPlans",
          ...
        }
    ]
}

replacementNtdPlans, replacementNtdPlans, replacementNtdInstallationOptions Example

  • infrastructures[].replacementNtdPlans[].ntdOptions references replacementNtdPlans[].name

    "replacementNtds": [
        {
            "name": "4_PORT_REPLACEMENT",
            "ntdType": "4_PORT",
            "ntdVersion": "V4",
            "ntdPlanTypes": [
                "RESIDENTIAL",
                "BUSINESS"
            ],
            "fees": []
        }
    ],
    ...
    "infrastructures":[
        {
          "infrastructureId":"NTD151638001427",
          "ntdType":"1_PORT",
          "ntdVersion":"V3",
          ...
          "ntdPorts":[
            {
               "portId":"1",
               "portName":"1-UNI-D1",
               "uniType":"UNI-D",
               "status":"Used",
               ...
            }
          ],
          ...
          "replacementNtdPlans": [
            {
               "name":"Home Fast 100/20",
               "type":"RESIDENTIAL",
               "speedDown":100,
               "speedUp":20,
               "ntdOptions":[
                  "4_PORT_REPLACEMENT"
               ]
            },
            {
               "name":"Home Superfast 250/25",
               "type":"RESIDENTIAL",
               "speedDown":250,
               "speedUp":25,
               "ntdOptions":[
                  "4_PORT_REPLACEMENT"
               ]
            },
            {
               "name":"Home Ultrafast 1000/50",
               "type":"RESIDENTIAL",
               "speedDown":1000,
               "speedUp":50,
               "ntdOptions":[
                  "4_PORT_REPLACEMENT"
               ]
            }
         ],
         "replacementNtdInstallationOptions":[
            {
               "option":"nbn-tech",
               "recommended":true,
               "fees":[

               ],
               "hardwareShortfall":true
            }
         ]

replacementNtds, replacementNtdPlans, replacementNtdInstallationOptions Example

  • infrastructures[].replacementNtdPlans[].ntdOptions references replacementNtdPlans[].name

    "replacementNtds": [
        {
            "name": "4_PORT_REPLACEMENT",
            "ntdType": "4_PORT",
            "ntdVersion": "V4",
            "ntdPlanTypes": [
                "RESIDENTIAL",
                "BUSINESS"
            ],
            "fees": []
        }
    ],
    ...
    "infrastructures":[
        {
          "infrastructureId":"NTD151638001427",
          "ntdType":"1_PORT",
          "ntdVersion":"V3",
          ...
          "ntdPorts":[
            {
               "portId":"1",
               "portName":"1-UNI-D1",
               "uniType":"UNI-D",
               "status":"Used",
               ...
            }
          ],
          ...
          "replacementNtdPlans": [
            {
               "name":"Home Fast 100/20",
               "type":"RESIDENTIAL",
               "speedDown":100,
               "speedUp":20,
               "ntdOptions":[
                  "4_PORT_REPLACEMENT"
               ]
            },
            {
               "name":"Home Superfast 250/25",
               "type":"RESIDENTIAL",
               "speedDown":250,
               "speedUp":25,
               "ntdOptions":[
                  "4_PORT_REPLACEMENT"
               ]
            },
            {
               "name":"Home Ultrafast 1000/50",
               "type":"RESIDENTIAL",
               "speedDown":1000,
               "speedUp":50,
               "ntdOptions":[
                  "4_PORT_REPLACEMENT"
               ]
            }
         ],
         "replacementNtdInstallationOptions":[
            {
               "option":"nbn-tech",
               "recommended":true,
               "fees":[

               ],
               "hardwareShortfall":true
            }
         ]

Order Enhancements

First or Additional NTD

When you are ordering your first NTD, or an additional NTD, and there is a list of generation two NTDs to choose from, include ntdOption in your order request to specify the NTD you want.

FTTP Example

  • Use SQ response to determine the list of ntdOptions available for your chosen plan

{
   "firstOrAdditionalNtdPlans":[
      {
         "name":"Home Fast 25/5",
         "type":"RESIDENTIAL",
         "speedDown":25,
         "speedUp":5,
          "ntdOptions":[
            "1_PORT",
            "4_PORT_RESIDENTIAL"
         ]
      }
  ]
}
  • Specify ntdOption in the create order request payload with the NTD you want

{
   "planName" : "Home Fast 25/5",
   "ntdOption": "4_PORT_RESIDENTIAL",
   ...
}
  • If ntdOption not provided in the create order request payload, the first option will be selected

1_PORT

HFC Example

  • Use SQ response to determine the list of ntdOptions available for your chosen plan

{
   "firstOrAdditionalNtdPlans":[
      {
         "name":"Home Fast 25/5",
         "type":"RESIDENTIAL",
         "speedDown":25,
         "speedUp":5,
          "ntdOptions":[
            "NTD_2.5"
         ]
      }
  ]
}
  • Specify ntdOption in the create order request payload with the NTD you want

{
   "planName" : "Home Fast 25/5",
   "ntdOption": "NTD_2.5",
   ...
}
  • If ntdOption not provided in the create order request payload, the first option will be selected

NTD_2.5

Replacement NTD

If the customer has a 1_PORT V3 NTD with a service using the port, and they want to order a second service, they will need to replace the existing NTD with a 4_PORT V4. Note only plans in the replacementNtdPlans array can be ordered in this scenario. Only plans whose combined bandwidth with the existing service’s bandwidth that can fit on a 4_PORT V4 are included. Also plans that could fit on another NTD at the location are excluded, as if there is an existing NTD that can support the service it must be selected.

  • Use SQ response to determine the list of ntdOptions available for your chosen plan (currently the only option will be 4_PORT_REPLACEMENT).

{
         "replacementPlans": [
                {
                    "name": "Home Fast 25/5",
                    "type": "RESIDENTIAL",
                    "speedDown": 25,
                    "speedUp": 5,
                    "ntdOptions": [
                        "4_PORT_REPLACEMENT"
                    ]
                },
                ...
         ]
}
  • When placing the order, and you want to replace the NTD you must set the following fields in the create order request payload as follows:

{
   "planName" : "Home Fast 25/5",  (additional service)
   "infrastructureId": "NTD151638001599", (must be set)
   "ntdPortId": null, (must be null)
   "ntdOption": "4_PORT_REPLACEMENT", (replacement NTD option)
   "ntdInstallationOption": "nbn-tech", (installation option for replacement NTD)
   ...
}


== Service Plan Change Enhancements
To show what plans are offered and what NTD's can be chosen, the plan change options response had the following added to it for FTTP and HFC
access technology types:

*For FTTP and HFC*

. *ntdOptions*. An array containing available NTD options and any associated costs.

* If the current NTD is *Generation One & download speed > 1000 MBit/s*, this array will contain one or more entries, each detailing an available upgrade option and its cost (if applicable).
* If the current NTD is *Generation Two*, this array will be empty, as no upgrade is needed or available.

*Important*

* When selecting plans with speeds greater than 1000 MBit/s, you must include a valid ntdOption along with the contact details in the request payload. These high-speed plans are not compatible with Generation one NTDs, and an upgrade must be specified.

*For FTTP Only*

. *requiresAdditionalNtd*. A Boolean value indicating whether an additional Network Termination Device (NTD) is required for the plan.
. *requiresAdditionalNtdReason*. If an additional NTD is required, this field explains the reason.

Possible values include:

1. BANDWIDTH_CAPACITY_EXCEEDED - The current NTD will exceed its remaining bandwidth capacity with the desired plan.
2. BATTERY_BACKUP - NBN Co has ceased supplying battery backup units for Fibre to the Premises (FTTP), requiring an additional NTD order.

*Important*

* In either of these scenarios, you must order an additional NTD along with the desired plan.

==== Generation One Example
* ntdOptions available for a generation one NTD.

[source,json]

{ "plans": [ { "sourceType": "NBN", "accessTechnology": "FTTP", "plan": "Home Fast 25/5", "term": "1", "downSpeed": { "speed": 25, "unit": "MBit/s" }, "upSpeed": { "speed": 5, "unit": "MBit/s" }, "requiresAdditionalNtd": false, "requiresAdditionalNtdReason": null, "planFee": { "attributes": { "plan": "Home Fast 25/5", "term": "1" }, "oneTimeCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" }, "monthlyRecurringCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" } }, "nfasFee": null, "ntdOptions": [] }, { "sourceType": "NBN", "accessTechnology": "FTTP", "plan": "Home Hyperfast 2000/200", "term": "1", "downSpeed": { "speed": 2000, "unit": "MBit/s" }, "upSpeed": { "speed": 200, "unit": "MBit/s" }, "requiresAdditionalNtd": true, "requiresAdditionalNtdReason": "BANDWIDTH_CAPACITY_EXCEEDED", "planFee": { "attributes": { "plan": "Home Hyperfast 2000/200", "term": "1" }, "oneTimeCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" }, "monthlyRecurringCharge": { "amount": "115.00", "currency": "AUD", "symbol": "$" } }, "nfasFee": null, "ntdOptions": [ { "option": "1_PORT", "recommended": true, "fee": { "attributes": { "ntd_installation_fee": "1_PORT" }, "oneTimeCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" }, "monthlyRecurringCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" } } }, { "option": "4_PORT_RESIDENTIAL", "recommended": false, "fee": { "attributes": { "ntd_installation_fee": "4_PORT_RESIDENTIAL" }, "oneTimeCharge": { "amount": "100.00", "currency": "AUD", "symbol": "$" }, "monthlyRecurringCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" } } } ] } ] }

==== Generation Two Example
* ntdOptions not available for a generation two NTD.

[source,json]

{ "plans": [ { "sourceType": "NBN", "accessTechnology": "FTTP", "plan": "Home Fast 25/5", "term": "1", "downSpeed": { "speed": 25, "unit": "MBit/s" }, "upSpeed": { "speed": 5, "unit": "MBit/s" }, "requiresAdditionalNtd": false, "requiresAdditionalNtdReason": null, "planFee": { "attributes": { "plan": "Home Fast 25/5", "term": "1" }, "oneTimeCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" }, "monthlyRecurringCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" } }, "nfasFee": null, "ntdOptions": [] }, { "sourceType": "NBN", "accessTechnology": "FTTP", "plan": "Home Hyperfast 2000/200", "term": "1", "downSpeed": { "speed": 2000, "unit": "MBit/s" }, "upSpeed": { "speed": 200, "unit": "MBit/s" }, "requiresAdditionalNtd": true, "requiresAdditionalNtdReason": "BANDWIDTH_CAPACITY_EXCEEDED", "planFee": { "attributes": { "plan": "Home Hyperfast 2000/200", "term": "1" }, "oneTimeCharge": { "amount": "0.00", "currency": "AUD", "symbol": "$" }, "monthlyRecurringCharge": { "amount": "115.00", "currency": "AUD", "symbol": "$" } }, "nfasFee": null, "ntdOptions": [] } ] }

==== Service Plan Change Request with ntdOption Example

[source,json]

{ "serviceId": 10000, "planName": "Home Hyperfast 2000/200", "term": 1, "restorationSla": "Standard", "ntdOption": "4_PORT_RESIDENTIAL", "contact_name": "John Smith", "contact_phone": "0446789456", "contact_email": "john.smith@superloop.com" }

== Webhooks
Appointment webhooks have a new field "appointmentFor" added. This field can have a value of ORDER or SERVICE_PLAN_CHANGE.
It indicates if the appointment is due to an order or a service plan change.

At the moment, only the following subset of appointment notifications are implemented for a service plan
change. Those notifications can have either of the two values. The rest will always have ORDER as the value.

* AppointmentBooked
* AppointmentRescheduled
* AppointmentCompleted

[source]
...
"appointmentFor":"SERVICE_PLAN_CHANGE",
...
== Introduction

Superloop Connect is an automated platform for ordering services from Superloop.

Connect is provided by Superloop's service management software - 360. 360 is what powers the Superloop portal at;

.Portal Application URL for each environment
[cols="2,4"]
|===
|Environment |URL

|Production
|https://portal.superloop.com

|Sandbox
|https://portal-sandbox.superloop.com/
|===

== Connect API

This document will guide you in using the Superloop Connect API (Connect API for short) so that you can automate the provisioning of services through Superloop.

== Getting Access

In order to use the Connect API, your organisation must have:

1. been approved for Superloop Connect through your account manager at Superloop
2. been given an OAuth 2 authentication profile
3. a Superloop Contact configured as the 'API User'

Your account manager at Superloop will be able to organise these things for you.

If you are unsure who your account manager is, log in to the Superloop portal at https://portal.superloop.com/360.

You will see a field named "Account Manager".

If you do not have an account manager, or you can't log into the Superloop portal, please contact the support team at support@superloop.com or contact the Superloop team member that you have been liaising with.

== API Sections

There are two parts to automated Connect access: the API and Webhooks.

=== API

The Connect API is a REST over HTTP API that you use to qualify sites and order services with. This API is what your application will connect to.


==== Introduction
API endpoints are for use by applications written by Superloop customers.

All Connect API endpoints start with;

.API Endpoint for each environment
[cols="2,4"]
|===
|Environment |Endpoint

|Production
|`/api`, `https://360-api.superloop.com/api`

|Sandbox
|`/api`, `https://360-api-sandbox.superloop.com/api`
|===


==== Authentication
Before making a HTTP request to Connect API, you will need to have obtained an Access Token. This is a Bearer Token
and will be passed in via the Authorization Header. +
Read more: <<api/authentication.adoc#, Authentication>>


==== Accessing Endpoints

When making HTTP requests to Connect API, you will need to provide the following request headers on every request:

1. Bearer Token
2. API Version

This applies to all requests to endpoints that start with `/api`.

===== Bearer Token

The bearer token authenticates the HTTP request with Connect API. Bearer tokens are obtained by authenticating with Superloop's single sign on server at;

.Authentication Token Endpoint for each environment
[cols="2,4"]
|===
|Environment |Endpoint

|Production
|https://sso.superloop.com/auth

|Sandbox
|https://sso-sandbox.superloop.com/auth
|===

.Example Bearer Token

Authorization=Bearer [TOKEN STRING GOES HERE]

Instructions on how to authenticate are coming soon.

===== API Version

Connect API is a versioned API. This is done in order to provide API clients time to update their software to work with breaking changes to the API.

With new functionality comes changes to the API over time. The Connect team endeavour to make changes to the API non-breaking as much as possible. This means that whenever we add functionality to Connect, we try to make it so that we only add new fields to an API endpoint's request and response, and that those fields are optional.

This is not always possible, though. Sometimes we need to either add new fields that are required or we need to remove fields altogether. When this happens, we create a new API version that contains the changes. Client applications then have to opt in to using the new API version. The previous API version is kept live so that clients that haven't migrated to the new version can still function.

NOTE: Sometimes it's not possible to keep the previous API version when a new one is released. If this occurs, the Connect team will not deploy the new version until we know all client applications are migrated.

Every request to endpoints require a header named `X-API-VERSION`, with the version number being the value of the header.

.Example API Version header

X-API-VERSION=1

==== Version Numbering

The API version starts at `1`. Every subsequent API version is an increment of the last. The next API version will be `2`.

All endpoints adopt new version numbers, even if they didn't need to change. This allows client applications to use a single API version across all requests.

==== Version Sunsetting

In order to keep Connect's code clean, the Connect team will remove older API version code from Connect. The team will only do this when it is confirmed that all clients no longer use the version.

Customers will be informed of new versions when they're about to be released. Usually you will not have to do anything about the new version right away.

There will be times when the Connect team needs to remove an older version before they can deploy a new version. In this case, all customers will be contacted and asked to move to the current version so that the team can deploy the new version.

==== API Testing

You can test the API using our sandbox environment.

* Sandbox Portal Application:  https://portal-sandbox.superloop.com/
* Sandbox API Base URL: https://360-api-sandbox.superloop.com/api
* Sandbox Authentication Token Endpoint: https://sso-sandbox.superloop.com/auth/realms/superloop/protocol/openid-connect/token

Please note the following:

* While the authentication token endpoints differ between the sandbox and production environments, both require the same client ID and certificates for JWT signing.

* Your user credentials (username and password) remain the same across both environments.

== Endpoints

=== Location Search
Search for Locations to use in a Service Qualifications +
<<api/endpoints/location-searches.adoc#,/api/connect/location-searches>>

=== Service Qualification
Qualify a Location +
<<api/endpoints/qualifications.adoc#,/api/connect/qualifications>>

=== Orders
Create, Get or Cancel an Order +
<<api/endpoints/orders.adoc#,/api/connect/orders>>

=== Appointments
Get Appointment Slots, Book an Appointment or Cancel an Appointment +
<<api/endpoints/appointments.adoc#,/api/connect/orders/appointments>>

=== Services
Get a Service, Perform a Plan Change, Perform Diagnostic Tests, Cancel a Service, Reclaim a Service, Get Service Disruptions, Convert the
aggregation method of a Service, Change a Service's DSL Stability Profile or perform a Service Health Check +
<<api/endpoints/services.adoc#,/api/connect/services>>

=== Locations
Get Change of Access Technology details for a Location +
<<api/endpoints/locations.adoc#,/api/connect/locations>>

=== Fibre Build Charges
Get the File Build Charge for a Location +
<<api/endpoints/fibre-build-charges.adoc#,/api/connect/ee/quotes>>

=== Errors
* <<api/errors/errors.adoc#,Errors>>


== Webhooks

360 can notify your system of certain events relating to orders and services.

Go to the Webhooks section to find out about the events that Superloop Connect can notify your application about.

=== Introduction

Connect API - Webhooks is the way Superloop 360 notify your selected callback urls of any subscribed events relating to orders and services.

=== Webhook Configuration

In order to receive webhook notifications, you will need to set up one or more callback URLs in Superloop 360. Instructions can be found   <<webhooks/webhook-configuration.adoc#,here>>.

=== Webhook Notification Requests

Connect will send your webhook URLs notifications for a number of key events. These notifications are POST requests. These POST requests are comprised of:

1. the notification payload as the POST request body. This provides your application with detailed information about the event.
2. request headers, which include important metadata that your application can use to decide what to do with the request.

The notification payload is different very each type of event that Connect notifies you of. There is a detailed explanation of each even's payload in the "Event Types" section below.

The request headers, and their meaning, is outlined in the table below.

.Webhook Event Notification Request Headers
[cols="2, 3, 2"]
|====
|Header|Meaning|Example Value

|z-event-date-time
|When the event was raised, not necessarily when it was sent
|2021-04-06T22:27:35Z[Etc/UTC]

|z-event-type
|The type of event that the notification is for
|order.accepted.event

|z-notification-type
|The type of notification
|order.accepted.notification

|z-notification-model
|The type of resource that the notification is about
|order

|z-notification-id
|The unique id of the notification
|d2a3065b-4e58-4925-b216-a4b3da99a0c0

|user-agent
|This is always 'Superloop-Portal-API'
|Superloop-Portal-API

|signature
|The hash of the request body and your webhook secret that you set up in 360
|279a13898ce22b004c9d165787e4899e0...
|====


=== Verifying Webhook Notification Requests

Before you use the data provided by a webhook notification request, you must verify it by its signature and payload. Verifying the request ensures that the webhook came from Superloop and not a third party.

The signature is in the 'signature' head of the request. The signature is the HmacSHA256 hash of the secret and the payload

The payload is the POST body of the request.

You must hash the payload with the webhook secret that you set up in the webhooks section of your company's 360 profile, under the integrations menu item.

https://portal.superloop.com/360/integrations/webhooks[Click here to go to your company's webhook configuration.]

.Example Signature Verification - Java
[source,java]

import org.apache.commons.codec.binary.Hex; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec;

public boolean signatureValid(String signature, String payload, String secret) throws Exception { Mac sha256HMAC = Mac.getInstance("HmacSHA256"); SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"); sha256HMAC.init(secret_key); byte[] hash = sha256HMAC.doFinal(payload.getBytes("UTF-8")); String expectedSignature = Hex.encodeHexString(hash); return Object.equals(expectedSignature, signature); }

.Example Signature Verification - PHP
[source,php]

function signatureValid(string $signature, string $payload, string $secret) : bool { return hash_hmac('sha256', $payload, $secret) === $signature; }

=== Webhook Retry Schedule

When an event occurs in 360, a notification is sent to all callback url(s) that a company has registered to receive a notification of said event.

If a notification fails to be delivered, or an error response is received, it is rescheduled to be resent for up to 6 attempts with a delay between each retry as listed below:

.Webhook Retry Schedule
[cols="1, 3"]
|====
|Attempt #| Delay until next attempt

|1 (Initial Send)
|Up to 60 seconds

|2
|1 minute

|3
|5 minutes

|4
|30 minutes

|5
|4 hours

|6
|8 hours

|7
|No more retries

|====


=== Resend Notification

To resend a notification, please follow instructions below:

. Select *Integrations* from the left side menu then click on the *Notifications* option.

. Find the notification you wish to resend and click on the *Resend Notification* button.

Your notification will be sent following the <<#_webhook_retry_schedule,Webhook Retry Schedule>>.

image:./images/manualRetry.PNG[]

=== Event Types

This is the list of events that the webhooks system sends your call back URLs. Click on each one to find out more about them.

==== Appointment Events

===== Appointment Booked
[[top-appointment-booked]]
:docinfo1:

The `AppointmentBooked` notification is sent when an appointment you have has been validated successfully by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|appointment.booked.event

|z-notification-type
|appointment.booked.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentBooked` webhook notification for an order

{ "id": 583, "nbnAppointmentId": "APT190000000000", "appointmentFor":"ORDER", "orderId": 10, "serviceId": 300, "status": "booked", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "bookedOn": "2020-06-10T06:46:06Z" }

.Example payload of the `AppointmentBooked` webhook notification for a service plan change

{ "id": 583, "nbnAppointmentId": "APT190000000000", "appointmentFor":"SERVICE_PLAN_CHANGE", "orderId": null, "serviceId": 300, "status": "booked", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "bookedOn": "2020-06-10T06:46:06Z" }

.Fields specific to AppointmentBooked
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`bookedOn`
a|The date/time, including UTC offset, when nbn validated the appointment.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===

===== Appointment Cancelled
:docinfo1:

The `AppointmentCancelled` notification is sent when an appointment you have has been cancelled by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|appointment.cancelled.event

|z-notification-type
|appointment.cancelled.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentCancelled` webhook notification

{ "id": 583, "nbnAppointmentId": "APT190000000000", "appointmentFor":"ORDER", "orderId": 10, "serviceId": 300, "status": "cancelled", "startTime": "2020-08-20T03:00:00Z", "endTime": "2020-08-20T07:00:00Z", "slotType": "PM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Standard Install", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "cancelledOn": "2020-08-14T06:06:33Z" }

.Fields specific to AppointmentCancelled
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`cancelledOn`
a|The date/time, including UTC offset, when the nbn cancelled the appointment.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===


===== Appointment Completed
:docinfo1:

The `AppointmentCompleted` notification is sent when an appointment you have has been completed by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|appointment.completed.event

|z-notification-type
|appointment.completed.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentCompleted` webhook notification for an order

{ "id": 584, "nbnAppointmentId": "APT190000000000", "appointmentFor":"ORDER", "orderId": 843, "serviceId": 300, "status": "completed", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "completedOn": "2020-06-16T23:12:05Z" }

.Example payload of the `AppointmentCompleted` webhook notification for a service plan change

{ "id": 584, "nbnAppointmentId": "APT190000000000", "appointmentFor":"SERVICE_PLAN_CHANGE", "orderId": null, "serviceId": 300, "status": "completed", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "completedOn": "2020-06-16T23:12:05Z" }

.Fields specific to AppointmentCompleted
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`completedOn`
a|The date/time, including UTC offset, when the nbn completed the appointment.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===

===== Appointment Failed
:docinfo1:

The `AppointmentFailed` notification is sent when an appointment you have scheduled or rescheduled has failed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|appointment.failed.event

|z-notification-type
|appointment.failed.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentFailed` webhook notification

{ "id": 584, "nbnAppointmentId": "APT190000000000", "appointmentFor":"ORDER", "orderId": 843, "serviceId": 300, "status": "failed", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "failedOn": "2020-06-16T23:12:05Z", "failedReason": "No appointment slots available" }

.Fields specific to AppointmentFailed
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`failedOn`
a|The date/time, including UTC offset, when the nbn failed the appointment.

a|`failedReason`
a|The reason why the appointment failed.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===

===== Appointment Rescheduled Required
:docinfo1:

The `AppointmentRescheduleRequired` notification is sent when an appointment reschedule is required.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|appointment.reschedule-required.event

|z-notification-type
|appointment.reschedule-required.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentRescheduleRequired` webhook notification

{ "id": 583, "nbnAppointmentId": "APT800002537559", "appointmentFor":"ORDER", "orderId": 10, "serviceId": 300, "status": "incomplete", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Bruce Wayne", "type": "Primary Contact", "phone": "0400000000", "notes": null }, "customerRef": "CUST-REF-007", "reason": "The appointment is incomplete due to weather." }

.Fields specific to AppointmentRescheduleRequired
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`reason`
a|The reason why the appointment needs to be rescheduled.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===


===== Appointment Rescheduled
:docinfo1:

The `AppointmentRescheduled` notification is sent when an appointment has been rescheduled by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|appointment.rescheduled.event

|z-notification-type
|appointment.rescheduled.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentRescheduled` webhook notification for an order

{ "id": 583, "nbnAppointmentId": "APT800002537559", "appointmentFor": "ORDER", "orderId": 10, "serviceId": 300, "status": "booked", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Bruce Wayne", "type": "Primary Contact", "phone": "0400000000", "notes": null }, "customerRef": "CUST-REF-007", "rescheduledOn": "2020-06-10T06:46:06Z" }

.Example payload of the `AppointmentRescheduled` webhook notification for a service plan change

{ "id": 583, "nbnAppointmentId": "APT800002537559", "appointmentFor": "SERVICE_PLAN_CHANGE", "orderId": null, "serviceId": 300, "status": "booked", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Bruce Wayne", "type": "Primary Contact", "phone": "0400000000", "notes": null }, "customerRef": "CUST-REF-007", "rescheduledOn": "2020-06-10T06:46:06Z" }

.Fields specific to AppointmentRescheduled
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rescheduledOn`
a|The date/time, including UTC offset, when nbn rescheduled the appointment.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===


===== Appointment Errored
:docinfo1:

The `AppointmentErrored` notification is sent when an appointment you have scheduled or rescheduled has an error.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|appointment.errored.event

|z-notification-type
|appointment.errored.notification

|z-notification-model
|appointment
|===


The payload of the notification will include the configuration of the appointment as well as the ID of the 360 service.

.Example payload of the `AppointmentErrored` webhook notification

{ "id": 584, "nbnAppointmentId": "APT190000000000", "appointmentFor":"ORDER", "orderId": 843, "serviceId": 300, "status": "error", "startTime": "2020-06-16T21:00:00Z", "endTime": "2020-06-17T04:00:00Z", "slotType": "AM", "timezoneOffset": "+10:00", "priorityAssist": false, "eSla": "Standard", "demandType": "Non EU Jumper Only", "contact": { "name": "Lynette Santa", "type": "Primary Contact", "phone": "0739076000", "notes": null }, "customerRef": "CUST-REF-007", "erroredOn": "2020-06-16T23:12:05Z", "erroredReason": "No appointment slots available" }

.Fields specific to AppointmentErrored
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`erroredOn`
a|The date/time, including UTC offset, when the nbn errored the appointment.

a|`erroredReason`
a|The reason why the appointment errored.
|===

.Fields for all Appointment based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the appointment.

a|`nbnAppointmentId`
a|The NBN identifier of the appointment.

a|`orderId`
a|The Order ID uniquely identifies an order that has been placed with NBN Co.

a|`appointmentFor`
a|ORDER \| SERVICE_PLAN_CHANGE. Indicates if the appointment is required due to an order or a service plan change.

a|`serviceId`
a|The ID of the 360 service.

a|`status`
a|The status of the appointment.

* `Reserved` - NBN Co allocates a unique Appointment ID when customer reserves an appointment, and the id must
be included in the order. Customer is awaiting appointment validation by NBN in this stage.

* `Booked`  - A `Reserved` Appointment will become a `Booked` Appointment if validated successfully by NBN Co.

* `In Progress` -  NBN Co is undertaking necessary fieldwork for the Appointment.

* `Complete` - The end stage of an Appointment that has completed.

* `Incomplete` - NBN Co notifies Customer that an Appointment could not commence and/or could not be completed as scheduled.

* `Cancelled` - Customer or NBN Co has cancelled an Appointment.

a|`startTime`
a|The date/time, including UTC offset, appointment start time will be visible only when appointment has been confirmed.

a|`endTime`
a|The date/time, including UTC offset, appointment end time, will be visible only when appointment has been confirmed.

a|`slotType`
a|The type of confirmed appointment slot. AM/ PM.

a|`timezoneOffset`
a| Represents an offset defined in a Timezone.

a|`priorityAssist`
a|Indicates whether the appointment is priority assisted or not.

a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.

a|`demandType`
a|The type of installation the appointment slot is provided for.

a|`contact`
a|The contact details of the appointment.

a|`contact.name`
a|The name of the contact.

a|`contact.type`
a|The type of the contact.

a|`contact.phone`
a|The number of the contact.

a|`contact.notes`
a|Additional information. If any.

a|`customerRef`
a|The reference string that you provided when you placed the order.
|===

==== Diagnostic Test Events
===== Diagnostic Test Accepted
:docinfo1:

The `DiagnosticTestAccepted` notification is sent when the diagnostic test has been accepted by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|diagnosticTest.accepted.event

|z-notification-type
|diagnosticTest.accepted.notification

|z-notification-model
|diagnosticTest
|===

The payload of the notification will include the configuration of the diagnostic test as well as the ID of the 360 service.

.Example payload of the `DiagnosticTestAccepted` webhook notification

{ "id": 1, "type": "line-state", "status": "accepted", "requestedAt": "2019-10-04T00:05:46Z", "active": true, "result": { "nbn_test_id": "WRI000000000000", "result": "Passed", "start": "2019-01-01 10:10:10", "end": "2019-01-01 10:10:10" }, "serviceId": 11111, "acceptedOn": "2020-01-01T10:10:10Z" }

.Fields specific to DiagnosticTestAccepted
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`acceptedOn`
a|The date/time, including UTC offset, when the nbn accepted the diagnostic test.
|===

.Fields for all Diagnostic Test based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the diagnostic test.

a|`type`
a|The type of diagnostic test.

* Line State
* NTD-UNI-D status
* NTD status
* Port Reset
* DPU Port status
* NCD-UNI-D status
* DPU status
* NCD Reset
* NTD Reset

a|`status`
a|The status of the diagnostic test.

a|`requestedAt`
a|The date/time, including UTC offset, when the diagnostic test has been requested at.

a|`active`
a|Indicates whether the diagnostic test is in an active state.

a|`result`
a|The result of the diagnostic test. The test results varies depending on the type of test.

More details on the different test results can be found <<../common/diagnosticTest-result-by-type.adoc#,here>>.

a|`serviceId`
a|The ID of the 360 service.
|===

===== Diagnostic Test InProgress
:docinfo1:

The `DiagnosticTestInProgress` notification is sent when the diagnostic test has been started by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|diagnosticTest.inProgress.event

|z-notification-type
|diagnosticTest.inProgress.notification

|z-notification-model
|diagnosticTest
|===

The payload of the notification will include the configuration of the diagnostic test as well as the ID of the 360 service.

.Example payload of the `DiagnosticTestInProgress` webhook notification

{ "id": 1, "type": "line-state", "status": "in-progress", "requestedAt": "2021-03-03T01:05:03Z", "active": true, "result": null, "serviceId": 11111 }

.Fields for all Diagnostic Test based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the diagnostic test.

a|`type`
a|The type of diagnostic test.

* Line State
* NTD-UNI-D status
* NTD status
* Port Reset
* DPU Port status
* NCD-UNI-D status
* DPU status
* NCD Reset
* NTD Reset

a|`status`
a|The status of the diagnostic test.

a|`requestedAt`
a|The date/time, including UTC offset, when the diagnostic test has been requested at.

a|`active`
a|Indicates whether the diagnostic test is in an active state.

a|`result`
a|The result of the diagnostic test. The test results varies depending on the type of test.

More details on the different test results can be found <<../common/diagnosticTest-result-by-type.adoc#,here>>.

a|`serviceId`
a|The ID of the 360 service.
|===

===== Diagnostic Test Completed
:docinfo1:

The `DiagnosticTestCompleted` notification is sent when the diagnostic test has been completed by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|diagnosticTest.completed.event

|z-notification-type
|diagnosticTest.completed.notification

|z-notification-model
|diagnosticTest
|===

The payload of the notification will include the configuration of the diagnostic test as well as the ID of the 360 service.

.Example payload of the `DiagnosticTestCompleted` webhook notification

{ "id": 1, "type": "line-state", "status": "completed", "requestedAt": "2020-11-12T12:14:11Z", "active": false, "result": { "actual_cpe_vectoring_type": "g.vector capable", "actual_psd_downstream": -56.4, "actual_psd_upstream": -60.6, "actual_rtx_mode_downstream": "In Use", "actual_rtx_mode_upstream": "In Use", "band_0_attenuation_avg_upstream": 5.3, "band_0_loop_attenuation_avg_upstream": 5.3, "band_1_attenuation_avg_downstream": 18.7, "band_1_attenuation_avg_upstream": 27, "band_1_loop_attenuation_avg_downstream": 15.6, "band_1_loop_attenuation_avg_upstream": 26.5, "band_2_attenuation_avg_downstream": 34.8, "band_2_attenuation_avg_upstream": 40.1, "band_2_loop_attenuation_avg_downstream": 34, "band_2_loop_attenuation_avg_upstream": 40.7, "band_3_attenuation_avg_downstream": 56.7, "band_3_loop_attenuation_avg_downstream": 52.7, "detected_mac_addresses": [ "7C:5A:1C:82:A3:F7" ], "dsl_mode": "VDSL2", "electrical_length": "12.5", "estimated_delt_distance": 612, "fallback_state": "Not Active", "modem_name": "SFP (META * META)", "modem_vendor_id": "B000000000000000", "noise_margin_avg_downstream": 6.7, "noise_margin_avg_upstream": 6.5, "operational_status": "Up", "output_power_downstream": 14.1, "output_power_upstream": 6.3, "physical_profile": "100/40 Standard 6dB (Co-Existence)", "relative_capacity_occupation_downstream": 97, "relative_capacity_occupation_upstream": 97, "rtx_actual_expected_throughput_downstream": 82356, "rtx_actual_expected_throughput_upstream": 30462, "rtx_actual_net_data_rate_downstream": 83333, "rtx_actual_net_data_rate_upstream": 30773, "rtx_attainable_expected_throughput_downstream": 88928, "rtx_attainable_expected_throughput_upstream": 29489, "rtx_attainable_net_data_rate_downstream": 89836, "rtx_attainable_net_data_rate_upstream": 29790, "serial_number": "00011D00111100000000000000000000", "service_stability": "STABLE", "supported_cpe_vectoring_types": [ "legacy g.vector capable" ], "system_vendor_id": "B500000000000000", "system_vendor_model": "11111110522222222220201010202020", "user_traffic_downstream": 4134613, "user_traffic_upstream": 4860991, "vectoring_status": "Enabled", "nbn_test_id": "WRI000000000000", "result": "Passed", "start": "2020-11-12 12:14:13", "end": "2020-11-12 12:14:24" }, "completedOn": "2020-11-12T12:14:26Z", "serviceId": 11111 }

.Fields specific to DiagnosticTestCompleted
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`completedOn`
a|The date/time, including UTC offset, when the nbn completed the diagnostic test.
|===

.Fields for all Diagnostic Test based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the diagnostic test.

a|`type`
a|The type of diagnostic test.

* Line State
* NTD-UNI-D status
* NTD status
* Port Reset
* DPU Port status
* NCD-UNI-D status
* DPU status
* NCD Reset
* NTD Reset

a|`status`
a|The status of the diagnostic test.

a|`requestedAt`
a|The date/time, including UTC offset, when the diagnostic test has been requested at.

a|`active`
a|Indicates whether the diagnostic test is in an active state.

a|`result`
a|The result of the diagnostic test. The test results varies depending on the type of test.

More details on the different test results can be found <<../common/diagnosticTest-result-by-type.adoc#,here>>.

a|`serviceId`
a|The ID of the 360 service.
|===

===== Diagnostic Test Cancelled
:docinfo1:

The `DiagnosticTestCancelled` notification is sent when the diagnostic test has been cancelled by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|diagnosticTest.cancelled.event

|z-notification-type
|diagnosticTest.cancelled.notification

|z-notification-model
|diagnosticTest
|===

The payload of the notification will include the configuration of the diagnostic test as well as the ID of the 360 service.

.Example payload of the `DiagnosticTestCancelled` webhook notification

{ "id": 1, "type": "ncd-port-reset", "status": "cancelled", "requestedAt": "2021-02-05T12:55:49Z", "active": false, "result": { "notes": { "CN252": "Unable to run NCD_Port_Reset. Please try again later." }, "nbn_test_id": "WRI000000000000", "start": "2021-02-05 12:55:50", "end": "2021-02-05 12:56:21" }, "cancelledOn": "2021-02-05T12:56:23Z", "serviceId": 11111 }

.Fields specific to DiagnosticTestCancelled
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`cancelledOn`
a|The date/time, including UTC offset, when the nbn cancelled the diagnostic test.
|===

.Fields for all Diagnostic Test based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the diagnostic test.

a|`type`
a|The type of diagnostic test.

* Line State
* NTD-UNI-D status
* NTD status
* Port Reset
* DPU Port status
* NCD-UNI-D status
* DPU status
* NCD Reset
* NTD Reset

a|`status`
a|The status of the diagnostic test.

a|`requestedAt`
a|The date/time, including UTC offset, when the diagnostic test has been requested at.

a|`active`
a|Indicates whether the diagnostic test is in an active state.

a|`result`
a|The result of the diagnostic test. The test results varies depending on the type of test.

More details on the different test results can be found <<../common/diagnosticTest-result-by-type.adoc#,here>>.

a|`serviceId`
a|The ID of the 360 service.
|===

===== Diagnostic Test Rejected
:docinfo1:

The `DiagnosticTestRejected` notification is sent when the diagnostic test has been rejected by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|diagnosticTest.rejected.event

|z-notification-type
|diagnosticTest.rejected.notification

|z-notification-model
|diagnosticTest
|===

The payload of the notification will include the configuration of the diagnostic test as well as the ID of the 360 service.

.Example payload of the `DiagnosticTestRejected` webhook notification

{ "id": 1, "type": "port-reset", "status": "rejected", "requestedAt": "2020-09-15T12:00:35Z", "active": false, "result": { "notes": { "R0000000": "No records were found to match the serviceId specified in the request" } }, "rejectedOn": "2020-09-15T12:01:09Z", "serviceId": 11111 }

.Fields specific to DiagnosticTestRejected
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedOn`
a|The date/time, including UTC offset, when the nbn rejected the diagnostic test.
|===

.Fields for all Diagnostic Test based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the diagnostic test.

a|`type`
a|The type of diagnostic test.

* Line State
* NTD-UNI-D status
* NTD status
* Port Reset
* DPU Port status
* NCD-UNI-D status
* DPU status
* NCD Reset
* NTD Reset

a|`status`
a|The status of the diagnostic test.

a|`requestedAt`
a|The date/time, including UTC offset, when the diagnostic test has been requested at.

a|`active`
a|Indicates whether the diagnostic test is in an active state.

a|`result`
a|The result of the diagnostic test. The test results varies depending on the type of test.

More details on the different test results can be found <<../common/diagnosticTest-result-by-type.adoc#,here>>.

a|`serviceId`
a|The ID of the 360 service.
|===

===== Diagnostic Test Failed
:docinfo1:

The `DiagnosticTestFailed` notification is sent when the diagnostic test has been failed by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|diagnosticTest.failed.event

|z-notification-type
|diagnosticTest.failed.notification

|z-notification-model
|diagnosticTest
|===

The payload of the notification will include the configuration of the diagnostic test as well as the ID of the 360 service.

.Example payload of the `DiagnosticTestFailed` webhook notification

{ "id": 1, "type": "line-state", "status": "failed", "requestedAt": "2021-03-03T01:05:03Z", "active": true, "result": null, "serviceId": 11111, "failedOn": "2021-06-02T17:27:02Z" }

.Fields specific to DiagnosticTestFailed
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`failedOn`
a|The date/time, including UTC offset, when the nbn failed the diagnostic test.
|===

.Fields for all Diagnostic Test based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`id`
a|The Connect identifier of the diagnostic test.

a|`type`
a|The type of diagnostic test.

* Line State
* NTD-UNI-D status
* NTD status
* Port Reset
* DPU Port status
* NCD-UNI-D status
* DPU status
* NCD Reset
* NTD Reset

a|`status`
a|The status of the diagnostic test.

a|`requestedAt`
a|The date/time, including UTC offset, when the diagnostic test has been requested at.

a|`active`
a|Indicates whether the diagnostic test is in an active state.

a|`result`
a|The result of the diagnostic test. The test results varies depending on the type of test.

More details on the different test results can be found <<../common/diagnosticTest-result-by-type.adoc#,here>>.

a|`serviceId`
a|The ID of the 360 service.
|===

==== Order Events

===== Order Accepted
:docinfo1:

The `OrderAccepted` notification is sent when an order you have placed has been accepted by the nbn and is going to be provisioned.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.accepted.event

|z-notification-type
|order.accepted.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderAccepted` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "acceptedOn": "2020-09-03T10:33:07+10:00", "locId": "LOC000000000000", "avcId": "AVC400031713036", "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields specific to OrderAccepted
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`acceptedOn`
a|The date/time, including UTC offset, when the nbn accepted the order
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Acknowledged
:docinfo1:

The `OrderAcknowledged` notification is sent when an order you have placed has been acknowledged by the nbn.
"Acknowledging" means that the nbn system has received the order, but it needs to be validated before it can be accepted.
When the nbn accepts the order, the <<./order-accepted.adoc#,`OrderAccepted`>> webhook notification is sent.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.acknowledged.event

|z-notification-type
|order.acknowledged.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderAcknowledged` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "acknowledgedOn": "2020-09-03T10:33:07+10:00", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields specific to OrderAcknowledged
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`acknowledgedOn`
a|The date/time, including UTC offset, when the nbn acknowledged the order
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===


.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===


===== Order Acknowledgement Failed
:docinfo1:

The `OrderAcknowledgementFailed` notification is sent when an order fails to be acknowledged by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.acknowledgement-failed.event

|z-notification-type
|order.acknowledgement-failed.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderAcknowledgementFailed` webhook notification

{ "serviceId": 99999, "id": 100, "type": "transfer", "serviceClass": "33", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-dispatch", "customerRef": "1110000", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "2ABB", "poiName": "Albury", "region": "Major Rural", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.5 }, "infrastructure": { "id": "CPI300000000000", "productId": null }, "address": { "buildingLevel": "Level 1", "unitNumber": "U5", "buildingName": "Building at 16", "streetNumber": "2494", "street": "BOOGDR", "suburb": "TENNYSON POINT", "state": "NSW", "postcode": "2111", "formattedAddress": "Unit 6, 5-7 BERESFORD Road, STRATHFIELD, New South Wales, 2135" }, "aggregationMethod": "L2TP", "failedReason": "This service is flagged in the Communications Alliance Transfer Validation Trial and must be removed by the losing RSP before a Transfer Order can be accepted by nbn.", "failedOn": "2022-02-06T10:22:31Z", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": "SERVICE_TRANSFER" }

.Fields specific to OrderAcknowledgementFailed
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`failedOn`
a|The date/time, including UTC offset, when the nbn failed the order.

a|`failedReason`
a|The reason the order failed from nbn.
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===


===== Order Appointment Required
:docinfo1:

The `OrderAppointmentRequired` notification is sent when an order requires an appointment to be scheduled.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.appointment-required.event

|z-notification-type
|order.appointment-required.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderAppointmentRequired` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Cancelled
:docinfo1:

The `OrderCancelled` notification is sent when an order you have placed has been cancelled.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.cancelled.event

|z-notification-type
|order.cancelled.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderCancelled` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "cancelledOn": "2020-09-03T10:33:07+10:00", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": false, "transferType": null }

.Fields specific to OrderCancelled
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`cancelledOn`
a|The date/time, including UTC offset, when the nbn cancelled the order
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Cancellation Error
:docinfo1:

The `OrderCancellationError` notification is sent when an order cancellation is rejected or NBN returns with an error.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.cancellation-error.event

|z-notification-type
|order.cancellation-error.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderCancellationError` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": false, "cancellationFailedReason": "This Order ID is invalid or not found in NBNs systems", "cancellationFailedOn": "2022-05-06T10:39:37Z", "transferType": null }

.Fields specific to OrderCancellationError
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`cancellationFailedOn`
a|The date/time, including UTC offset, when the nbn cancellation error occurred

a|`cancellationFailedReason`
a|The reason for the cancellation error
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Failed Nbn Validation
:docinfo1:s

The `OrderFailedNbnValidation` notification is sent when an order you have placed, has failed validation done by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.failed-nbn-validation.event

|z-notification-type
|order.failed-nbn-validation.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderFailedNbnValidation` webhook notification

{ "id": 100, "type": "transfer", "serviceClass": "24", "technologyType": "HFC", "trafficClass": "TC4", "installationType": "nbn-no-action", "customerRef": "Albany Creek Library", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4BNB", "poiName": "Aspley Depot", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "NTD000000000000", "portId": "1", "productId": "PRI000000000000" }, "address": { "buildingLevel": "Level 1", "unitNumber": "U5", "buildingName": "Building at 16", "streetNumber": "2494", "street": "BOOGDR", "suburb": "TENNYSON POINT", "state": "NSW", "postcode": "2111", "formattedAddress": "Unit 6, 5-7 BERESFORD Road, STRATHFIELD, New South Wales, 2135" }, "failedOn": "2021-02-23T04:36:00Z", "failedReason": "The requested TC4 bandwidth exceeds the defined backhaul threshold", "serviceId": 300, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": false, "transferType": "SERVICE_TRANSFER" }

.Fields specific to OrderFailedNbnValidation
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`failedOn`
a|The date/time, including UTC offset, when the nbn failed the order.

a|`failedReason`
a|The reason the order failed from nbn.
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Nbn Action Completed
:docinfo1:

The `OrderNbnActionCompleted` notification is sent when an nbn action has been completed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL include the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.nbn-action-completed.event

|z-notification-type
|order.nbn-action-completed.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderNbnActionCompleted` webhook notification

{ "id": 100, "serviceId": 99999, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "aggregationMethod": "L2TP", "description": "NBN Co Technical issue has been resolved", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields specific to OrderNbnActionCompleted
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`description`
a|The nbn action completed
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

=====  Order NbnAction Required
:docinfo1:

The `OrderNbnActionRequired` notification is sent when an nbn action is required before an order can be completed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL include the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.nbn-action-required.event

|z-notification-type
|order.nbn-action-required.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderNbnActionRequired` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "description": "A network augmentation is required to complete the Order", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields specific to OrderNbnActionRequired
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`description`
a|The nbn action required
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Rejected
:docinfo1:

The `OrderRejected` notification is sent when an order you have placed has been rejected by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.rejected.event

|z-notification-type
|order.rejected.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderRejected` webhook notification

{ "id": 100, "type": "transfer", "serviceClass": "3", "technologyType": "FTTP", "trafficClass": "TC4", "installationType": "nbn-no-action", "customerRef": "Albany Creek Library", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4BNB", "poiName": "Aspley Depot", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "NTD000000000000", "portId": "1", "productId": "PRI000000000000" }, "address": { "buildingLevel": "Level 1", "unitNumber": "U5", "buildingName": "Building at 16", "streetNumber": "2494", "street": "BOOGDR", "suburb": "TENNYSON POINT", "state": "NSW", "postcode": "2111", "formattedAddress": "Unit 6, 5-7 BERESFORD Road, STRATHFIELD, New South Wales, 2135" }, "rejectedReason": "Order was rejected: VLAN ID is not able to be applied", "rejectedOn": "2021-02-23T04:36:00Z", "serviceId": 300, "aggregationMethod": "L2TP", "isNfas": true, "legacyTechnologyType": "FTTN", "isCancellable": true, "transferType": "SERVICE_TRANSFER" }

.Fields specific to OrderRejected
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason to reject the order by nbn.

a|`rejectedOn`
a|The date/time, including UTC offset, when the nbn rejected the order.
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Shipment Awaiting Collection
:docinfo1:

The `OrderShipmentAwaitingCollection` notification is sent when the shipped NTD/NCD device has arrived the destination and is awaiting collection, likely from the local Post Office.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|order.shipment-awaiting-collection.event

|z-notification-type
|order.shipment-awaiting-collection.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderShipmentAwaitingCollection` webhook notification

{ "id": 100, "type": "transfer", "serviceClass": "3", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-no-action", "customerRef": "REF123", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4APL", "poiName": "4APL Aspley", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "NTD000000000000", "portId": "1", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "PCYC", "buildingName": null, "streetNumber": "4", "street": "PARKST", "suburb": "TWEED HEADS", "state": "NSW", "postcode": "2485", "formattedAddress": "Building PCYC, 4 PARK Street, TWEED HEADS, New South Wales, 2485" }, "shippingStatus": "Awaiting Collection", "shippingReferenceNumber": "334RG505105901000960800", "contactName": "Lynette Santa", "contactNumber": "0739076000", "businessName": "Business name", "addressLine1": "Lot 6, 8 SANTA BARBARA Road", "addressLine2": null, "suburb": "HOPE ISLAND", "postcode": "4212", "state": "QLD", "deliveryInstructions": null, "authorityToLeave": false, "serviceId": 300, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": "SERVICE_TRANSFER" }

.Fields specific to OrderShipmentAwaitingCollection
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`shippingStatus`
a|The status of the shipment.

a|`shippingReferenceNumber`
a|The tracking number assigned to the shipment.

a|`contactName`
a|The name of the person the NTD/NCD device is delivered to.

a|`contactNumber`
a|The contact number of the person the NTD/NCD device is delivered to.

a|`businessName`
a|The name of the business, if applicable.

a|`addressLine1`
a|The address where the NTD/NCD device is delivered to.

a|`addressLine2`
a|The address where the NTD/NCD device is delivered to, if applicable.

a|`suburb`
a|The suburb.

a|`postcode`
a|The postcode.

a|`state`
a|The state.

a|`deliveryInstructions`
a|Instructions to the delivery.

a|`authorityToLeave`
a|Permission to leave the NTD/NCD device at the delivery address without a signature.
|===


.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Shipment Delivered
:docinfo1:

The `OrderShipmentDelivered` notification is sent when the NTD/NCD device required for your order has been delivered.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.shipment-delivered.event

|z-notification-type
|order.shipment-delivered.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderShipmentDelivered` webhook notification

{ "id": 100, "type": "transfer", "serviceClass": "3", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-no-action", "customerRef": "REF123", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4APL", "poiName": "4APL Aspley", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "NTD000000000000", "portId": "1", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "PCYC", "buildingName": null, "streetNumber": "4", "street": "PARKST", "suburb": "TWEED HEADS", "state": "NSW", "postcode": "2485", "formattedAddress": "Building PCYC, 4 PARK Street, TWEED HEADS, New South Wales, 2485" }, "shippingStatus": "Delivered", "shippingReferenceNumber": "334RG505105901000960800", "contactName": "Lynette Santa", "contactNumber": "0739076000", "businessName": "Business name", "addressLine1": "Lot 6, 8 SANTA BARBARA Road", "addressLine2": null, "suburb": "HOPE ISLAND", "postcode": "4212", "state": "QLD", "deliveryInstructions": "Leave at the door", "authorityToLeave": true, "serviceId": 300, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": "SERVICE_TRANSFER" }

.Fields specific to OrderShipmentDelivered
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`shippingStatus`
a|The status of the shipment.

a|`shippingReferenceNumber`
a|The tracking number assigned to the shipment.

a|`contactName`
a|The name of the person the NTD/NCD device is delivered to.

a|`contactNumber`
a|The contact number of the person the NTD/NCD device is delivered to.

a|`businessName`
a|The name of the business, if applicable.

a|`addressLine1`
a|The address where the NTD/NCD device is delivered to.

a|`addressLine2`
a|The address where the NTD/NCD device is delivered to, if applicable.

a|`suburb`
a|The suburb.

a|`postcode`
a|The postcode.

a|`state`
a|The state.

a|`deliveryInstructions`
a|Instructions to the delivery.

a|`authorityToLeave`
a|Permission to leave the NTD/NCD device at the delivery address without a signature.
|===


.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===


===== Order Shipment InTransit
:docinfo1:

The `OrderShipmentInTransit` notification is sent when the NTD/NCD device required for your order has been shipped by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.shipment-in-transit.event

|z-notification-type
|order.shipment-in-transit.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderShipmentInTransit` webhook notification

{ "id": 100, "type": "transfer", "serviceClass": "3", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-no-action", "customerRef": "REF123", "locId": "LOC000000000000", "avcId": null, "avcIdForTransfer": null, "vlanId": 100, "poi": "4APL", "poiName": "4APL Aspley", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "NTD000000000000", "portId": "1", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "PCYC", "buildingName": null, "streetNumber": "4", "street": "PARKST", "suburb": "TWEED HEADS", "state": "NSW", "postcode": "2485", "formattedAddress": "Building PCYC, 4 PARK Street, TWEED HEADS, New South Wales, 2485" }, "shippingStatus": "Shipped", "shippingReferenceNumber": "334RG505105901000960800", "contactName": "Lynette Santa", "contactNumber": "0739076000", "businessName": "Business name", "addressLine1": "Lot 6, 8 SANTA BARBARA Road", "addressLine2": null, "suburb": "HOPE ISLAND", "postcode": "4212", "state": "QLD", "deliveryInstructions": "Leave at the door", "authorityToLeave": true, "serviceId": 300, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": "SERVICE_TRANSFER" }

.Fields specific to OrderShipmentInTransit
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`shippingStatus`
a|The status of the shipment.

a|`shippingReferenceNumber`
a|The tracking number assigned to the shipment.

a|`contactName`
a|The name of the person the NTD/NCD device is delivered to.

a|`contactNumber`
a|The contact number of the person the NTD/NCD device is delivered to.

a|`businessName`
a|The name of the business, if applicable.

a|`addressLine1`
a|The address where the NTD/NCD device is delivered to.

a|`addressLine2`
a|The address where the NTD/NCD device is delivered to, if applicable.

a|`suburb`
a|The suburb.

a|`postcode`
a|The postcode.

a|`state`
a|The state.

a|`deliveryInstructions`
a|Instructions to the delivery.

a|`authorityToLeave`
a|Permission to leave the NTD/NCD device at the delivery address without a signature.
|===


.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===


===== Order Awaiting Device Installation
:docinfo1:

The `OrderAwaitingDeviceInstallation` notification is sent when an nbn device has been shipped to site as part of a self install but has not been connected.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.awaiting-device-installation.event

|z-notification-type
|order.awaiting-device-installation.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderAwaitingDeviceInstallation` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": "AVC400031713036", "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "description":"nbn requires the termination device to be connected to complete the order. Failure to connect the device in a reasonable timeframe may result in nbn cancelling this order" "transferType": null }

.Fields specific to OrderAwaitingDeviceInstallation
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`description`
a|Description of the notification
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

=====  Order Fttc Activate
:docinfo1:

The `OrderFttcActivate` notification is sent when the self installation kits are awaiting installation.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.fttc-activate.event

|z-notification-type
|order.fttc-activate.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderFttcActivate` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": "AVC400031713036", "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "L2TP", "informationRequired": true, "informationRequiredReason": "Awaiting Device installation", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields specific to OrderFttcActivate
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`informationRequired`
a| Information is required or not

a|`informationRequiredReason`
a|The reason why information is required
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Hfc Ntd Not On line
:docinfo1:

The `OrderHfcNtdNotOnline` notification is sent when a HFC order NTD is not online.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.hfc-ntd-not-online.event

|z-notification-type
|order.hfc-ntd-not-online.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderHfcNtdNotOnline` webhook notification

{ "serviceId": 99999, "id": 100, "type": "new", "serviceClass": "24", "technologyType": "HFC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "locId": "LOC000000000000", "avcId": "AVC400031713036", "avcIdForTransfer": null, "vlanId": "100", "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 50, "speedUp": 20, "planName": "Home Fast 50/20", "cvcInclusion": 2.5 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "aggregationMethod": "L2TP", "description": "nbn Device with MAC address 00:00:00:00:00:00 is required to be online to progress the order.", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "transferType": null }

.Fields specific to OrderHfcNtdNotOnline
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`description`
a|Details about the offline hfc ntd
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Order Aggregation Completed
:docinfo1:

The `OrderAggregationCompleted` notification is sent when the requested order has been activated on Superloop’s network.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|order.aggregation-completed.event

|z-notification-type
|order.aggregation-completed.notification

|z-notification-model
|order
|===

The payload of the notification will include the order id (id) and the 360 service id (serviceId) that the order is set to provide as well as the service's configuration.

.Example payload of the `OrderAggregationCompleted` webhook notification

{ "id": 100, "type": "new", "serviceClass": "32", "technologyType": "FTTC", "trafficClass": "TC4", "installationType": "nbn-tech", "customerRef": "CUST-REF-007", "acceptedOn": "2020-09-03T10:33:07+10:00", "locId": "LOC000000000000", "avcId": "AVC400031713036", "avcIdForTransfer": null, "vlanId": 100, "poi": "4MRA", "poiName": "Merrimac", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 3.75 }, "infrastructure": { "id": "CPI444444444444", "productId": null }, "address": { "buildingLevel": null, "unitNumber": "2", "buildingName": null, "streetNumber": "2703", "street": "GOLD COASTHWY", "suburb": "BROADBEACH", "state": "QLD", "postcode": "4218", "formattedAddress": "Unit 2, 2703 GOLD COAST Highway, BROADBEACH, Queensland, 4218" }, "serviceId": 99999, "aggregationMethod": "ETHERNET", "isNfas": false, "legacyTechnologyType": null, "isCancellable": true, "subscriberSTag": 12, "subscriberCTag": 12, "transferType": null }

.Fields specific to OrderAggregationCompleted
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`acceptedOn`
a|The date/time, including UTC offset, when the nbn accepted the order
a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`
a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`
|===

.Fields for all Order based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the order is for a new service or a transfer.

* `new` - when placing an order for the first infrastructure or an additional infrastructure
* `transfer` -  when placing an order for an in use infrastructure

a|`serviceClass`
a|The standard nbn service class of the site.

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`installationType`
a|Whether the NTD is going to be installed by an nbn technician or by the site's tenant.

* `nbn-tech` - an nbn technician is going to install the NTD
* `nbn-dispatch` - the NTD will be shipped to either the site or a separate delivery address and someone from the site will install it
* `nbn-no-action` - The is no need for a new NTD to be installed

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This is only set on OrderAccepted, OrderFttcActivate
and OrderHfcNtdNotOnline notifications.

a|`avcIdForTransfer`
a|The AVC ID that was specified at order time for a transfer order. That is for an NTD with a port that is Used or
NCD (Copper Pair) with a Line In Use. Null in all other cases.

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site will be serviced from

a|`poiName`
a|The name of the nbn POI that the site will be serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service will have. Currently, only `Standard` is available.


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable.

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service.Only for NTD infrastructure.

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer.

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`serviceId`
a|The ID of the 360 service that the order fulfils

a|`id`
a|The ID of the 360 order

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`isNfas`
a|Indicates whether the order is for a nbn Co’s Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`isCancellable`
a|Indicates whether the order is cancellable. Possible values are:

* `true`
* `false`

a|`transferType`
a|Indicates type of the transfer if the order is a transfer order otherwise value will be `NULL`. Possible values are:

* `SERVICE_TRANSFER`
* `CONNECT_OUTSTANDING`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

==== Service Events

===== Service Activated
:docinfo1:

The `ServiceActivated` notification is sent when the requested service has been activated by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|service.activated.event

|z-notification-type
|service.activated.notification

|z-notification-model
|service
|===
The payload of the notification will include the configuration of the service as well as the ID of the 360 service that the service is provided.

.Example payload of the `ServiceActivated` webhook notification

{ "customerRef": null, "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTP", "trafficClass": "TC4", "locId": "LOC000000000000", "avcId": "AVC000000000000", "vlanId": null, "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 3.75 }, "infrastructure": { "id": "NTD000000000000", "portId": "2", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "id": 88888, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Example payload of the `ServiceActivated` webhook notification when the service is an nbn Co's Fibre Access Service (NFAS).

{ "customerRef": null, "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTP", "trafficClass": "TC4", "locId": "LOC000000000000", "avcId": "AVC000000000000", "vlanId": null, "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 3.75 }, "infrastructure": { "id": "NTD000000000000", "portId": "2", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "id": 88888, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": null, "isNfas": true, "hasNfasCommitment": true, "nfasCommitmentExpiresOn": "2022-04-02", "legacyTechnologyType": "FTTN" }

.Fields for all Service webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Aggregation Modified
:docinfo1:

The `ServiceAggregationModified` notification is sent after the service has successfully been converted to new aggregation method.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.aggregation-modified.event

|z-notification-type
|service.aggregation-modified.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceAggregationModified` webhook notification

{ "id": 1200, "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "aggregationMethod": "ETHERNET", "subscriberSTag": "1001", "subscriberCTag": "2001", "dslStabilityProfile": null, "modifiedOn": "2022-03-01", "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceAggregationModified
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`modifiedOn`
a|The date/time, including UTC offset, when the service aggregation was modified.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Aggregation Modification Failed
:docinfo1:

The `ServiceAggregationModificationFailed` notification is sent when the service could not be converted to the new aggregation method.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.aggregation-modification-failed.event

|z-notification-type
|service.aggregation-modification-failed.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceAggregationModificationFailed` webhook notification

{ "id": 1000, "customerRef": "ABCD", "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTB", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": null, "poi": "4WOB Woolloongabba", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 25, "speedUp": 5, "planName": null, "cvcInclusion": null }, "infrastructure": { "id": "CPI000000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": "1", "unitNumber": null, "buildingName": null, "streetNumber": "381", "street": "Brunswick Street", "suburb": "Fortitude Valley", "state": "Queensland", "postcode": "4006", "formattedAddress": "1/381 Brunswick St, Fortitude Valley QLD 4006, Australia" }, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "rejectedReason": "Service is not active", "dslStabilityProfile": "Standard", "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceAggregationModificationFailed
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason the service aggregation modification could not be completed.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Cancelled
:docinfo1:

The `ServiceCancelled` notification is sent when the service has been cancelled by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|service.cancelled.event

|z-notification-type
|service.cancelled.notification

|z-notification-model
|service
|===
The payload of the notification will include the configuration of the service that you ordered as well as the ID of the 360 service.

.Example payload of the `ServiceCancelled` webhook notification

{ "customerRef": null, "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTP", "trafficClass": "TC4", "locId": "LOC000000000000", "avcId": "AVC000000000000", "vlanId": null, "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 3.75 }, "infrastructure": { "id": "NTD000000000000", "portId": "2", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "cancelledOn": "2021-04-01T02:32:18Z", "cancelledBy": "Superloop", "id": 88888, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceCancelled
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`cancelledOn`
a|The date/time, including UTC offset, when the nbn cancelled the service

a|`cancelledBy`
a| The name of the provider who cancelled the service. Possible values are:

* `Superloop`
* `Third Party`

|===

.Fields for all Service webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Cancellation Rejected
:docinfo1:

The `ServiceCancellationRejected` notification is sent when the service cancellation request has been rejected by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|service.cancellation-rejected.event

|z-notification-type
|service.cancellation-rejected.notification

|z-notification-model
|service
|===
The payload of the notification will include the configuration of the service that you ordered as well as the ID of the 360 service.

.Example payload of the `ServiceCancellationRejected` webhook notification

{ "id": 30000, "customerRef": "360 #330000", "nbnServiceActivatedOn": "2020-06-15T06:48:52Z", "technologyType": "FTTP", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC400000000001", "vlanId": null, "poi": "4MKY Mackay", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 200/50", "cvcInclusion": 4.5 }, "infrastructure": { "id": "NTD400000000001", "portId": "2", "productId": "PRI400000000001" }, "address": { "buildingLevel": null, "unitNumber": null, "buildingName": null, "streetNumber": "90", "street": "Platinum Court", "suburb": "Paget", "state": "Queensland", "postcode": "4000", "formattedAddress": "90 Platinum Ct, Paget QLD 4000, Australia" }, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": null, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null, "rejectedReason": "Product instance supplied in the order doesn’t exist", "isNfas": false }

.Fields specific to ServiceCancelled
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason nbn has rejected the service cancellation request
|===


.Fields for all Service webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Modification Rejected
:docinfo1:

The `ServiceModificationRejected` notification is sent when a service modification has been failed in the nbn.

*Note*: Sending `ServiceModificationRejected` webhook notification for Service Plan Change is deprecated and will be removed shortly. Please move to dedicated ServicePlanChanged and ServicePlanChangeRejected webhooks events for any plan change modification request.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.modification-rejected.event

|z-notification-type
|service.modification-rejected.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as a reason the request was rejected.

.Example payload of the `ServiceModificationRejected` webhook notification

{ "customerRef": "ABCD", "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTB", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": null, "poi": "4WOB Woolloongabba", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 25, "speedUp": 5, "planName": null, "cvcInclusion": null }, "infrastructure": { "id": "CPI000000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": "1", "unitNumber": null, "buildingName": null, "streetNumber": "381", "street": "Brunswick Street", "suburb": "Fortitude Valley", "state": "Queensland", "postcode": "4006", "formattedAddress": "1/381 Brunswick St, Fortitude Valley QLD 4006, Australia" }, "rejectedReason": "No modifiable attributes changed for MODIFIED AVC-D with ID [PRI000000000001]", "id": 1000, "aggregationMethod": "L2TP", "dslStabilityProfile": "Stable", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": "Standard", "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceModificationRejected
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason the service modification has failed in the nbn.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Modified
:docinfo1:

The `ServiceModified` notification is sent when a service modification has been done by
the nbn.

*Note*: Sending `ServiceModified` webhook notification for Service Plan Change is deprecated and will be removed shortly. Please move to dedicated ServicePlanChanged and ServicePlanChangeRejected webhooks events for any plan change modification request.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.modified.event

|z-notification-type
|service.modified.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceModified` webhook notification where Aggregation Method is `L2TP`

{ "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "portId": "1", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "modifiedOn": "2021-03-09", "id": 123656, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Example payload of the `ServiceModified` webhook notification where Aggregation Method is `ETHERNET`

{ "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "portId": "1", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "modifiedOn": "2021-03-09", "id": 123656, "aggregationMethod": "ETHERNET", "dslStabilityProfile": null, "subscriberSTag": 1011, "subscriberCTag": 2910, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceModified
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`modifiedOn`
a|The date/time, including UTC offset, when the service has been modified.
|===

.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Reclaim Activated
:docinfo1:

The `ServiceReclaimActivated` notification is sent when the requested service reclaim has been re-activated by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|service.reclaim-activated.event

|z-notification-type
|service.reclaim-activated.notification

|z-notification-model
|service
|===
The payload of the notification will include the configuration of the service as well as the ID of the 360 service that the service is provided.

.Example payload of the `ServiceReclaimActivated` webhook notification

{ "customerRef": null, "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTP", "trafficClass": "TC4", "locId": "LOC000000000000", "avcId": "AVC000000000000", "vlanId": null, "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 3.75 }, "infrastructure": { "id": "NTD000000000000", "portId": "2", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "id": 88888, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields for all Service webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service Reclaim Failed
:docinfo1:

The `ServiceReclaimFailed` notification is sent when the requested service reclaim has been rejected by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|service.reclaim-failed.event

|z-notification-type
|service.reclaim-failed.notification

|z-notification-model
|service
|===
The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceReclaimFailed` webhook notification

{ "customerRef": null, "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTP", "trafficClass": "TC4", "locId": "LOC000000000000", "avcId": "AVC000000000000", "vlanId": null, "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 3.75 }, "infrastructure": { "id": "NTD000000000000", "portId": "2", "productId": "PRI000000000000" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "id": 88888, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "failedReason": "Service reclaim failed" "dslStabilityProfile": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceReclaimFailed
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`failedReason`
a|The reason nbn has rejected the service reclaim request
|===

.Fields for all Service webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

.Fibre Upgrade Early Termination Fee Applicable plans
[cols="1, 3",options=header]
|===
|Legacy Technology Type
|Chargeable NBN Plans

|FTTN
|Home Fast 12/1

|FTTN
|Home Fast 25/5

|FTTN
|Home Fast 25/10

|FTTN
|Home Fast 50/20

|FTTN
|Home Fast 100/20

|FTTC
|Home Fast 12/1

|FTTC
|Home Fast 25/5

|FTTC
|Home Fast 25/10

|FTTC
|Home Fast 50/20

|FTTC
|Home Fast 100/20

|FTTC
|Home Fast 100/40
|===

===== Service PlanChanged
:docinfo1:

The `ServicePlanChanged` notification is sent when a service plan change you have requested has been accepted by
the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.plan-changed.event

|z-notification-type
|service.plan-changed.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServicePlanChanged` webhook notification where Aggregation Method is `L2TP`

{ "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "portId": "1", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "modifiedOn": "2021-03-09", "id": 123656, "aggregationMethod": "L2TP", "dslStabilityProfile": null, "subscriberSTag": null, "subscriberCTag": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Example payload of the `ServicePlanChanged` webhook notification where Aggregation Method is `ETHERNET`

{ "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "portId": "1", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "modifiedOn": "2021-03-09", "id": 123656, "aggregationMethod": "ETHERNET", "dslStabilityProfile": null, "subscriberSTag": 1011, "subscriberCTag": 2910, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServicePlanChanged
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`modifiedOn`
a|The date/time, including UTC offset, when the service has been modified.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Service PlanChange Rejected
:docinfo1:

The `ServicePlanChangeRejected` notification is sent when a service plan change you have requested has been rejected by
the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.plan-change-rejected.event

|z-notification-type
|service.plan-change-rejected.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as a reason the request was rejected.

.Example payload of the `ServicePlanChangeRejected` webhook notification

{ "customerRef": "ABCD", "nbnServiceActivatedOn": "2021-04-01T02:15:05Z", "technologyType": "FTTB", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": null, "poi": "4WOB Woolloongabba", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 25, "speedUp": 5, "planName": null, "cvcInclusion": null }, "infrastructure": { "id": "CPI000000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": "1", "unitNumber": null, "buildingName": null, "streetNumber": "381", "street": "Brunswick Street", "suburb": "Fortitude Valley", "state": "Queensland", "postcode": "4006", "formattedAddress": "1/381 Brunswick St, Fortitude Valley QLD 4006, Australia" }, "rejectedReason": "No modifiable attributes changed for MODIFIED AVC-D with ID [PRI000000000001]", "id": 1000, "aggregationMethod": "L2TP", "dslStabilityProfile": "Stable", "subscriberSTag": null, "subscriberCTag": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServicePlanChangeRejected
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason nbn has rejected the service plan change modification
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Service RestorationSla Changed
:docinfo1:

The `ServiceRestorationSlaChanged` notification is sent when a service restoration SLA change you have requested has been accepted by
the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.restoration-sla-changed.event

|z-notification-type
|service.restoration-sla-changed.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceRestorationSlaChanged` webhook notification where Aggregation Method is `L2TP`

{ "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Enhanced - 8", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "portId": "1", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "modifiedOn": "2021-03-09", "id": 123656, "aggregationMethod": "L2TP", "dslStabilityProfile": null, "subscriberSTag": null, "subscriberCTag": null, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Example payload of the `ServiceRestorationSlaChanged` webhook notification where Aggregation Method is `ETHERNET`

{ "customerRef": "735", "nbnServiceActivatedOn": "2020-12-16T09:24:34Z", "technologyType": "HFC", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": "100", "poi": "4CAB Caboolture", "region": "Urban", "eSla": "Enhanced - 12", "bandwidthProfile": { "speedDown": 100, "speedUp": 20, "planName": "Home Fast 100/20", "cvcInclusion": 2.25 }, "infrastructure": { "id": "CPI000000000001", "portId": "1", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "9", "buildingName": null, "streetNumber": "5", "street": "Burpengary Road", "suburb": "Burpengary", "state": "Queensland", "postcode": "4505", "formattedAddress": "5 Burpengary Rd, Burpengary QLD 4505, Australia" }, "modifiedOn": "2021-03-09", "id": 123656, "aggregationMethod": "ETHERNET", "dslStabilityProfile": null, "subscriberSTag": 1011, "subscriberCTag": 2910, "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null }

.Fields specific to ServiceRestorationSlaChanged
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`modifiedOn`
a|The date/time, including UTC offset, when the service has been modified.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Service RestorationSlaChange Rejected
:docinfo1:

The `ServiceRestorationSlaChangeRejected` notification is sent when a service restoration sla change you have requested has been rejected by
the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.restoration-sla-change-rejected.event

|z-notification-type
|service.restoration-sla-change-rejected.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as a reason the request was rejected.

.Example payload of the `ServiceRestorationSlaChangeRejected` webhook notification

{ "id": 10001, "customerRef": "2000009", "nbnServiceActivatedOn": "2020-12-08T10:12:35Z", "technologyType": "FTTN", "trafficClass": "TC4", "locId": "LOC000000000000", "avcId": "AVC000000000001", "vlanId": "100", "poi": "2HAM Hamilton", "region": "Urban", "eSla": "Enhanced - 8", "bandwidthProfile": { "speedDown": 12, "speedUp": 1, "planName": "Home Fast 12/1", "cvcInclusion": 0.15 }, "infrastructure": { "id": "CPI300000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": null, "buildingName": null, "streetNumber": "16", "street": "RAE ST", "suburb": "BIRMINGHAM", "state": "New South Wales", "postcode": "0000", "formattedAddress": null }, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": "Standard", "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null, "rejectedReason": "Service restoration sla change modification rejected", "isNfas": false }

.Fields specific to ServiceRestorationSlaChangeRejected
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason nbn has rejected the service restoration sla change modification
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Service DslStabilityProfile Changed
:docinfo1:

The `ServiceDslStabilityProfileChanged ` notification is sent after the service has successfully changed to the requested DSL stability profile.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.dsl-stability-profile-changed.event

|z-notification-type
|service.dsl-stability-profile-changed.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceDslStabilityProfileChanged ` webhook notification

{ "id": 1100, "customerRef": "ORD000000000000", "nbnServiceActivatedOn": "2022-03-16T12:38:57Z", "technologyType": "FTTN", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000000000001", "vlanId": null, "poi": "2MYF Mayfield", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 4.25 }, "infrastructure": { "id": "CPI300000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": null, "unitNumber": "3", "buildingName": null, "streetNumber": "5", "street": "SOUTH ST", "suburb": "FORSTER", "state": "New South Wales", "postcode": "2000", "formattedAddress": null }, "aggregationMethod": "ETHERNET", "subscriberSTag": "12", "subscriberCTag": "242", "dslStabilityProfile": "Stable", "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null, "modifiedOn": "2022-04-05" }

.Fields specific to ServiceDslStabilityProfileChanged
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`modifiedOn`
a|The date/time, including UTC offset, when the service DSL stability profile change was modified.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

===== Service DslStabilityProfileChange Rejected
:docinfo1:

The `ServiceDslStabilityProfileChangeRejected` notification is sent when the service could not be modified to the new stability profile.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|service.dsl-stability-profile-change-rejected.event

|z-notification-type
|service.dsl-stability-profile-change-rejected.notification

|z-notification-model
|service
|===


The payload of the notification will include the configuration of the service as well as the ID of the 360 service.

.Example payload of the `ServiceDslStabilityProfileChangeRejected` webhook notification

{ "id": 10001, "customerRef": "10001 ", "nbnServiceActivatedOn": "2020-09-29T02:09:10Z", "technologyType": "FTTB", "trafficClass": "TC4", "locId": "LOC000000000001", "avcId": "AVC000110000001", "vlanId": null, "poi": "4SOP South", "region": "Urban", "eSla": "Standard", "bandwidthProfile": { "speedDown": 100, "speedUp": 40, "planName": "Home Fast 100/40", "cvcInclusion": 4.00 }, "infrastructure": { "id": "CPI000000000001", "productId": "PRI000000000001" }, "address": { "buildingLevel": "1", "unitNumber": "30107", "buildingName": "CENTRAL", "streetNumber": "5", "street": "Lawson Street", "suburb": "Southport", "state": "Queensland", "postcode": "4200", "formattedAddress": "5 Lawson St, Southport QLD 4215, Australia" }, "aggregationMethod": "L2TP", "subscriberSTag": null, "subscriberCTag": null, "dslStabilityProfile": "Standard", "isNfas": false, "hasNfasCommitment": false, "nfasCommitmentExpiresOn": null, "legacyTechnologyType": null, "rejectedReason": "Service stability profile change modification rejected" }

.Fields specific to ServiceDslStabilityProfileChangeRejected
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`rejectedReason`
a|The reason the service DSL stability profile change modification could not be completed.
|===


.Fields for all Service based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`customerRef`
a|The reference string that you provided when you placed the order

a|`nbnServiceActivatedOn`
a|The date the nbn enabled the service on their end

a|`technologyType`
a|The type of nbn technology that the service is delivered through. See "nbn Technology Type Map" below

a|`trafficClass`
a|The nbn traffic class, e.g. `TC4`

a|`locId`
a|The nbn LOC ID of the address of the site the order is for

a|`avcId`
a|The AVC ID of the virtual circuit that is created for this service. This might not be set, depending on the site

a|`vlanId`
a|The VLAN that was specified at order time

a|`poi`
a|The code of the nbn POI that the site is serviced from

a|`region`
a|The nbn region identifier that nbn places the site in. Possible values are:

* `Major Rural`
* `Minor Rural`
* `Remote`
* `Urban`
* `Isolated Area`
* `Limited Access Area`


a|`eSla`
a|The level of restoration SLA that the service has


a|`bandwidthProfile`
a|An object that contains details on the bandwidth profile that was selected for the service

a|`bandwidthProfile.speedDown`
a|The download speed of the service, in mbps

a|`bandwidthProfile.speedUp`
a|The upload speed of the service, in mbps

a|`bandwidthProfile.planName`
a|The name of the plan that was selected for the service

a|`bandwidthProfile.cvcInclusion`
a|The CVC inclusion that is applied to CVC rebates, if applicable

a|`infrastructure`
a|Information about the infrastructure at the site, including NTDs and Copper Pairs

a|`infrastructure.id`
a|The nbn identifier of the equipment

a|`infrastructure.portId`
a|The port on the device that was chosen for the service. Only for NTD infrastructure

a|`infrastructure.productId`
a|The nbn identifier of the product component that is activated for the Customer

a|`address`
a|The address of the site where the service is being provided

a|`address.buildingLevel`
a|The level that the site is on, if applicable

a|`address.unitNumber`
a|The unit number of the site, if applicable

a|`address.buildingName`
a|The name of the building, if applicable

a|`address.streetNumber`
a|The street number of the site

a|`address.street`
a|The name of the street, including street type

a|`address.suburb`
a|The suburb

a|`address.state`
a|The state

a|`address.postcode`
a|The postcode

a|`address.formattedAddress`
a|The whole address, formatted in a single line

a|`id`
a|The ID of the 360 service that the order fulfils

a|`aggregationMethod`
a|The aggregation method of the order. Possible values are:

* `L2TP`
* `ETHERNET`

a|`subscriberSTag`
a|The subscriber S-Tag. Only set when aggregationMethod is `ETHERNET`

a|`subscriberCTag`
a|The subscriber C-Tag. Only set when aggregationMethod is `ETHERNET`

a|`isNfas`
a|Indicates whether the service is a nbn Co's Fibre Access Service (NFAS). Possible values are:

* `true`
* `false`

a|`hasNfasCommitment`
a|Nbn is required to apply Fiber Upgrade Early Termination Fee on cancellation or downgrade to a lower speeds tiers  for an NFAS service.

The hasNfasCommitment field indicates customer's commitment for a period of time for which Customer is committed to pay. Possible values are:

* `true`
* `false`

`hasNfasCommitment` as `true` indicates customer's commitment not to cancel or downgrade the service below a minimum speed, and charge will be applied if broken.

`hasNfasCommitment` as `false` indicates either your service never had the commitment or the commitment period has expired or the fee was already applied.

See below table for Fibre Upgrade Early Termination Fee applicable plans.

a|`nfasCommitmentExpiresOn`
a|Fiber Upgrade Early Termination Fee will be charged on a cancellation or downgrade of the service to a lower speeds tiers for an NFAS service during this time period.

The nfasCommitmentExpiresOn indicates the date until when the customer is committed to Fiber Upgrade Early Termination Fee.

Only set when the service is a nbn Co's Fibre Access Service (NFAS)

a|`legacyTechnologyType`
a|Legacy nbn technology type of the the service if the service is NFAS otherwise NULL

a|`dslStabilityProfile`
a|The DSL stability profile of the service. Only set for copper services FTTB and FTTN . Possible values are:

* `Standard`
* `Stable`

|===

.nbn Technology Type Map
[cols="1, 3",options=header]
|===
|Acronym
|Description

|FTTP
|Fibre to the Premises

|FTTB
|Fibre to the Building

|FTTN
|Fibre to the Node

|FTTC
|Fibre to the Curb

|HFC
|Hybrid Fibre-Coaxial

|FW
|Fixed Wireless

|SAT
|Satellite
|===

==== Disruption Events

===== Scheduled Maintenance Created
:docinfo1:

The `ScheduledMaintenanceCreated` notification is sent when a maintenance affecting your service is created.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-created.event

|z-notification-type
|disruption.scheduled-maintenance-created.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceCreated` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": "2021-07-07T10:27:00Z", "maintenanceEndAt": "2021-07-07T18:00:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "nbn has scheduled routine maintenance which requires a planned outage to your service(s).\nCustomer Benefit: Optimisation to improve the stability of the nbn network.\nThis activity will cause a loss of connectivity during the change window (estimated times included below where available).\nPlease note:\n\tFactors outside of nbns control i.e. weather, site conditions, or 3rd party, may inhibit nbns ability to perform the change at the time specified.\n\tOH&S constraints i.e. climbing towers, working with high voltage equipment etc. can all impact when this work will be performed.\n\tThe time specified is likely to begin with pre-work which will not be customer impacting. A contingency is included in the maintenance window.", "severity": "Normal", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 45 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Scheduled Maintenance Started
:docinfo1:

The `ScheduledMaintenanceStarted` notification is sent when a maintenance affecting your service is started.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-started.event

|z-notification-type
|disruption.scheduled-maintenance-started.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceStarted` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": "2020-08-20T14:01:00Z", "maintenanceEndAt": "2020-08-20T20:00:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "This notification is to let you know that NBN will be performing network maintenance work. Due to this activity the services listed below will experience a loss of connectivity for up to 5 hrs 58 mins during the change window.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 358 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Scheduled Maintenance Held
:docinfo1:

The `ScheduledMaintenanceHeld` notification is sent when a maintenance affecting your service is held.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-held.event

|z-notification-type
|disruption.scheduled-maintenance-held.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceHeld` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": "2020-08-20T14:01:00Z", "maintenanceEndAt": "2020-08-20T20:00:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "This notification is to let you know that NBN will be performing network maintenance work.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 358 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Scheduled Maintenance Additional Work Started
:docinfo1:

The `ScheduledMaintenanceAdditionalWorkStarted` notification is sent when a maintenance affecting your service has started additional work.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-additional-work-started.event

|z-notification-type
|disruption.scheduled-maintenance-additional-work-started.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceAdditionalWorkStarted` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": " 2020-08-20T14:01:00Z", "maintenanceEndAt": "2020-08-20T20:01:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "This notification is to let you know that NBN will be performing network maintenance work.Due to this activity the services listed below will experience a loss of connectivity for up to 5 hrs 58 mins during the change window.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 358 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===


.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Scheduled Maintenance Cancelled
:docinfo1:

The `ScheduledMaintenanceCancelled` notification is sent when a maintenance affecting your service is cancelled.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-cancelled.event

|z-notification-type
|disruption.scheduled-maintenance-cancelled.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceCancelled` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": " 2020-11-02T19:01:00Z", "maintenanceEndAt": "2020-11-02T22:01:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "This project will optimise the RF levels in the ONS rack (DDF0) and the optical node, allowing DOCSIS 3.1 to be enabled. The project will allow for quicker DOCSIS 3.1 delivery and nbn to use new higher range spectrum that will increase the available capacity up to 50%. Works will commence at 12:00 am but customers will experience an interruption of up to 20 minutes only between 06:00 am to 09:00 am. End-customers do not need to undertake any actions as part of this planned work.", "severity": "Normal", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 20 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Schedule Maintenance Completed
:docinfo1:

The `ScheduledMaintenanceCompleted` notification is sent when a maintenance affecting your service is completed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-completed.event

|z-notification-type
|disruption.scheduled-maintenance-completed.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceCompleted` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": "2020-08-20T14:01:00Z", "maintenanceEndAt": "2020-08-20T20:00:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "This notification is to let you know that NBN will be performing network maintenance work. Due to this activity the services listed below will experience a loss of connectivity for up to 5 hrs 58 mins during the change window.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 358 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Scheduled Maintenance Updated
:docinfo1:

The `ScheduledMaintenanceUpdated` notification is sent when a maintenance affecting your service is updated.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.scheduled-maintenance-updated.event

|z-notification-type
|disruption.scheduled-maintenance-updated.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the maintenance affecting your service.

.Example payload of the `ScheduledMaintenanceUpdated` webhook notification

{ "serviceId": "5000", "type": "scheduled", "maintenanceStartAt": "2020-11-02T19:00:00Z", "maintenanceEndAt": "2020-11-02T22:00:00Z", "nbnDisruptionId": "CRQ000005260000", "description": "This project will optimise the RF levels in the ONS rack (DDF0) and the optical node, allowing DOCSIS 3.1 to be enabled. The project will allow for quicker DOCSIS 3.1 delivery and nbn to use new higher range spectrum that will increase the available capacity up to 50%. Works will commence at 12:00 am but customers will experience an interruption of up to 20 minutes only between 06:00 am to 09:00 am. End-customers do not need to undertake any actions as part of this planned work.", "severity": "Normal", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 20 }, { "id": "interruption2", "minutes": 0 }, { "id": "interruption3", "minutes": 0 }, { "id": "interruption4", "minutes": 0 }, { "id": "interruption5", "minutes": 0 } ] }

.Fields specific to ScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Unscheduled Incident Created
:docinfo1:

The `UnscheduledIncidentCreated` notification is sent when an unscheduled incident affecting your service is created.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.unscheduled-incident-created.event

|z-notification-type
|disruption.unscheduled-incident-created.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the incident affecting your service.

.Example payload of the `UnscheduledIncidentCreated` webhook notification

{ "serviceId": "5000", "type": "unscheduled", "maintenanceStartAt": "2020-08-20T14:01:00Z", "maintenanceEndAt": null, "nbnDisruptionId": "INC000014220000", "description": "nbn is experiencing an unplanned network outage impacting customers. nbn has begun activities to restore the network and will provide an update shortly.", "severity": "High", "category": null, "worklogs": [] }

.Fields specific to UnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Unscheduled Incident Updated
:docinfo1:

The `UnscheduledIncidentUpdated` notification is sent when an unscheduled incident affecting your service is updated.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.unscheduled-incident-updated.event

|z-notification-type
|disruption.unscheduled-incident-updated.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the incident affecting your service.

.Example payload of the `UnscheduledIncidentUpdated` webhook notification

{ "serviceId": "5000", "type": "unscheduled", "maintenanceStartAt": "2020-10-18T09:01:00Z", "maintenanceEndAt": null, "nbnDisruptionId": "INC000014220000", "description": "nbn is experiencing an unplanned network outage impacting customers. nbn has begun activities to restore the network and will provide an update shortly.", "severity": "High", "category": null, "worklogs": [ { "nbnId": "WLG000244400000", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:37Z", "type": "WorkInfo" }, { "nbnId": "WLG000244400001", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:38Z", "type": "WorkInfo" }, { "nbn_id": "WLG000244400002", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:38Z", "type": "WorkInfo" } ] }

.Fields specific to UnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Unscheduled Incident Resolved
:docinfo1:

The `UnscheduledIncidentResolved` notification is sent when an unscheduled incident affecting your service is resolved.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.unscheduled-incident-resolved.event

|z-notification-type
|disruption.unscheduled-incident-resolved.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the incident affecting your service.

.Example payload of the `UnscheduledIncidentResolved` webhook notification

{ "serviceId": "5000", "type": "unscheduled", "maintenanceStartAt": "2021-10-18T09:01:00Z", "maintenanceEndAt": null, "nbnDisruptionId": "INC000014220000", "description": "nbn is experiencing an unplanned network outage impacting customers. nbn has begun activities to restore the network and will provide an update shortly.", "severity": "High", "category": null, "worklogs": [ { "nbnId": "WLG000000072156", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:38Z", "type": "WorkInfo" }, { "nbnId": "WLG00000072154", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:38Z", "type": "WorkInfo" }, { "nbnId": "WLG000000557303", "note": "A tech has attended the site and identified that the pit is flooded and power supply hardware is damaged.\n\nField Services have organised a vacuum truck to attend the site to drain the pit and the tech is picking up spare parts to replace the power supply.", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-19T00:58:35Z", "type": "WorkInfo" } ] }

.Fields specific to UnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Unscheduled Incident Closed
:docinfo1:

The `UnscheduledIncidentClosed` notification is sent when an unscheduled incident affecting your service is closed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.unscheduled-incident-closed.event

|z-notification-type
|disruption.unscheduled-incident-closed.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the incident affecting your service.

.Example payload of the `UnscheduledIncidentClosed` webhook notification

{ "serviceId": "5000", "type": "unscheduled", "maintenanceStartAt": "2020-10-18T09:01:00Z", "maintenanceEndAt": null, "nbnDisruptionId": "INC000014220000", "description": "nbn is experiencing an unplanned network outage impacting customers. nbn has begun activities to restore the network and will provide an update shortly.", "severity": "High", "category": null, "worklogs": [ { "id": "17d58241-f3da-4c13-96db-3df3d454bc00", "nbnId": "WLG000000072149", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "provided_at": "2021-10-18T09:45:37Z", "type": "WorkInfo" }, { "nbnId": "WLG000000072156", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:38Z", "type": "WorkInfo" }, { "nbnId": "WLG000000072154", "note": "The field technician is estimated to arrive to the impacted site by 18/10/2021 by 21:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-18T09:45:38Z", "type": "WorkInfo" }, { "nbn_id": "WLG000000557303", "note": "A tech has attended the site and identified that the pit is flooded and power supply hardware is damaged.\n\nField Services have organised a vacuum truck to attend the site to drain the pit and the tech is picking up spare parts to replace the power supply.", "providedBy": "NBN Network & Service Operations", "providedAt": "2021-10-19T00:58:35Z", "type": "WorkInfo" } ] }

.Fields specific to UnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

===== Unscheduled Incident Cancelled
:docinfo1:

The `UnscheduledIncidentCancelled` notification is sent when an unscheduled incident affecting your service is cancelled.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|disruption.unscheduled-incident-cancelled.event

|z-notification-type
|disruption.unscheduled-incident-cancelled.notification

|z-notification-model
|disruption
|===


The payload of the notification will include the details of the incident affecting your service.

.Example payload of the `UnscheduledIncidentCancelled` webhook notification

{ "serviceId": "5000", "type": "unscheduled", "maintenanceStartAt": "2020-08-20T14:01:00Z", "maintenanceEndAt": null, "nbnDisruptionId": "INC000014220000", "description": "nbn is experiencing an unplanned network outage impacting customers. nbn has begun activities to restore the network and will provide an update shortly.", "severity": "High", "category": null, "worklogs": [] }

.Fields specific to UnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceId`
a|The ID of the 360 service that the maintenance occurs on.

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

|===

==== Aggregated Disruption Events

===== Aggregated Scheduled Maintenance Created
:docinfo1:

The `AggregatedScheduledMaintenanceCreated` notification is sent when a maintenance affecting at least one of your services is created.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-created.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-created.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceCreated` webhook notification

{ "nbnDisruptionId": "CRQ000000000001", "type": "scheduled", "maintenanceStartAt": "2025-11-30T20:00:00Z", "maintenanceEndAt": "2025-12-05T08:00:00Z", "description": "nbn is undertaking a series of planned activities to enhance the network capacity in your area. During this upgrade period, you may experience multiple interruptions as we work on upgrading the network hardware. For safety reasons, some of these activities must be conducted during daytime hours.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 240 }, { "id": "interruption2", "minutes": 90 } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Scheduled Maintenance Started
:docinfo1:

The `AggregatedScheduledMaintenanceStarted` notification is sent when a maintenance affecting at least one of your services is started.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-started.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-started.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceStarted` webhook notification

{ "nbnDisruptionId": "CRQ000000000001", "type": "scheduled", "maintenanceStartAt": "2025-11-30T20:00:00Z", "maintenanceEndAt": "2025-12-05T08:00:00Z", "description": "nbn is undertaking a series of planned activities to enhance the network capacity in your area. During this upgrade period, you may experience multiple interruptions as we work on upgrading the network hardware. For safety reasons, some of these activities must be conducted during daytime hours.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 240 }, { "id": "interruption2", "minutes": 90 } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Scheduled Maintenance Held
:docinfo1:

The `AggregatedScheduledMaintenanceHeld` notification is sent when a maintenance affecting at least one of your services is held.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-held.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-held.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceHeld` webhook notification

{ "nbnDisruptionId": "CRQ000000000001", "type": "scheduled", "maintenanceStartAt": "2025-11-30T20:00:00Z", "maintenanceEndAt": "2025-12-05T08:00:00Z", "description": "nbn is undertaking a series of planned activities to enhance the network capacity in your area. During this upgrade period, you may experience multiple interruptions as we work on upgrading the network hardware. For safety reasons, some of these activities must be conducted during daytime hours.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 240 }, { "id": "interruption2", "minutes": 90 } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Scheduled Maintenance Additional Work Started
:docinfo1:

The `AggregatedScheduledMaintenanceAdditionalWorkStarted` notification is sent when a maintenance affecting at least one of your services has started additional work.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-additional-work-started.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-additional-work-started.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceAdditionalWorkStarted` webhook notification

{ "nbnDisruptionId": "CRQ000000000001", "type": "scheduled", "maintenanceStartAt": "2025-11-30T20:00:00Z", "maintenanceEndAt": "2025-12-05T08:00:00Z", "description": "nbn is undertaking a series of planned activities to enhance the network capacity in your area. During this upgrade period, you may experience multiple interruptions as we work on upgrading the network hardware. For safety reasons, some of these activities must be conducted during daytime hours.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 240 }, { "id": "interruption2", "minutes": 90 } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===


.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Scheduled Maintenance Cancelled
:docinfo1:

The `AggregatedScheduledMaintenanceCancelled` notification is sent when a maintenance affecting at least one of your services is cancelled.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-cancelled.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-cancelled.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceCancelled` webhook notification

{ "nbnDisruptionId": "CRQ000000000002", "type": "scheduled", "maintenanceStartAt": "2025-11-25T13:00:00Z", "maintenanceEndAt": "2025-11-25T19:00:00Z", "description": "nbn will soon be performing an upgrade on network elements in your area. This work is being performed during daylight hours to ensure the safety of field staff. You will experience a temporary service interruption during this work.", "severity": "Standard", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 180 } ], "serviceIds": [ 555555, 777777 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Schedule Maintenance Completed
:docinfo1:

The `AggregatedScheduledMaintenanceCompleted` notification is sent when a maintenance affecting at least one of your services is completed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-completed.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-completed.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceCompleted` webhook notification

{ "nbnDisruptionId": "CRQ000000000001", "type": "scheduled", "maintenanceStartAt": "2025-11-30T20:00:00Z", "maintenanceEndAt": "2025-12-05T08:00:00Z", "description": "nbn is undertaking a series of planned activities to enhance the network capacity in your area. During this upgrade period, you may experience multiple interruptions as we work on upgrading the network hardware. For safety reasons, some of these activities must be conducted during daytime hours.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 240 }, { "id": "interruption2", "minutes": 90 } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Scheduled Maintenance Updated
:docinfo1:

The `AggregatedScheduledMaintenanceUpdated` notification is sent when a maintenance affecting at least one of your services is updated.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.scheduled-maintenance-updated.event

|z-notification-type
|aggregatedDisruption.scheduled-maintenance-updated.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the maintenance affecting your services.

.Example payload of the `AggregatedScheduledMaintenanceUpdated` webhook notification

{ "nbnDisruptionId": "CRQ000000000001", "type": "scheduled", "maintenanceStartAt": "2025-11-30T20:00:00Z", "maintenanceEndAt": "2025-12-05T08:00:00Z", "description": "nbn is undertaking a series of planned activities to enhance the network capacity in your area. During this upgrade period, you may experience multiple interruptions as we work on upgrading the network hardware. For safety reasons, some of these activities must be conducted during daytime hours.", "severity": "Expedited", "category": "Network", "interruptions": [ { "id": "interruption1", "minutes": 240 }, { "id": "interruption2", "minutes": 90 } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedScheduledMaintenance
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`interruptions`
a|List of interruptions for the maintenance.

a|`interruptions.id`
a|The ID of the  interruption.

a|`interruptions.minutes`
a|The number of minutes of the interruption.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Unscheduled Incident Created
:docinfo1:

The `AggregatedUnscheduledIncidentCreated` notification is sent when an unscheduled incident affecting at least one of your services is created.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.unscheduled-incident-created.event

|z-notification-type
|aggregatedDisruption.unscheduled-incident-created.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the incident affecting your services.

.Example payload of the `AggregatedUnscheduledIncidentCreated` webhook notification

{ "nbnDisruptionId": "INC000000000001", "type": "unscheduled", "maintenanceStartAt": "2026-02-09T15:47:42Z", "maintenanceEndAt": null, "description": "Impacted services\nAVC000000111111\nAVC000000222222\nAVC000000333333", "severity": "High", "category": null, "worklogs": [], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedUnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Unscheduled Incident Updated
:docinfo1:

The `AggregatedUnscheduledIncidentUpdated` notification is sent when an unscheduled incident affecting at least one of your services is updated.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.unscheduled-incident-updated.event

|z-notification-type
|aggregatedDisruption.unscheduled-incident-updated.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the incident affecting your services.

.Example payload of the `AggregatedUnscheduledIncidentUpdated` webhook notification

{ "nbnDisruptionId": "INC000000000001", "type": "unscheduled", "maintenanceStartAt": "2026-02-09T15:47:42Z", "maintenanceEndAt": null, "description": "Impacted services\nAVC000000111111\nAVC000000222222\nAVC000000333333", "severity": "High", "category": null, "worklogs": [ { "nbnId": "WLG000000000001", "note": "The field technician is estimated to arrive to the impacted site by 12\/02\/2026 by 10:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2026-02-11T12:41:57Z", "type": "WorkInfo" }, { "nbnId": "WLG000000000002", "note": "The estimated time of restoration has been updated to 18\/02\/2026 by 17:00", "provided_by": "System Generated on behalf of AS", "providedAt": "2026-02-11T12:45:54Z", "type": "WorkInfo" }, { "nbn_id": "WLG000000000003", "note": "The field technician is now on-site to commence restoration activities. Customers may experience a loss of connectivity at this time. Due to the nature of this work, one or more network elements may need to be repaired, and this may also disconnect the network upstream affecting additional customers", "provided_by": "NBN Network & Service Operations", "providedAt": "2026-02-11T12:45:54Z", "type": "WorkInfo" } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedUnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Unscheduled Incident Resolved
:docinfo1:

The `AggregatedUnscheduledIncidentResolved` notification is sent when an unscheduled incident affecting at least one of your services is resolved.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.unscheduled-incident-resolved.event

|z-notification-type
|aggregatedDisruption.unscheduled-incident-resolved.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the incident affecting your services.

.Example payload of the `AggregatedUnscheduledIncidentResolved` webhook notification

{ "nbnDisruptionId": "INC0000000002", "type": "unscheduled", "maintenanceStartAt": "2025-11-28T05:40:00Z", "maintenanceEndAt": null, "description": "Impacted service(s)\nAVC000000555555", "severity": "Medium", "category": null, "worklogs": [], "serviceIds": [ 555555 ] }

.Fields specific to AggregatedUnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Unscheduled Incident Closed
:docinfo1:

The `AggregatedUnscheduledIncidentClosed` notification is sent when an unscheduled incident affecting at least one of your services is closed.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.unscheduled-incident-closed.event

|z-notification-type
|aggregatedDisruption.unscheduled-incident-closed.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the incident affecting your services.

.Example payload of the `AggregatedUnscheduledIncidentClosed` webhook notification

{ "nbnDisruptionId": "INC000000000001", "type": "unscheduled", "maintenanceStartAt": "2026-02-09T15:47:42Z", "maintenanceEndAt": null, "description": "Impacted services\nAVC000000111111\nAVC000000222222\nAVC000000333333", "severity": "High", "category": null, "worklogs": [ { "nbnId": "WLG000000000001", "note": "The field technician is estimated to arrive to the impacted site by 12\/02\/2026 by 10:30", "providedBy": "NBN Network & Service Operations", "providedAt": "2026-02-11T12:41:57Z", "type": "WorkInfo" }, { "nbnId": "WLG000000000002", "note": "The estimated time of restoration has been updated to 18\/02\/2026 by 17:00", "provided_by": "System Generated on behalf of AS", "providedAt": "2026-02-11T12:45:54Z", "type": "WorkInfo" }, { "nbn_id": "WLG000000000003", "note": "The field technician is now on-site to commence restoration activities. Customers may experience a loss of connectivity at this time. Due to the nature of this work, one or more network elements may need to be repaired, and this may also disconnect the network upstream affecting additional customers", "provided_by": "NBN Network & Service Operations", "providedAt": "2026-02-11T12:45:54Z", "type": "WorkInfo" }, { "nbn_id": "WLG000000000004", "note": "The Incident Status has been updated to Resolved.", "provided_by": "System Generated on behalf of AS", "providedAt": "2026-02-11T15:00:26Z", "type": "WorkInfo" }, { "nbn_id": "WLG000000000005", "note": "The Incident Status has been updated to Closed.", "provided_by": "System Generated on behalf of AS", "providedAt": "2026-02-11T15:00:36Z", "type": "WorkInfo" } ], "serviceIds": [ 111111, 222222, 333333 ] }

.Fields specific to AggregatedUnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

===== Aggregated Unscheduled Incident Cancelled
:docinfo1:

The `AggregatedUnscheduledIncidentCancelled` notification is sent when an unscheduled incident affecting at least one of your services is cancelled.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, the request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header
|Value

|z-event-type
|aggregatedDisruption.unscheduled-incident-cancelled.event

|z-notification-type
|aggregatedDisruption.unscheduled-incident-cancelled.notification

|z-notification-model
|aggregatedDisruption
|===


The payload of the notification will include the details of the incident affecting your services.

.Example payload of the `AggregatedUnscheduledIncidentCancelled` webhook notification

{ "nbnDisruptionId": "INC0000000003", "type": "unscheduled", "maintenanceStartAt": "2026-01-14T14:15:16Z", "maintenanceEndAt": null, "description": "Impacted service(s)\nAVC000000777777", "severity": "Medium", "category": null, "worklogs": [], "serviceIds": [ 777777 ] }

.Fields specific to UnscheduledIncident
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`worklogs`
a|List of worklogs for the incident.

a|`worklogs.nbnId`
a|The nbn ID of the  worklog.

a|`worklogs.note`
a|The note about the worklog.

a|`worklogs.providedBy`
a|Who provided the work.

a|`worklogs.providedAt`
a|The date/time, including UTC offset, when the nbn work was provided.

a|`worklogs.type`
a|The type of the worklog.
|===

.Fields Disruption webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`type`
a|Whether the maintenance is scheduled or unscheduled.

a|`maintenanceStartAt`
a|The date/time, including UTC offset, when the nbn maintenance starts at.

a|`maintenanceEndAt`
a|The date/time, including UTC offset, when the nbn maintenance ends at.

a|`nbnDisruptionId`
a|The nbn ID of the maintenance.

a|`description`
a|Description of the maintenance.

a|`severity`
a|The severity of the maintenance.

a|`category`
a|The category of the maintenance.

a|`serviceIds`
a|List of 360 services that the maintenance occurs on.

|===

==== Service Health Events
===== Service Health Accepted
:docinfo1:

The `ServiceHealthAccepted` notification is sent when the service health request has been accepted by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|serviceHealth.accepted.event

|z-notification-type
|serviceHealth.accepted.notification

|z-notification-model
|serviceHealth
|===

The payload of the notification will include the service health request id.

.Example payload of the `ServiceHealthAccepted` webhook notification

{ "serviceHealthRequestId": 1 }

.Fields for all Service Health based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceHealthRequestId`
a|The Connect identifier of the service health request.
|===

===== Service Health Completed
:docinfo1:

The `ServiceHealthCompleted` notification is sent when the service health request has been completed by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|serviceHealth.completed.event

|z-notification-type
|serviceHealth.completed.notification

|z-notification-model
|serviceHealth
|===

The payload of the notification will include the service health request id.

.Example payload of the `ServiceHealthCompleted` webhook notification

{ "serviceHealthRequestId": 1 }

.Fields for all Service Health based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceHealthRequestId`
a|The Connect identifier of the service health request.
|===

===== Service Health Failed
:docinfo1:

The `ServiceHealthFailed` notification is sent when the service health request has been rejected by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|serviceHealth.failed.event

|z-notification-type
|serviceHealth.failed.notification

|z-notification-model
|serviceHealth
|===

The payload of the notification will include the service health request id.

.Example payload of the `ServiceHealthFailed` webhook notification

{ "serviceHealthRequestId": 1 }

.Fields for all Service Health based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`serviceHealthRequestId`
a|The Connect identifier of the service health request.
|===

==== Service Location Coat Events
===== Location Coat Completed
:docinfo1:

The `LocationCoatCompleted` notification is sent when the service location coat request has been completed by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|locationCoat.completed.event

|z-notification-type
|locationCoat.completed.notification

|z-notification-model
|locationCoat
|===

The payload of the notification will include the service location coat details.

.Example payload of the `LocationCoatCompleted` webhook notification

{ "locationId": "LOC000000000012", "currentTechnology": "FTTN", "plannedTechnology": "FTTP", "reason": "on-demand-ready", "earliestChangeoverDate": "2022-03-22", "latestChangeoverDate": null, "completedDate": null, "coatsDataAsAt": "2022-09-15T06:47:43Z", "formattedAddress": "1 SMITH ST, PARALOWIE SA 5000" }

.Fields specific to  Service Location Coat Completed webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`locationId`
a|The nbn unique identifier of the location.

a|`currentTechnology`
a|Current Primary Access Technology for the location.

a|`plannedTechnology`
a|The new Primary Access Technology that the location will move to.

a|`reason`
a|The reason for technology change.

a|`earliestChangeoverDate`
a|This is the earliest date when nbn plan to make the change to new technology. Format as yyyy-mm-dd.

a|`latestChangeoverDate`
a|This is the latest date when nbn plan to make the change to new technology. Format as yyyy-mm-dd.

a|`completedDate`
a|This is the date at which the old technology at the location will be decommissioned. Format as yyyy-mm-dd.

a|`coatsDataAsAt`
a|The date/time, including UTC offset, when location coat was last updated.

a|`reason`
a|The reason for technology change.

a|`formattedAddress`
a|The whole address of the location.
|===

==== Enterprise Ethernet Quotes Events
===== Fibre Build Charge Quote Completed
:docinfo1:

The `FibreBuildChargeQuoteCompleted` notification is sent when the fibre build charge quote has been completed by the nbn.

Along with the headers listed on the <<./index.adoc#_webhooks,main Superloop Connect page>>, The request headers that are sent with the request to the callback URL includes the following:

.Webhook Event Notification Request Headers
[cols="2, 3",options="header"]
|===
|Header|Value

|z-event-type
|fibreBuildChargeQuote.completed.event

|z-notification-type
|fibreBuildChargeQuote.completed.notification

|z-notification-model
|fibreBuildChargeQuote
|===

The payload of the notification will include the fibreBuildChargeQuoteCompleted details.

.Example payload of the `FibreBuildChargeQuoteCompleted` webhook notification

{ "nbnLocationId": "LOC380100009114", "nbnQuoteId": "EEQ-0000000001", "quoteDate": "2022-03-28", "zone": "CBD", "poiName": "8DRW - DARWIN", "estDeliveryTime": "50 Business Days", "fibreBuildCategory": "A", "priceType": "oneOff", "name": "FBC", "priceUnit": "AUD", "priceValue": 100, "validUntil": "2022-06-24", "createdOn": "2022-03-27T22:57:01Z" }

.Fields for all Quotes based webhooks
[cols="1, 2",options=header]
|===
|Field
|Explanation

a|`nbnLocationId`
a|The nbn unique identifier of the location.

a|`nbnQuoteId`
a|The nbn FBC quote Id.

a|`quoteDate`
a|The nbn FBC quote created date.

a|`zone`
a|The name of the nbn zone that the site will be serviced from.

a|`poiName`
a|The name of the nbn POI that the site will be serviced from.

a|`estDeliveryTime`
a|Estimated service delivery time.

a|`fibreBuildCategory`
a|The fibre build category.

a|`priceType`
a|Fibre Build Charge price type.

a|`name`
a|Fibre Build Charge.

a|`priceUnit`
a|Fibre Build Charge price currency unit.

a|`priceValue`
a|Fibre Build Charge cost in cents.

a|`validUntil`
a|The date till FBC quote valid.

a|`createdOn`
a|The date/time, including UTC offset, when FBC quote was created.


|===