V2 ESS and V1/V2 HTTP Error Codes


Campaign ESS NOTIFICATION error description

 

Campaign ESS NOTIFICATION structure

NOTIFICATION Event Topic: TenDlc-Provisioning-V2

NOTIFICATION Event Type: TenDlc_Campaign_V2

Field Data Type Mandatory Description
application_id INTEGER yes Application ID - SDC provides this parameter
company_id INTEGER yes Company ID - SDC provides this parameter
campaign_status STRING  yes Campaign state change (PENDING/REGISTERED/DEPLOYED/DEPLOYED_FAILED/MARK_REMOVED/REMOVED/REMOVE_FAILED)
campaign_status_description STRING  no Campaign status description
reason_code STRING  yes Request Reason code 
reason_description STRING yes Request Reason Description
tcr_campaignId STRING yes TCR Campaign ID

 


 

Application Address: Long Code HTTP Error and ESS Events

 

The flow of provisioning application addresses needs to consider 2 level of errors HTTP and ESS as higlighted in the following diagram.

 

Long Code API HTTP ERROR Response ADD/DELETE operations (V1/V2)

 

10DLC API Request 10DLC API Response
LONGCODE_ADDITION/LONGCODE_DELETION when campaign is not in DEPLOYED state {
"code": 400,
"message": "Longcode cannot be added/deleted as Campaign is not Deployed.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 12:44:28",
"data": null
}

LONGCODE_ADDITION/LONGCODE_DELETION  with Duplicate LongCode

  • when Longcode is not in ADDED state for LONGCODE_ADDITION

 

  • when Longcode is not in in DELETED state for LONGCODE_DELETION

{
    "code": 202,
    "message": "Request already in Progress.",
    "status": "ACCEPTED",
    "timestamp": "07-07-2022 03:07:49",
    "data": null
}

LONGCODE_ADDITION/LONGCODE_DELETION 

  • when Longcode is already ADDED state for LONGCODE_ADDITION

 

  • when Longcode is already in REMOVED state for LONGCODE_DELETION

 

 {
"code": 409,
"message": "Request already completed.",
"status": "CONFLICT",
"timestamp": "06-07-2022 12:45:06",
"data": null
}

