Method: simulateSms
Stay organized with collections
Save and categorize content based on your preferences.
Simulates the sending of an SMS message to the payment integrator. The association Payment Integrator Account ID (PIAID) will be used for this method call.
The requestId
within the header is the idempotency key and uniquely identifies this SMS Diagnostic attempt.
If the endpoint encounters an error while processing the request, the response body from this endpoint should be of type ErrorResponse
.
An example request looks like:
{
"requestHeader": {
"protocolVersion": {
"major": 1
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": {
"epochMillis": "1481899949606"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD"
},
"issuerId": {
"value": "InvisiCashUSA"
},
"senderPhoneNumber": {
"value": "+15555555555"
},
"smsBody": "DCB:bnAxdWTydDX=="
}
An example response looks like:
{
"responseHeader": {
"responseTimestamp": {
"epochMillis": "1481900013178"
}
},
"result": {
"acknowledged": {}
}
}
HTTP request
POST https://www.integratorhost.example.com/integrator-base-path/carriers-v1/simulateSms
Request body
The request body contains data with the following structure:
JSON representation |
{
"requestHeader": {
object (RequestHeader )
},
"issuerId": {
object (IssuerId )
},
"smsBody": string,
// Union field subscriber_identifier can be only one of the following:
"senderPhoneNumber": {
object (PhoneNumber )
}
// End of list of possible types for union field subscriber_identifier .
} |
Fields |
requestHeader |
object (RequestHeader )
REQUIRED: Common header for all requests.
|
issuerId |
object (IssuerId )
REQUIRED: The identifier of the issuer who is the receiver of this simulated SMS message.
|
smsBody |
string
REQUIRED: The body of this simulated SMS message. This will contain the SMS body prefix as defined by the issuer and the identifier of this authentication session, separated by a colon.
|
Union field subscriber_identifier . REQUIRED: One subscriber identifier field will be set. This will match the subscriber identifier that is set on the input to the SMS-MO diagnostic test. subscriber_identifier can be only one of the following: |
senderPhoneNumber |
object (PhoneNumber )
The subscriber phone number of the sender of this simulated SMS message.
|
Response body
This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse
, consult the ErrorResponse
object and HTTP status codes documentation.
Possible response messages |
HTTP 200 Status |
object (SimulateSmsResponse )
|
HTTP 4XX / 5XX Status |
object (ErrorResponse )
|
SimulateSmsResponse
Response object for the simulate SMS method.
Fields |
result |
object (SimulateSmsResult )
REQUIRED: The result of the SMS diagnostic call.
|
SimulateSmsResult
Result codes for smsDiagnostic
.
JSON representation |
{
// Union field result can be only one of the following:
"acknowledged": {
object (Empty )
}
// End of list of possible types for union field result .
} |
Fields |
Union field result . REQUIRED: The result of the SMS diagnostic call. result can be only one of the following: |
acknowledged |
object (Empty )
The simulated SMS message has been received. The integrator will do additional steps to parse the authentication token out of the SMS payload, determine if the authentication attempt is successful or declined, and call the authenticationResultNotification API. The authentication token should be tied to a user account as this token will be sent in the authenticationRequestId field of a future associateAccount call.
|
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-29 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-29 UTC."],[[["\u003cp\u003eSimulates sending an SMS message to the payment integrator for diagnostic purposes using the Payment Integrator Account ID (PIAID).\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003erequestId\u003c/code\u003e and \u003ccode\u003epaymentIntegratorAccountId\u003c/code\u003e combination ensures idempotency for each SMS Diagnostic attempt.\u003c/p\u003e\n"],["\u003cp\u003eThe request body includes details like issuer ID, SMS body content, and sender's phone number.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful responses indicate acknowledgment with further processing by the integrator, while errors are reported using the \u003ccode\u003eErrorResponse\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eThis API facilitates testing the SMS flow and allows integrators to simulate user authentication scenarios.\u003c/p\u003e\n"]]],["This documentation details simulating SMS message sending to a payment integrator. Key actions include sending a `POST` request to `/simulateSms` with a request body containing `requestHeader`, `issuerId`, `smsBody`, and a `senderPhoneNumber`. The `requestId` and `paymentIntegratorAccountId` ensure idempotency. The response, a `SimulateSmsResponse`, includes a `responseHeader` and a `SimulateSmsResult`, indicating message acknowledgment. Errors trigger an `ErrorResponse`. The `smsBody` contains a prefix and an authentication session identifier.\n"],null,["# Method: simulateSms\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [SimulateSmsResponse](#SimulateSmsResponse)\n - [JSON representation](#SimulateSmsResponse.SCHEMA_REPRESENTATION)\n- [SimulateSmsResult](#SimulateSmsResult)\n - [JSON representation](#SimulateSmsResult.SCHEMA_REPRESENTATION)\n\nSimulates the sending of an SMS message to the payment integrator. The association Payment Integrator Account ID (PIAID) will be used for this method call.\n\nThe `requestId` within the header is the idempotency key and uniquely identifies this SMS Diagnostic attempt.\n\nIf the endpoint encounters an error while processing the request, the response body from this endpoint should be of type [`ErrorResponse`](/pay/carriers-v1/payment-integrator-carriers-api/ErrorResponse).\n\nAn example request looks like: \n\n\n {\n \"requestHeader\": {\n \"protocolVersion\": {\n \"major\": 1\n },\n \"requestId\": \"cmVxdWVzdDE\",\n \"requestTimestamp\": {\n \"epochMillis\": \"1481899949606\"\n },\n \"paymentIntegratorAccountId\": \"InvisiCashUSA_USD\"\n },\n \"issuerId\": {\n \"value\": \"InvisiCashUSA\"\n },\n \"senderPhoneNumber\": {\n \"value\": \"+15555555555\"\n },\n \"smsBody\": \"DCB:bnAxdWTydDX==\"\n }\n\nAn example response looks like: \n\n\n {\n \"responseHeader\": {\n \"responseTimestamp\": {\n \"epochMillis\": \"1481900013178\"\n }\n },\n \"result\": {\n \"acknowledged\": {}\n }\n }\n\n### HTTP request\n\n`POST https://www.integratorhost.example.com/integrator-base-path/carriers-v1/simulateSms`\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"requestHeader\": { object (/pay/carriers-v1/payment-integrator-carriers-api/RequestHeader) }, \"issuerId\": { object (/pay/carriers-v1/payment-integrator-carriers-api/IssuerId) }, \"smsBody\": string, // Union field `subscriber_identifier` can be only one of the following: \"senderPhoneNumber\": { object (/pay/carriers-v1/payment-integrator-carriers-api/PhoneNumber) } // End of list of possible types for union field `subscriber_identifier`. } ``` |\n\n| Fields ||\n|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `requestHeader` | `object (`[RequestHeader](/pay/carriers-v1/payment-integrator-carriers-api/RequestHeader)`)` **REQUIRED**: Common header for all requests. |\n| `issuerId` | `object (`[IssuerId](/pay/carriers-v1/payment-integrator-carriers-api/IssuerId)`)` **REQUIRED**: The identifier of the issuer who is the receiver of this simulated SMS message. |\n| `smsBody` | `string` **REQUIRED**: The body of this simulated SMS message. This will contain the SMS body prefix as defined by the issuer and the identifier of this authentication session, separated by a colon. |\n| Union field `subscriber_identifier`. **REQUIRED** : One subscriber identifier field will be set. This will match the subscriber identifier that is set on the input to the SMS-MO diagnostic test. `subscriber_identifier` can be only one of the following: ||\n| `senderPhoneNumber` | `object (`[PhoneNumber](/pay/carriers-v1/payment-integrator-carriers-api/PhoneNumber)`)` The subscriber phone number of the sender of this simulated SMS message. |\n\n### Response body\n\nThis method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an `ErrorResponse`, consult the `ErrorResponse` object and [HTTP status codes documentation](/pay/carriers-v1/guides/connectivity/protocol-standards#http_status_codes).\n\n| Possible response messages ||\n|-----------------------|----------------------------------------------------------------------------------------------------------------------|\n| HTTP 200 Status | `object (`[SimulateSmsResponse](/pay/carriers-v1/payment-integrator-carriers-api/simulateSms#SimulateSmsResponse)`)` |\n| HTTP 4XX / 5XX Status | `object (`[ErrorResponse](/pay/carriers-v1/payment-integrator-carriers-api/ErrorResponse)`)` |\n\nSimulateSmsResponse\n-------------------\n\nResponse object for the simulate SMS method.\n\n| JSON representation |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"responseHeader\": { object (/pay/carriers-v1/payment-integrator-carriers-api/ResponseHeader) }, \"result\": { object (/pay/carriers-v1/payment-integrator-carriers-api/simulateSms#SimulateSmsResult) } } ``` |\n\n| Fields ||\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `responseHeader` | `object (`[ResponseHeader](/pay/carriers-v1/payment-integrator-carriers-api/ResponseHeader)`)` **REQUIRED**: Common header for all responses. |\n| `result` | `object (`[SimulateSmsResult](/pay/carriers-v1/payment-integrator-carriers-api/simulateSms#SimulateSmsResult)`)` **REQUIRED**: The result of the SMS diagnostic call. |\n\nSimulateSmsResult\n-----------------\n\nResult codes for `smsDiagnostic`.\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { // Union field `result` can be only one of the following: \"acknowledged\": { object (/pay/carriers-v1/payment-integrator-carriers-api/Empty) } // End of list of possible types for union field `result`. } ``` |\n\n| Fields ||\n|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Union field `result`. **REQUIRED** : The result of the SMS diagnostic call. `result` can be only one of the following: ||\n| `acknowledged` | `object (`[Empty](/pay/carriers-v1/payment-integrator-carriers-api/Empty)`)` The simulated SMS message has been received. The integrator will do additional steps to parse the authentication token out of the SMS payload, determine if the authentication attempt is successful or declined, and call the `authenticationResultNotification` API. The authentication token should be tied to a user account as this token will be sent in the `authenticationRequestId` field of a future `associateAccount` call. |"]]