Product Inventory API

Product Inventory API

Communication diagram

The diagrams below illustrate communication between the server and the client in Product Inventory model. The example showcases the interaction within the actions performed on the Customer entity.

img.png

Response body is in JSON format and is described in getCustomerById section.

img.png

The callback request body for POST request in JSON format is described in postCustomerCreateEventListener section.

API

Customer

getCustomerById

GET /customer/{id}

Retrieves a Customer by its ID.

Parameters

NameInTypeRequiredDescription
idpathstringtrueIdentifier of the Customer

Responses

StatusMeaningDescriptionSchema
200SuccessCustomer retrieved successfullyJSON
400Bad RequestBad requestJSON
401UnauthorizedAccess token is missing or invalidJSON
403ForbiddenAccess is forbiddenJSON
404Not FoundCustomer not foundJSON
405Method Not AllowedHTTP method is not allowedJSON
409ConflictConflict occurred while processingJSON
500Internal Server ErrorInternal server errorJSON

Example Success Response

200 Response:

{
  "id": "307",
  "href": "http://localhost/productInventory/api/v1/customer/307",
  "name": "string"
}

deleteCustomerById

DELETE /customer/{id}

Delete a Customer by its ID.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the Customer

Responses

StatusMeaningDescriptionSchema
202AcceptedCustomer deletion acceptedNone
400Bad RequestBad requestJSON
401UnauthorizedAccess token is missing or invalidJSON
403ForbiddenAccess is forbiddenJSON
404Not FoundCustomer not foundJSON
405Method Not AllowedHTTP method is not allowedJSON
409ConflictConflict occurred while processingJSON
500Internal Server ErrorInternal server errorJSON

createCustomer

POST /customer

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL

Request Body

The Customer to be created.

Example:

{
  "id": "CRM Customer ID",
  "name": "Name of Customer"
}

Responses

StatusMeaningDescriptionSchema
202AcceptedCustomer creation acceptedNone
400Bad RequestBad requestJSON
401UnauthorizedAccess token is missing or invalidJSON
403ForbiddenAccess is forbiddenJSON
405Method Not AllowedHTTP method is not allowedJSON
409ConflictConflict occurred while processingJSON
500Internal Server ErrorInternal server errorJSON

Headers

NameTypeRequiredDescription
X-Request-IdstringtrueA unique identifier (UUID)
X-Callback-UrlstringtrueA callback URL

Billing account

getBillingAccountById

GET /billingAccount/{id}

Parameters

NameInTypeRequiredDescription
idpathstringtrueIdentifier of the billing account to fetch

Responses

StatusMeaningDescriptionSchema
200No ContentBilling account was found successfullyBillingAccount
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
404Not FoundCustomer not foundNone
500Internal Server ErrorInternal server errorNone

Example response 200:

{
  "id": "123456",
  "href": "http://localhost/productInventory/api/v1/billingAccount/997",
  "name": "Name of BA",
  "place": [
    {
      "role": "INSTALLATION_ADDRESS",
      "address": {
        "country": "POLSKA",
        "locality": "GORZÓW WIELKOPOLSKI",
        "localNr": "4",
        "postcode": "66-400",
        "stateOrProvince": "LUBUSKIE",
        "streetName": "KURATOWSKIEJ",
        "streetNr": "43B",
        "streetType": "UL.",
        "type": "INSTALLATION_ADDRESS",
        "city": "GORZÓW WIELKOPOLSKI"
      }
    }
  ],
  "state": "active",
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

updateBillingAccount

PUT /billingAccount/{id}

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the billing account

Request Body

The billing account to be modified.

Example:

{
  "id": "123456",
  "name": "Name of BA",
  "state": "active",
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
202AcceptedBilling account was updatedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

deleteBillingAccount

DELETE /billingAccount/{id}

Deletes a billing account entity.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the billing account

Responses

StatusMeaningDescriptionSchema
202AcceptedBilling account deletion acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundBilling account not foundNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

createBillingAccount

POST /billingAccount

Creates a billing account entity.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL

Request Body

The billing account to be created.

Example:

{
  "id": "123456",
  "name": "Name of BA",
  "state": "new",
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
202AcceptedBilling account creation acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

updateBillingAccountState

PUT /billingAccount/{id}/state

Modifies the state of a Billing Account entity.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the Billing Account

Request Body

The Billing Account state to be set.

Example:

{
  "state": "new"
}

Responses

StatusMeaningDescriptionSchema
202AcceptedBilling account state modification acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

Product

createProduct

POST /product

Creates a Product entity.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL

Request Body

The Product to be created.

Example:

{
  "isBundled": false,
  "place": [
    {
      "role": "INSTALLATION_ADDRESS",
      "address": {
        "country": "POLSKA",
        "locality": "GORZÓW WIELKOPOLSKI",
        "localNr": "4",
        "postcode": "66-400",
        "stateOrProvince": "LUBUSKIE",
        "streetName": "KURATOWSKIEJ",
        "streetNr": "43B",
        "streetType": "UL.",
        "type": "INSTALLATION_ADDRESS",
        "city": "GORZÓW WIELKOPOLSKI"
      }
    }
  ],
  "billingAccount": {
    "id": "19e3b2aa-1f92-11ed-861d-0242ac120002"
  },
  "productCharacteristic": [
    {
      "name": "servedOperator",
      "value": "4"
    },
    {
      "name": "technology",
      "value": "FTTH"
    }
  ],
  "productSpecification": {
    "id": "GPONAccess",
    "name": "GPONAccess",
    "version": "1.0"
  },
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
202AcceptedProduct creation acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

getListOrFindProductObjects

GET /product

Lists or finds Product entities. Possible queries: customerId, serialNumber.

Parameters

NameInTypeRequiredDescription
customerIdquerystringfalseQuery using customerId of Product
offsetqueryintegerfalseRequested index for start of resources in response
limitqueryintegerfalseRequested number of resources in response

Responses

StatusMeaningDescriptionSchema
200SuccessA JSON array of Product objectsList
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundNo matching Product objects foundNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

Example Response

200 Response:

[
  {
    "id": "997",
    "href": "http://localhost/productInventory/api/v1/product/997",
    "isBundled": false,
    "place": [
      {
        "role": "INSTALLATION_ADDRESS",
        "address": {
          "country": "POLSKA",
          "locality": "GORZÓW WIELKOPOLSKI",
          "localNr": "4",
          "postcode": "66-400",
          "stateOrProvince": "LUBUSKIE",
          "streetName": "KURATOWSKIEJ",
          "streetNr": "43B",
          "streetType": "UL.",
          "type": "INSTALLATION_ADDRESS",
          "city": "GORZÓW WIELKOPOLSKI"
        }
      }
    ],
    "billingAccount": {
      "id": "19e3b2aa-1f92-11ed-861d-0242ac120002"
    },
    "productCharacteristic": [
      {
        "name": "servedOperator",
        "value": "4"
      },
      {
        "name": "technology",
        "value": "FTTH"
      }
    ],
    "productSpecification": {
      "id": "GPONAccess",
      "name": "GPONAccess",
      "version": "1.0"
    },
    "relatedParty": [
      {
        "id": "307",
        "role": "OWNER"
      }
    ]
  }
]

Headers

NameDescriptionType
X-Total-CountTotal number of items matching criteriainteger
X-Result-CountActual number of items returned in responseinteger

getProductBySerialNumber

GET /product/productSerialNumber/{productSerialNumber}

Retrieves a Product entity by its serial number. Attribute selection is enabled for all first-level attributes.

Parameters

NameInTypeRequiredDescription
productSerialNumberpathstringtrueSerial number of the Product

Responses

StatusMeaningDescriptionSchema
200SuccessProduct retrieved successfullyJSON
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundNo Product found for the given serial numberNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

Example Response

200 Response:

{
  "id": "997",
  "href": "http://localhost/productInventory/api/v1/product/997",
  "isBundled": false,
  "productSerialNumber": "536346-423423-432423",
  "place": [
    {
      "role": "INSTALLATION_ADDRESS",
      "address": {
        "country": "POLSKA",
        "locality": "GORZÓW WIELKOPOLSKI",
        "localNr": "4",
        "postcode": "66-400",
        "stateOrProvince": "LUBUSKIE",
        "streetName": "KURATOWSKIEJ",
        "streetNr": "43B",
        "streetType": "UL.",
        "type": "INSTALLATION_ADDRESS",
        "city": "GORZÓW WIELKOPOLSKI"
      }
    }
  ],
  "billingAccount": {
    "id": "19e3b2aa-1f92-11ed-861d-0242ac120002"
  },
  "productCharacteristic": [
    {
      "name": "servedOperator",
      "value": "4"
    },
    {
      "name": "technology",
      "value": "FTTH"
    }
  ],
  "productSpecification": {
    "id": "GPONAccess",
    "name": "GPONAccess",
    "version": "1.0"
  },
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

Notes

This operation supports the retrieval of all first-level attributes for the specified Product.

updateProduct

PUT /product/{id}

Modifies Product.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the Product

Request Body

The Product to be modified.

Example:

{
  "id": "997",
  "href": "http://localhost/productInventory/api/v1/product/997",
  "isBundled": false,
  "place": [
    {
      "role": "INSTALLATION_ADDRESS",
      "address": {
        "country": "POLSKA",
        "locality": "GORZÓW WIELKOPOLSKI",
        "localNr": "4",
        "postcode": "66-400",
        "stateOrProvince": "LUBUSKIE",
        "streetName": "KURATOWSKIEJ",
        "streetNr": "43B",
        "streetType": "UL.",
        "type": "INSTALLATION_ADDRESS",
        "city": "GORZÓW WIELKOPOLSKI"
      }
    }
  ],
  "billingAccount": {
    "id": "19e3b2aa-1f92-11ed-861d-0242ac120002"
  },
  "productCharacteristic": [
    {
      "name": "servedOperator",
      "value": "4"
    },
    {
      "name": "technology",
      "value": "FTTH"
    }
  ],
  "productSpecification": {
    "id": "GPONAccess",
    "name": "GPONAccess",
    "version": "1.0"
  },
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
202AcceptedProduct modification acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

getProductById

GET /product/{id}

Retrieves a Product entity by its ID. Attribute selection is enabled for all first-level attributes.

Parameters

NameInTypeRequiredDescription
idpathstringtrueIdentifier of the Product

Responses

StatusMeaningDescriptionSchema
200SuccessProduct retrieved successfullyJSON
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundNo Product found for the given IDNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

Example Response

200 Response:

{
  "id": "997",
  "href": "http://localhost/productInventory/api/v1/product/997",
  "isBundled": false,
  "productSerialNumber": "N71433990000312",
  "place": [
    {
      "role": "INSTALLATION_ADDRESS",
      "address": {
        "country": "POLSKA",
        "locality": "GORZÓW WIELKOPOLSKI",
        "localNr": "4",
        "postcode": "66-400",
        "stateOrProvince": "LUBUSKIE",
        "streetName": "KURATOWSKIEJ",
        "streetNr": "43B",
        "streetType": "UL.",
        "type": "INSTALLATION_ADDRESS",
        "city": "GORZÓW WIELKOPOLSKI"
      }
    }
  ],
  "billingAccount": {
    "id": "19e3b2aa-1f92-11ed-861d-0242ac120002"
  },
  "productCharacteristic": [
    {
      "name": "modelCode",
      "value": "HUA_GW"
    },
    {
      "name": "deliveryType",
      "value": "TECHNICAL_PARTNER_DELIVERY"
    },
    {
      "name": "logisticType",
      "value": "DELIVERY"
    }
  ],
  "productSpecification": {
    "id": "GATEWAY",
    "name": "GATEWAY",
    "version": "1.0"
  },
  "relatedParty": [
    {
      "id": "307",
      "role": "OWNER"
    }
  ]
}

deleteProduct

DELETE /product/{id}

Delete Product.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the Product

Responses

StatusMeaningDescriptionSchema
202AcceptedProduct deletion acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundProduct not foundNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

updateProductState

PUT /product/{id}/state

Modifies the state of a Product entity.

Parameters

NameInTypeRequiredDescription
X-Request-IdheaderstringtrueA unique identifier (UUID)
X-Callback-UrlheaderstringtrueA callback URL
idpathstringtrueIdentifier of the Product

Request Body

The state to be set for the Product.

Example:

{
  "state": "created"
}

Responses

StatusMeaningDescriptionSchema
202AcceptedProduct state modification acceptedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
405Method Not AllowedHTTP method is not allowedNone
409ConflictConflict occurred while processingNone
500Internal Server ErrorInternal server errorNone

Client API

Customer notification event (callback)

Customer notification event is used to inform about modifications related to customer entity, such as:

  • Creation
  • Deletion

postCustomerCreateEventListener

POST /listener/customerCreateEvent

Client listener for customer created event.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "307",
    "href": "http://localhost/productInventory/api/v1/customer/307",
    "name": "string"
  },
  "eventId": "string",
  "eventTime": "2024-11-20T12:25:42.423Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

postCustomerDeleteEventListener

POST /listener/customerDeleteEvent

Client listener for delete Customer.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "307",
    "href": "http://localhost/productInventory/api/v1/customer/307",
    "name": "string"
  },
  "eventId": "string",
  "eventTime": "2024-11-20T12:30:17.214Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Billing account notification event (callback)

Billing account notification event is used to inform about modifications related to billing account entity, such as:

  • Creation
  • Update
  • State change
  • Deletion

postBillingAccountCreateEventListener

POST /listener/billingAccountCreateEvent

Client listener for BillingAccountCreateEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "name": "string",
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "state": "new",
    "characteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ]
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:16:04.871Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

postBillingAccountChangeEventListener

POST /listener/billingAccountChangeEvent

Client listener for entity BillingAccountChangeEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "name": "string",
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "state": "new",
    "characteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ]
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:22:42.695Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

postBillingAccountStateChangeEventListener

POST /listener/billingAccountStateChangeEvent

Client listener for entity BillingAccountStateChangeEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "name": "string",
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "state": "new",
    "characteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ]
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:27:29.228Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

postBillingAccountDeleteEventListener

POST /listener/billingAccountDeleteEvent

Client listener for entity BillingAccountDeleteEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "name": "string",
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "state": "new",
    "characteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ]
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:28:37.477Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

Product notification event (callback)

Product notification event is used to inform about modifications related to product entity, such as:

  • Creation
  • Update
  • State change
  • Deletion

postProductCreateEventListener

POST /listener/productCreateEvent

Client listener for entity ProductCreateEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "category": "string",
    "description": "string",
    "endDate": "2024-11-24T16:36:00.580Z",
    "isBundle": true,
    "name": "string",
    "orderDate": "2024-11-24T16:36:00.581Z",
    "productSerialNumber": "2024-11-24T16:36:00.581Z",
    "startDate": "2024-11-24T16:36:00.581Z",
    "billingAccountRef": {
      "id": "string",
      "href": "string"
    },
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "productCharacteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "productOffering": {
      "id": "string",
      "name": "string"
    },
    "productRelationship": [
      {
        "relationshipType": "implements",
        "Product": {
          "id": "string",
          "href": "string"
        }
      }
    ],
    "productSpecification": {
      "id": "string",
      "name": "string",
      "version": "string"
    },
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ],
    "state": "created"
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:36:00.581Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

postProductChangeEventListener

POST /listener/productChangeEvent

Client listener for entity ProductAttributeValueChangeEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "category": "string",
    "description": "string",
    "endDate": "2024-11-24T16:43:40.667Z",
    "isBundle": true,
    "name": "string",
    "orderDate": "2024-11-24T16:43:40.667Z",
    "productSerialNumber": "2024-11-24T16:43:40.667Z",
    "startDate": "2024-11-24T16:43:40.667Z",
    "billingAccountRef": {
      "id": "string",
      "href": "string"
    },
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "productCharacteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "productOffering": {
      "id": "string",
      "name": "string"
    },
    "productRelationship": [
      {
        "relationshipType": "implements",
        "Product": {
          "id": "string",
          "href": "string"
        }
      }
    ],
    "productSpecification": {
      "id": "string",
      "name": "string",
      "version": "string"
    },
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ],
    "state": "created"
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:43:40.667Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