LONGCODE_ADDITION/LONGCODE_DELETION with invalid longcode format {
"code": 400,
"message": "Invalid Longcode. Longcode must be a number.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

LONGCODE_ADDITION/LONGCODE_DELETION with correct campaign id and incorrect Longcode size

{
"code": 400,
"message": "Invalid Longcode. Longcode must be 11 digits and must start with country code 1.",
"status": "BAD_REQUEST",
"timestamp": "28-07-2022 10:10:19",
"data": null
}

LONGCODE_ADDITION/LONGCODE_DELETION when Longcode is already associated with another campaign

{
"code": 400,
"message": "Longcode cannot be added as it is already associated with another campaign.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 12:51:47",
"data": null
}

LONGCODE_ADDITION/LONGCODE_DELETION when customer daily requests limit exhausted

{
"code": 400,
"message": "Request failed. Daily quota exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}
LONGCODE_ADDITION when long code limit exhausted  {
"code": 400,
"message": "Longcode cannot be added to campaign. Limit exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}
LONGCODE_DELETION request when longcode is not added to the campaign {
"code": 400,
"message": "Longcode cannot be deleted as it is not associated with campaign.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}
LONGCODE_ADDITION OR LONGCODE_DELETION Throttling Error

HTTP/1.1 429

<amt:fault xmlns:amt=http://wso2.org/apimanager/throttling><amt:code>900804</amt:code><amt:message>Message throttled out</amt:message><amt:description>You have exceeded your quota</amt:description><amt:nextAccessTime>2022-Apr-13 19:24:00+0000 UTC</amt:nextAccessTime></amt:fault>

LONGCODE_ADDITION request when longcode is in REMOVE_FAILED/DELETED and the new campaign belongs to a different policy {
"code": 400,
"message": "Please make sure you complete removal by retrying removing the number from its previous campaign and confirm REMOVED status before adding (recycling it) to a campaign with a different policy.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}
LONGCODE_ADDITION /DELETION request when campaign is in MARK_SUSPENDED state

{
    "code": 400,
    "message": "Longcode cannot be added/deleted as Campaign is in process of suspension. 
    Please resume the campaign to start processing Longcodes",
    "status": "BAD_REQUEST",
    "timestamp": "04-26-2023 06:19:11",
    "data": null
}

LONGCODE_ADDITION /DELETION request when campaign is in SUSPENDED state {
    "code": 400,
    "message": "Longcode cannot be added/deleted as Campaign is Suspended. 
    Please resume the campaign to start processing LongCodes",
    "status": "BAD_REQUEST",
    "timestamp": "04-26-2023 06:20:07",
    "data": null
}
LONGCODE_ADDITION /DELETION request when campaign is in SUSPEND_FAILED state {
    "code": 400,
    "message": "Longcode cannot be added/deleted as Campaign is in process of suspension. 
    Please resume the campaign to start processing Longcodes",
    "status": "BAD_REQUEST",
    "timestamp": "04-26-2023 06:20:40",
    "data": null
}
LONGCODE_ADDITION /DELETION request where there are already pending provisioning txn's in progress

{
    "code": 400,
    "message": "A provisioning transaction is currently in progress for campaign <CampaignId>. 
    New transactions for this campaign will be accepted by Syniverse as soon as you receive notification 
    the current provisioning transaction has completed.",
    "status": "BAD_REQUEST",
    "timestamp": "04-26-2023 06:20:40",
    "data": null
}

 

LONGCODE_ADDITION request to SMG for a Sole Proprietor campaign

{
    "code": 400,
    "message": "Longcodes for Sole Proprietor campaigns should not be provisioned to SMG",
    "status": "BAD_REQUEST",
    "timestamp": "04-26-2023 06:20:40",
    "data": null
}

LONGCODE ADDITION / DELETION request where a campaign is not currently active {
  "code": 400,
  "message": "Your transaction has failed as the campaign has been administratively blocked. Please contact customer support.",
  "status": "BAD_REQUEST",
  "timestamp": "06-07-2022 01:53:10",
  "data": null
}
LONGCODE ADDITION request where the campaign has a number pool assigned to it {
  "code": 400,
  "message": "Campaign %s has number pool %s assigned. Longcodes for number pool campaigns are not required to be provisioned to T-Mobile SMG.",
  "status": "BAD_REQUEST",
  "timestamp": "06-07-2022 01:53:10",
  "data": null
}
LONGCODE ADDITION / DELETION request where the number is showing in Syniverse systems as belonging to a different customer {
  "code": 404,
  "message": "You are not authorized to view the resource",
  "status": "NOT_FOUND",
  "timestamp": "27-07-2022 02:45:37",
  "data": null
}
LONGCODE ADDITION / DELETION request where the longcode cannot be found as being provisioned to a campaign. {
  "code": 404,
  "message": "Longcode does not exist",
  "status": "NOT_FOUND",
  "timestamp": "27-07-2022 02:45:37",
  "data": null
}
LONGCODE ADDITION / DELETION request where the campaign type is invalid {
  "code": 400,
  "message": "Campaign Type is Invalid",
  "status": "BAD_REQUEST",
  "timestamp": "06-07-2022 01:53:10",
  "data": null
}
   

Long Code ESS NOTIFICATION structure

Field Data Type Mandatory Description
application_id INTEGER yes Application ID - SDC provides this parameter
company_id INTEGER yes Company ID - SDC provides this parameter
longcode STRING yes 10DLC Longcode Number
longcode_status STRING  yes Longcode state change (PENDING/DEPLOYED/ADDED/ADD_FAILED/MARK_DELETE/DELETED/DELETE_FAILED/REMOVED/REMOVE_FAILED)
longcode_description STRING  no Longcode status description
reason_code STRING  yes Request Reason code 
reason_description STRING yes Request Reason Description
tcr_campaignId STRING yes TCR Campaign ID

 

Application Address: NumberPool (Campaign Id based) HTTP and ESS Errors

Campaign Id based Number Pool API HTTP Error Response ADD operations (V1/V2)

10DLC API REQUEST

10DLC API RESPONSE

CAMPAIGNID BASED NUMBERPOOL_ADDITION request with wrong Number Pool type

E.g. number pool Id is a subId and the number pool type has been defined as campaignId.

{
"code": 400,
"message": "Number Pool type is invalid.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:02:43",
"data": null
}

CAMPAIGNID BASED NUMBERPOOL_ADDITION request but campaign is different

 

{
"code": 400,
"message": "Number Pool does not match with campaign.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:02:21",
"data": null
}

CAMPAIGNID BASED NUMBERPOOL_ADDITION request but NNID is not valid.

{
"code": 400,
"message": "NNID invalid.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:03:49",
"data": null
}

CAMPAIGNID BASED NUMBERPOOL_ADDITION request but Campaign is not in DEPLOYED state.

{
"code": 400,
"message": "Number Pool cannot be added/deleted as Campaign is not Deployed.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:03:29",
"data": null
}

CAMPAIGNID BASED NUMBERPOOL_ADDITION request

when the Number Pool is already associated with other campaign.

{
"code": 400,
"message": "Number Pool cannot be added as it is already associated with another campaign.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:04:29",
"data": null
}

CAMPAIGNID BASED NUMBERPOOL_ADDITION request

when the Number Pool Limit exceeded

{
"code": 400,
"message": "Number Pool cannot be added to campaign. Limit exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

CAMPAIGNID BASED NUMBERPOOL_ADDITION when daily limit is exhausted

{
"code": 400,
"message": "Request failed. Daily quota exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

 

Campaign Id based Number Pool API HTTP Error Response DELETE operations (V1/V2)

10DLC API REQUEST

10DLC API RESPONSE

CAMPAIGN BASED NUMBERPOOL_DELETION request when campaign id is different

{
"code": 400,
"message": "Number pool does not match with campaign.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:06:22",
"data": null
}

CAMPAIGN BASED NUMBERPOOL_DELETION request when NNID is not valid.

{
"code": 400,
"message": "NNID invalid.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:07:55",
"data": null
}

CAMPAIGN BASED NUMBERPOOL_DELETION request when Campaign is not in DEPLOYED state.

{
"code": 400,
"message": "Number Pool cannot be added/deleted as Campaign is not Deployed.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:08:29",
"data": null
}

CAMPAIGN BASED NUMBERPOOL_DELETION when the Number Pool is not in ADDED state.

{
"code": 400,
"message": "Number Pool cannot be deleted as it is not associated to the campaign.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:09:45",
"data": null
}

CAMPAIGN BASED NUMBERPOOL_DELETION when daily limit is exhausted

{
"code": 400,
"message": "Request failed. Daily quota exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

 

 

Number Pool ESS NOTIFICATION structure - Campaign based number pool

NOTIFICATION Event Topic: TenDlc-Provisioning-V2

NOTIFICATION Event Type: TenDlc_Campaign_NumberPool_Update_V2

Field Data Type Mandatory Description
application_id INTEGER yes Application ID - SDC provides this parameter
company-id INTEGER yes Company ID - SDC provides this parameter
campaign_status STRING  yes Campaign state change (DEPLOYED/REGISTERED/EXPIRED/FAILED/PENDING)
reason_code STRING  yes Response Reason code : state change (PENDING/ADDED/ADD_FAILED/MARK_DELETE/DELETED/DELETE_FAILED)
reason_description STRING yes Response Reason Description
tcr_campaignId STRING yes TCR Campaign ID
number_pool_type STRING yes Type of Number Pool based on SubId or based on Campaign Id
number_pool_id STRING yes Number Pool Id that represents the Number Pool in TMO

 

Application Address: Number Pool  (SubId based) HTTP and ESS Errors

 

 

Sub Id based Number Pool API HTTP Error Response ADD operations (V1/V2)

10DLC API REQUEST

10DLC API RESPONSE

SUBIDBASED NUMBERPOOL_ADDITION request with wrong Number pool type

 

{
"code": 400,
"message": "Number Pool type is invalid.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:15:43",
"data": null
}

SUBID BASED NUMBERPOOL_ADDITION request when NNID is not valid.

{
"code": 400,
"message": "NNID invalid.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:16:49",
"data": null
}

SUBID BASED NUMBERPOOL_ADDITION request but Campaign is not in DEPLOYED state.

{
"code": 400,
"message": "Number Pool cannot be added/deleted as Campaign is not Deployed.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:17:29",
"data": null
}

SUBID BASED NUMBERPOOL_ADDITION request when
Number Pool is already associated with other campaign.

{
"code": 400,
"message": "Number Pool cannot be added as it is already associated with another campaign.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:18:34",
"data": null
}

SUBID BASED NUMBERPOOL_ADDITION request when
Number Pool limit exceeded

{
"code": 400,
"message": "Number Pool cannot be added to campaign. Limit exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

SUBID BASED NUMBERPOOL_ADDITION request when
daily limit is exhausted

{
"code": 400,
"message": "Request failed. Daily quota exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

 

 

Sub Id based Number Pool API HTTP Error Response DELETE operations (V1/V2) 

10DLC API REQUEST

10DLC API RESPONSE

SUBID BASED NUMBERPOOL_DELETION request when NNID is not valid.

{
"code": 400,
"message": "NNID invalid.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:40:49",
"data": null
}

SUBID BASED NUMBERPOOL_DELETION request but Campaign is not in DEPLOYED state.

{
"code": 400,
"message": "Number Pool cannot be added/deleted as Campaign is not Deployed.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:50:29",
"data": null
}

SUBID BASED NUMBERPOOL_DELETION when the Number Pool is not in ADDED state.

{
"code": 400,
"message": "Number Pool cannot be deleted as it is not associated to the campaign.",
"status": "BAD_REQUEST",
"timestamp": "08-07-2022 01:59:45",
"data": null
}

SUBID BASED NUMBER POOL_DELETION when daily limit is exhausted

{
"code": 400,
"message": "Request failed. Daily quota exceeded.",
"status": "BAD_REQUEST",
"timestamp": "06-07-2022 01:53:10",
"data": null
}

Number Pool ADDITION / DELETION request when campaign is in SUSPENDED state {
    "code": 400,
    "message": "Number Pool cannot be added/deleted as Campaign is Suspended. Please resume the campaign to start processing Number Pool",
    "status": "BAD_REQUEST",
    "timestamp": "04-26-2023 06:32:47",
    "data": null
}
Number Pool ADDITION /DELETION request when campaign is in MARK_SUSPENDED state {
"code": 400,
"message": "Number Pool cannot be added/deleted as Campaign is in process of suspension. Please resume the campaign to start processing Number Pool",
"status": "BAD_REQUEST",
"timestamp": "04-26-2023 06:34:34",
"data": null
}
Number Pool ADDITION / DELETION request when campaign is in SUSPEND_FAILED state {
"code": 400,
"message": "Number Pool cannot be added/deleted as Campaign is in process of suspension. Please resume the campaign to start processing Number Pool",
"status": "BAD_REQUEST",
"timestamp": "04-26-2023 06:34:34",
"data": null
}

 

Number Pool ESS NOTIFICATION structure - SubId based number pool

NOTIFICATION Event Topic: TenDlc-Provisioning-V2

NOTIFICATION Event Type: TenDlc_Campaign_NumberPool_Update_V2

Field Data Type Mandatory Description
application_id INTEGER yes Application ID - SDC provides this parameter
company-id INTEGER yes Company ID - SDC provides this parameter
campaign_status STRING  yes Campaign state change (DEPLOYED/REGISTERED/EXPIRED/FAILED/PENDING/SUSPEND)
reason_code STRING  yes Response Reason code : state change (PENDING/ADDED/ADD_FAILED/MARK_DELETE/DELETED/DELETE_FAILED)
reason_description STRING yes Response Reason Description
tcr_campaignId STRING yes TCR Campaign ID
number_pool_type STRING yes Type of Number Pool based on SubId or based on Campaign Id
number_pool_id STRING yes Number Pool Id that represents the Number Pool in TMO