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.

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

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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Identifier of the Customer |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | Success | Customer retrieved successfully | JSON |
| 400 | Bad Request | Bad request | JSON |
| 401 | Unauthorized | Access token is missing or invalid | JSON |
| 403 | Forbidden | Access is forbidden | JSON |
| 404 | Not Found | Customer not found | JSON |
| 405 | Method Not Allowed | HTTP method is not allowed | JSON |
| 409 | Conflict | Conflict occurred while processing | JSON |
| 500 | Internal Server Error | Internal server error | JSON |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier of the Customer |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Customer deletion accepted | None |
| 400 | Bad Request | Bad request | JSON |
| 401 | Unauthorized | Access token is missing or invalid | JSON |
| 403 | Forbidden | Access is forbidden | JSON |
| 404 | Not Found | Customer not found | JSON |
| 405 | Method Not Allowed | HTTP method is not allowed | JSON |
| 409 | Conflict | Conflict occurred while processing | JSON |
| 500 | Internal Server Error | Internal server error | JSON |
createCustomer
POST /customer
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
Request Body
The Customer to be created.
Example:
{
"id": "CRM Customer ID",
"name": "Name of Customer"
}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Customer creation accepted | None |
| 400 | Bad Request | Bad request | JSON |
| 401 | Unauthorized | Access token is missing or invalid | JSON |
| 403 | Forbidden | Access is forbidden | JSON |
| 405 | Method Not Allowed | HTTP method is not allowed | JSON |
| 409 | Conflict | Conflict occurred while processing | JSON |
| 500 | Internal Server Error | Internal server error | JSON |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Request-Id | string | true | A unique identifier (UUID) |
| X-Callback-Url | string | true | A callback URL |
Billing account
getBillingAccountById
GET /billingAccount/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Identifier of the billing account to fetch |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | No Content | Billing account was found successfully | BillingAccount |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 404 | Not Found | Customer not found | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Billing account was updated | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
deleteBillingAccount
DELETE /billingAccount/{id}
Deletes a billing account entity.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier of the billing account |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Billing account deletion accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Billing account not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
createBillingAccount
POST /billingAccount
Creates a billing account entity.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Billing account creation accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
updateBillingAccountState
PUT /billingAccount/{id}/state
Modifies the state of a Billing Account entity.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier of the Billing Account |
Request Body
The Billing Account state to be set.
Example:
{
"state": "new"
}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Billing account state modification accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
Product
createProduct
POST /product
Creates a Product entity.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Product creation accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
getListOrFindProductObjects
GET /product
Lists or finds Product entities. Possible queries: customerId, serialNumber.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| customerId | query | string | false | Query using customerId of Product |
| offset | query | integer | false | Requested index for start of resources in response |
| limit | query | integer | false | Requested number of resources in response |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | Success | A JSON array of Product objects | List |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | No matching Product objects found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Name | Description | Type |
|---|---|---|
| X-Total-Count | Total number of items matching criteria | integer |
| X-Result-Count | Actual number of items returned in response | integer |
getProductBySerialNumber
GET /product/productSerialNumber/{productSerialNumber}
Retrieves a Product entity by its serial number. Attribute selection is enabled for all first-level attributes.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| productSerialNumber | path | string | true | Serial number of the Product |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | Success | Product retrieved successfully | JSON |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | No Product found for the given serial number | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Product modification accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
getProductById
GET /product/{id}
Retrieves a Product entity by its ID. Attribute selection is enabled for all first-level attributes.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Identifier of the Product |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | Success | Product retrieved successfully | JSON |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | No Product found for the given ID | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier of the Product |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Product deletion accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Product not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
updateProductState
PUT /product/{id}/state
Modifies the state of a Product entity.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| X-Request-Id | header | string | true | A unique identifier (UUID) |
| X-Callback-Url | header | string | true | A callback URL |
| id | path | string | true | Identifier of the Product |
Request Body
The state to be set for the Product.
Example:
{
"state": "created"
}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Product state modification accepted | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 409 | Conflict | Conflict occurred while processing | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Notified | Event notification successfully received | None |
| 400 | Bad Request | Bad request | None |
| 401 | Unauthorized | Access token is missing or invalid | None |
| 403 | Forbidden | Access is forbidden | None |
| 404 | Not Found | Listener endpoint not found | None |
| 405 | Method Not Allowed | HTTP method is not allowed | None |
| 500 | Internal Server Error | Internal server error | None |
Extensions
| Field | Value |
|---|---|
| x-codegen-request-body-name | "data" |
Schemas
Error
Description: Represents an error response.
| Field | Type | Description |
|---|---|---|
| code* | string | Error code |
| reason* | string | Reason for the error |
| message | string | Additional details |
Product
Description: Represents a Product entity.
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the Product |
| href | string | Reference URL for the Product |
| category | string | Category of the Product |
| description | string | Product description |
| endDate | string (date-time) | End date of the Product |
| isBundle | boolean | Indicates if the Product is a bundle |
| name | string | Name of the Product |
| orderDate | string (date-time) | Date the Product was ordered |
| productSerialNumber | string | Serial number of the Product |
| startDate | string (date-time) | Start date of the Product |
| billingAccountRef | BillingAccountRef | Billing account associated with the Product |
| place | Array of Place | Place(s) associated with the Product |
| productCharacteristic | Array of Characteristic | Characteristics of the Product |
| productOffering | ProductOfferingRef | Product offering details |
| productRelationship | Array of ProductRelationship | Relationships with other Products |
| productSpecification | ProductSpecification | Specification of the Product |
| relatedParty | Array of RelatedParty | Related parties involved in the Product |
| state | ProductStateType | Lifecycle state of the Product |
ProductOfferingRef
Description: Reference to a Product Offering.
| Field | Type | Description |
|---|---|---|
| id* | string | Unique identifier |
| name | string | Name 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.
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier |
| name | string | Name of the place |
| role | string | Role of the place |
| address | Address | Address of the place |
Address
Description: Object representing an Address.
| Field | Type | Description |
|---|---|---|
| type | string | Address type |
| community | string | Community |
| country | string | Country |
| district | string | District |
| internalAddress | string | Internal address details |
| latitude | string | Latitude coordinates |
| locality | string | Locality |
| longitude | string | Longitude coordinates |
| localNr | string | Local number |
| postcode | string | Postal code |
| stateOrProvince | string | State or province |
| streetName | string | Street name |
| streetType | string | Street type |
| streetNr | string | Street number |
| city | string | City |
RelatedParty
Description: Represents a related party entity.
| Field | Type | Description |
|---|---|---|
| id* | string | Unique identifier |
| name | string | Name of the related party |
| role* | string | Role of the related party |
Characteristic
Description: Describes a characteristic of an object or entity.
| Field | Type | Description |
|---|---|---|
| name* | string | Name of the characteristic |
| value* | string | Value of the characteristic |
ProductRef
Description: Reference to a Product.
| Field | Type | Description |
|---|---|---|
| id* | string | Unique identifier |
| href | string | Reference URL of the Product |
ProductRelationship
Description: Represents a relationship between Products.
| Field | Type | Description |
|---|---|---|
| relationshipType* | string | Type of relationship |
| Product* | ProductRef | Related Product entity |
ProductSpecification
Description: Represents a Product specification.
| Field | Type | Description |
|---|---|---|
| id* | string | Unique identifier |
| name | string | Name of the specification |
| version | string | Version of the specification |
ErrorEvent
Description: Represents an Error event.
| Field | Type | Description |
|---|---|---|
| event | Error | Error details |
| eventId | string | Unique identifier of the event |
| eventTime | string (date-time) | Time the event occurred |
| eventType | string | Type of event |
| eventResult | string | Result of the event |
| correlationId | string | Correlation identifier |
ProductEvent
Description: Represents a Product event.
| Field | Type | Description |
|---|---|---|
| event | Product | Product details |
| eventId | string | Unique identifier of the event |
| eventTime | string (date-time) | Time the event occurred |
| eventType | string | Type of event |
| eventResult | string | Result of the event |
| correlationId | string | Correlation identifier |
BillingAccountRef
Description: Reference to a Billing Account.
| Field | Type | Description |
|---|---|---|
| id* | string | Unique identifier |
| href | string | Reference URL of the Billing Account |
BillingAccount
Description: Represents a Billing Account entity.
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the Billing Account |
| href | string | Reference URL for the Billing Account |
| name | string | Name of the Billing Account |
| place | Array of Place | Associated place(s) |
| state | BillingAccountStateType | Lifecycle state of the Billing Account |
| characteristic | Array of Characteristic | Characteristics of the Billing Account |
| relatedParty | Array of RelatedParty | Related parties involved |
BillingAccountStateType
Description: Lifecycle state of the Billing Account.
Enum Values:
- active
- closed
- suspended
- cancelled