postProductStateChangeEventListener

POST /listener/productStateChangeEvent

Client listener for entity ProductStateChangeEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "category": "string",
    "description": "string",
    "endDate": "2024-11-24T16:47:34.286Z",
    "isBundle": true,
    "name": "string",
    "orderDate": "2024-11-24T16:47:34.286Z",
    "productSerialNumber": "2024-11-24T16:47:34.286Z",
    "startDate": "2024-11-24T16:47:34.286Z",
    "billingAccountRef": {
      "id": "string",
      "href": "string"
    },
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "productCharacteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "productOffering": {
      "id": "string",
      "name": "string"
    },
    "productRelationship": [
      {
        "relationshipType": "implements",
        "Product": {
          "id": "string",
          "href": "string"
        }
      }
    ],
    "productSpecification": {
      "id": "string",
      "name": "string",
      "version": "string"
    },
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ],
    "state": "created"
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:47:34.286Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

postProductDeleteEventListener

POST /listener/productDeleteEvent

Client listener for entity ProductDeleteEvent.

Parameters

This endpoint has no parameters.

Request Body

The event data to be notified.

Example:

{
  "event": {
    "id": "string",
    "href": "string",
    "category": "string",
    "description": "string",
    "endDate": "2024-11-24T16:59:28.097Z",
    "isBundle": true,
    "name": "string",
    "orderDate": "2024-11-24T16:59:28.097Z",
    "productSerialNumber": "2024-11-24T16:59:28.097Z",
    "startDate": "2024-11-24T16:59:28.097Z",
    "billingAccountRef": {
      "id": "string",
      "href": "string"
    },
    "place": [
      {
        "id": "string",
        "name": "string",
        "role": "string",
        "address": {
          "type": "string",
          "community": "string",
          "country": "string",
          "district": "string",
          "internalAddress": "string",
          "latitude": "string",
          "locality": "string",
          "longitude": "string",
          "localNr": "string",
          "postcode": "string",
          "stateOrProvince": "string",
          "streetName": "string",
          "streetType": "string",
          "streetNr": "string",
          "city": "string"
        }
      }
    ],
    "productCharacteristic": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "productOffering": {
      "id": "string",
      "name": "string"
    },
    "productRelationship": [
      {
        "relationshipType": "implements",
        "Product": {
          "id": "string",
          "href": "string"
        }
      }
    ],
    "productSpecification": {
      "id": "string",
      "name": "string",
      "version": "string"
    },
    "relatedParty": [
      {
        "id": "string",
        "name": "string",
        "role": "string"
      }
    ],
    "state": "created"
  },
  "eventId": "string",
  "eventTime": "2024-11-24T16:59:28.097Z",
  "eventType": "string",
  "eventResult": "success",
  "correlationId": "string"
}

