Unsuccessful orders
If an order doesn’t progress, it could be due to one of the following reasons:
- a bad request
- the order is rejected
- the order fails (including a partial fail when there are multiple order items)
If this happens, you need to correct the error and submit a new order.
Bad request
After you submit the order, you may get a 400 code and this is synchronous. The order can’t get progress for one of the following reasons:
- authentication failure
- issues with JSON payload
- issue with JSON schema
- too many order items
- the order does not match with supported product model
- the JSON payload is too large
Authentication failure
You’ll get an authentication failure, in a response code, for one of two reasons:
- bearer token expired
- invalid credentials
If the bearer token expires, you need to get a new token and submit a new order.
If you enter invalid credentials, you’ll get an access denied message (error code 50). These credentials include:
- Your client ID
- Password
To correct this error, you’ll need to check and re-enter your credentials then submit a new order.
Issue with JSON payload
You may get an error, in a response code, if the payload is too large.
You’ll need to reduce the size of the JSON payload – it must be 10MB or less. After you’ve reduced the size then submit a new order.
Issue with JSON schema
You’ll get an error code 23 if something in the JSON schema doesn’t match with the TMF 622 schema.
Too many order items
You may get an error if you’ve entered too many order items. You must enter 200 order items or less to fix this error.
If you’re activating an existing SIM, you can order a maximum of 200 subscriptions in one order.
If you’re activating a new SIM, you can order 100 subscriptions and 100 SIMs in one order.
Rejected orders
Rejected order errors are asynchronous and we may reject an order at any stage of the order journey. For any rejected order, you will receive a ProductOrderCreateEvent notification.
After you fix the error, you will need to update the payload and submit a new order.
Order validation exception errors
If activating an existing SIM and activating a new digital eSIM
If there’s an unsupported or missing product offering type
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
This error shows when “@type” is missing in ProductOffering field. To fix this error, refer to the product order item property list.
|
If the requested completion date is missing
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
This error shows if there’s not a requested completion date. Enter the year, month and date. It must be a future date, requested start date plus one day.
|
If the product relationship. relationship type is invalid
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
If you get this error, you’ll find a specific reason code to explain it happened. For example, "Invalid productOrderItemRelationship.relationshipType for BTMobileSubscriptionProductOffering for productOrderItem with id 1.0." |
If the agreement number is missing
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
You’ll get an error if the agreement number is missing in “productCharacteristic”. To fix this error, review the specific reason code and refer to the product characteristics list. |
If the account number is missing
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
You’ll get an error if the account number is missing from “relatedParty”. To fix the error, refer to the related party properties list. |
If the role field is not populated
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
You’ll get this error is the role field is empty in “relatedParty”. For example, you may get the message: "Required field {role} is missing in relatedParty". To fix the error, refer to the related party properties list. |
If the tariff code is missing
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
You’ll get this message if the tariff code is missing in the “productCharacteristic” attribute. To fix this error, refer to your Complete Mobile Price Guide to find a list of tariff codes. |
If requested completion date is blank
Subcode |
Message |
Reason for error and how to fix it |
02 |
Unable to process the order request due to technical issues |
You’ll find this message in the response payload. To fix this error, you need to add a completion date, in the correct format, and then submit a new order. |
If the subscription code is missing
Subcode |
Message |
Reason for error and how to fix it |
ACCOUNT_USAGE_NOT_SUBSCRIPTION |
Account XXXX does not have a usage of subscription does not have a usage of subscription. XXXX |
You will receive a specific reason code and message in the response payload. To fix this error, refer to the related party properties list. |
If the tariff code is invalid
Subcode |
Message |
Reason for error and how to fix it |
Subscription Validation Fault |
TARIFF_CODE_NOT_VALID |
This error will show if the tariff code is not valid. To fix this error, check the tariff code is correct in the Complete Mobile Price Guide. |
If there’s a duplicate SIM serial number
Subcode |
Message |
Reason for error and how to fix it |
OWR001
And Subscription Validation Fault
|
Order did not progress to the generated state
And SERIAL_NUMBER_IS_NOT_UNIQUE:The SIM is already in use |
This error will show if there’s a duplicate SIM serial number. To fix this error, check the SIM serial number is correct. |
If activating a new digital eSIM
If the order item ID is unresolvable
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
This happens when the SIM’s ID and the subscription’s ID don’t match with one another – it applies to the ProductOrderItemRelationship attribute. Check that both IDs correctly relate to one another. |
If the order item ID is repeated
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
This happens when the same order item ID is repeated for multiple subscriptions and applies to the ProductOrderItemRelationship attribute. To fix this error, update the order item IDs so they are unique for example 01, 02, 03 and so on. |
If the product order item relationship. relationship type is invalid
Subcode |
Message |
Reason for error and how to fix it |
02 |
Order Did Not Match Supported Product Model |
The reason for this is when there’s an invalid relationship type value. To fix this error, review the specific reason code, including the id, and refer to the product order item properties list
|
Rejected Orders (old)
In this section, you’ll find some sample JSON files if an order is rejected.
These rejected order errors are asynchronous and we may reject an order at any stage of the order journey. If this happens then you’ll receive a ProductOrderCreateEvent notification.
Missing or unsupported product offering type
Missing or unsupported product offering type JSON
"eventId": "54567874-dba0-4591-bf30-9e8ec48830fc",
"eventTime": "2025-02-06T12:52:24.357597+00:00",
"eventType": "ProductOrderCreateEvent",
"event": {
"productOrder": {
"state": "rejected",
"externalId": "4deccdce-bf30-4bc9-824b-1a73be3a750c",
"productOrderItem": [],
"relatedParty": [
{
"id": "5751",
"role": "AccountNumber",
"@type": "BTRelatedParty",
"@referredType": "Customer"
},
{
"id": "4415",
"role": "SubscriptionAccountCode",
"@type": "BTRelatedParty",
"@referredType": "Customer"
}
],
"errorMessage": [
{
"code": "OrderValidationException",
"subCode": "02",
"message": "Order Did Not Match Supported Product Model",
"reason": "@type is missing in ProductOffering"
}
]
Unresolvable ID
This applies only when activating a new digital eSIM but a sample JSON file is not available right now.
Order item ID is repeated
This applies only when activating a new digital eSIM but a sample JSON file is not available right now.
Invalid product order relationship type
Invalid relationship type JSON
{
"eventId": "744b9d2b-ff28-4d29-b33c-dc84bb30c6a8",
"eventTime": "2025-02-17T11:56:10.379399+00:00",
"eventType": "ProductOrderCreateEvent",
"event": {
"productOrder": {
"state": "rejected",
"externalId": "7a16c397-8062-49c1-87d6-b322fe2fce23",
"productOrderItem": [],
"relatedParty": [
{
"id": "5751",
"role": "AccountNumber",
"@type": "BTRelatedParty",
"@referredType": "Customer"
},
{
"id": "4415",
"role": "SubscriptionAccountCode",
"@type": "BTRelatedParty",
"@referredType": "Customer"
}
],
"errorMessage": [
{
"code": "OrderValidationException",
"subCode": "02",
"message": "Order Did Not Match Supported Product Model",
"reason": "Invalid productOrderItemRelationship.relationshipType for BTMobileSubscriptionProductOffering for productOrderItem with id 1.0."
}
]
}
}
}
The agreement number is missing
No agreement number JSON
{
"eventId": "54567874-dba0-4591-bf30-9e8ec48830fc",
"eventTime": "2025-02-06T12:52:24.357597+00:00",
"eventType": "ProductOrderCreateEvent",
"event": {
"productOrder":{
"state": "rejected",
"externalId": "1145e9aa-1c71-48b7-9fa0-c01d4a2a38d8",
"productOrderItem": [],
"relatedParty": [
{
"id": "5751",
"role": "AccountNumber",
"@type": "BTRelatedParty",
"@referredType": "Customer"
},
{
"id": "4415",
"role": "SubscriptionAccountCode",
"@type": "BTRelatedParty",
"@referredType": "Customer"
}],
"errorMessage": [
{
"code": "OrderValidationException",
"subCode": "02",
"message": "Order Did Not Match Supported Product Model",
"reason": "Required field AgreementNumber is missing in productCharacteristic"
}]
}
}
}
The account number (related party)
Account number is missing JSON
{
"eventId": "54567874-dba0-4591-bf30-9e8ec48830fc",
"eventTime": "2025-02-06T12:52:24.357597+00:00",
"eventType": "ProductOrderCreateEvent",
"event": {
"productOrder":{
"state": "rejected",
"externalId": "77370e2c-010a-4fe1-bdf2-d58a46cb96d6",
"productOrderItem": [],
"relatedParty": [
{
"id": "4415",
"role": "SubscriptionAccountCode",
"@type": "BTRelatedParty",
"@referredType": "Customer"
}],
"errorMessage": [
{
"code": "OrderValidationException",
"subCode": "02",
"message": "Order Did Not Match Supported Product Model",
"reason": "Required field AccountNumber is missing in relatedParty"
}]
}
}
}
The role field is not populated
If a role field is not populated, then this is similar to when the account number is missing from the payload.
The tariff code is missing
No tariff code JSON
{
"eventId": "54567874-dba0-4591-bf30-9e8ec48830fc",
"eventTime": "2025-02-06T12:52:24.357597+00:00",
"eventType": "ProductOrderCreateEvent",
"event": {
"productOrder":{
"state": "rejected",
"externalId": "5dbc791e-fc96-4a5c-a21c-02bd3eaa3ad6",
"productOrderItem": [],
"relatedParty": [
{
"id": "5751",
"role": "AccountNumber",
"@type": "BTRelatedParty",
"@referredType": "Customer"
},
{
"id": "4415",
"role": "SubscriptionAccountCode",
"@type": "BTRelatedParty",
"@referredType": "Customer"
}],
"errorMessage": [
{
"code": "OrderValidationException",
"subCode": "02",
"message": "Order Did Not Match Supported Product Model",
"reason": "Required field TariffCode is missing in productCharacteristic"
}]
}
}
}