Responses

StatusMeaningDescriptionSchema
201NotifiedEvent notification successfully receivedNone
400Bad RequestBad requestNone
401UnauthorizedAccess token is missing or invalidNone
403ForbiddenAccess is forbiddenNone
404Not FoundListener endpoint not foundNone
405Method Not AllowedHTTP method is not allowedNone
500Internal Server ErrorInternal server errorNone

Extensions

FieldValue
x-codegen-request-body-name"data"

Schemas


Error

Description: Represents an error response.

FieldTypeDescription
code*stringError code
reason*stringReason for the error
messagestringAdditional details

Product

Description: Represents a Product entity.

FieldTypeDescription
idstringUnique identifier of the Product
hrefstringReference URL for the Product
categorystringCategory of the Product
descriptionstringProduct description
endDatestring (date-time)End date of the Product
isBundlebooleanIndicates if the Product is a bundle
namestringName of the Product
orderDatestring (date-time)Date the Product was ordered
productSerialNumberstringSerial number of the Product
startDatestring (date-time)Start date of the Product
billingAccountRefBillingAccountRefBilling account associated with the Product
placeArray of PlacePlace(s) associated with the Product
productCharacteristicArray of CharacteristicCharacteristics of the Product
productOfferingProductOfferingRefProduct offering details
productRelationshipArray of ProductRelationshipRelationships with other Products
productSpecificationProductSpecificationSpecification of the Product
relatedPartyArray of RelatedPartyRelated parties involved in the Product
stateProductStateTypeLifecycle state of the Product

ProductOfferingRef

Description: Reference to a Product Offering.

FieldTypeDescription
id*stringUnique identifier
namestringName of the Product Offering

ProductStateType

Description: Valid values for the lifecycle state of the Product.

Enum Values:

  • created
  • active
  • suspended
  • terminated
  • in-progress
  • on-hold
  • failed
  • cancelled

Place

Description: Represents a place entity.

FieldTypeDescription
idstringUnique identifier
namestringName of the place
rolestringRole of the place
addressAddressAddress of the place

Address

Description: Object representing an Address.

FieldTypeDescription
typestringAddress type
communitystringCommunity
countrystringCountry
districtstringDistrict
internalAddressstringInternal address details
latitudestringLatitude coordinates
localitystringLocality
longitudestringLongitude coordinates
localNrstringLocal number
postcodestringPostal code
stateOrProvincestringState or province
streetNamestringStreet name
streetTypestringStreet type
streetNrstringStreet number
citystringCity

RelatedParty

Description: Represents a related party entity.

FieldTypeDescription
id*stringUnique identifier
namestringName of the related party
role*stringRole of the related party

Characteristic

Description: Describes a characteristic of an object or entity.

FieldTypeDescription
name*stringName of the characteristic
value*stringValue of the characteristic

ProductRef

Description: Reference to a Product.

FieldTypeDescription
id*stringUnique identifier
hrefstringReference URL of the Product

ProductRelationship

Description: Represents a relationship between Products.

FieldTypeDescription
relationshipType*stringType of relationship
Product*ProductRefRelated Product entity

ProductSpecification

Description: Represents a Product specification.

FieldTypeDescription
id*stringUnique identifier
namestringName of the specification
versionstringVersion of the specification

ErrorEvent

Description: Represents an Error event.

FieldTypeDescription
eventErrorError details
eventIdstringUnique identifier of the event
eventTimestring (date-time)Time the event occurred
eventTypestringType of event
eventResultstringResult of the event
correlationIdstringCorrelation identifier

ProductEvent

Description: Represents a Product event.

FieldTypeDescription
eventProductProduct details
eventIdstringUnique identifier of the event
eventTimestring (date-time)Time the event occurred
eventTypestringType of event
eventResultstringResult of the event
correlationIdstringCorrelation identifier

BillingAccountRef

Description: Reference to a Billing Account.

FieldTypeDescription
id*stringUnique identifier
hrefstringReference URL of the Billing Account

BillingAccount

Description: Represents a Billing Account entity.

FieldTypeDescription
idstringUnique identifier of the Billing Account
hrefstringReference URL for the Billing Account
namestringName of the Billing Account
placeArray of PlaceAssociated place(s)
stateBillingAccountStateTypeLifecycle state of the Billing Account
characteristicArray of CharacteristicCharacteristics of the Billing Account
relatedPartyArray of RelatedPartyRelated parties involved

BillingAccountStateType

Description: Lifecycle state of the Billing Account.

Enum Values:

  • active
  • closed
  • suspended
  • cancelled