OUTBOUND TO PARTNER
General Contract
Base URL
Base URL for outbound APIs. To be provided by the partner during the onboarding process.
Security
Mutual SSL is required.
Common Headers
Header Name
|
Type
|
Validation
|
Description
|
Request-Id
|
UUID
|
Required
|
Unique identifier for the request
|
Partner-Id
|
UUID
|
Required
|
Unique identifier that is provided to Partner during onboarding
|
Response-Id
|
UUID
|
Required
|
Request-Id echoed back in the response headers
|
Event notification
Notify partner for events.
Request
POST /notifications
Body
event.regId
|
|
Description
|
Registration ID
|
Type
|
UUID
|
Validation
|
Required
|
Example
|
|
event.type
|
|
Description
|
Event type
|
Type
|
Enum. Refer to Event Types and Errors for details
|
Validation
|
Required
|
Example
|
|
event.error
|
|
Description
|
More information about the failure
|
Type
|
Enum. Refer to Event Types and Errors for details.
|
Validation
|
Optional
|
Example
|
|
event.desc
|
|
Description
|
Additional description of the event
|
Type
|
String
|
Validation
|
Optional
|
Example
|
|
user
|
|
Description
|
Container for user information
|
Type
|
Object
|
Validation
|
Conditional. Will be present for Payment cards
|
Example
|
|
user.id
|
|
Description
|
Samsung account ID
|
Type
|
String
|
Validation
|
Required
|
Example
|
|
emailMatches
|
|
Description
|
Is true if the email provided in the registration request matches with Samsung account email.
|
Type
|
Boolean
|
Validation
|
Conditional. It is present only if an email was provided in the registration request.
|
Example
|
|
phoneMatches
|
|
Description
|
Is true if the phone number provided in the registration request matches with device phone number
|
Type
|
Boolean
|
Validation
|
Conditional. It is present only if a phone number was provided in the registration request.
|
Example
|
|
device
|
|
Description
|
Container for device information
|
Type
|
Object
|
Validation
|
Conditional. Will be present for Payment cards
|
Example
|
|
device.id
|
|
Description
|
Device ID
|
Type
|
String
|
Validation
|
Required
|
Example
|
|
device.imeiLast4
|
|
Description
|
Last 4 of device IMEI
|
Type
|
String. Size: 4
|
Validation
|
Optional
|
Example
|
|
device.serialLast4
|
|
Description
|
Last 4 of device serial number
|
Type
|
String. Size: 4
|
Validation
|
Optional
|
Example
|
|
device.locale.country
|
|
Description
|
Device country code
|
Type
|
CountryCode
|
Validation
|
Optional
|
Example
|
|
wallet
|
|
Description
|
Container for wallet information
|
Type
|
Object
|
Validation
|
Conditional. Will be present for Payment cards
|
Example
|
|
wallet.id
|
|
Description
|
Wallet ID
|
Type
|
String
|
Validation
|
Required
|
Example
|
|
Event Types and Errors
Type
|
Error
|
Description
|
WA_READY
|
|
Wallet app is ready for provisioning
|
WA_PROVISIONED
|
|
Indicates card was successfully provisioned into the wallet
|
WA_PROVISION_FAILURE
|
|
Indicates provisioning failed for some unknown reason
|
WA_PROVISION_FAILURE
|
CARD_ALREADY_PRESENT
|
Indicates card is already present.
|
Response
Status
HTTP/1.1 200 OK
Header
Name
|
Value
|
Content-Type
|
application/json
|
Body
card.data.encryptedData
|
|
Description
|
Encrypted PAN data that will be returned to the device to provision the card
|
Type
|
String. Size: 65536
|
Validation
|
Conditional. Required if card data was not provided in the registration request.
|
Example
|
|
Example
POST /notifications
{
"event": {
"regId": "395ce2e29485442cbd9bacdc77105126",
"type": "WA_READY"
},
"emailMatches": true,
"phoneMatches": true,
"user": {
"id": "RcSm3gWJT9mXgFWy5sG123"
},
"wallet": {
"id": "GpcCUgejS9GIiH8zch1111"
},
"device": {
"id": "MTUxMTE5MDAwMjAwMDM1N999",
"imeiLast4": "6166",
"locale": {
"country": "US"
},
"serialLast4": "4934"
}
}
HTTP/1.1 200 OK
{
"card": {
"data": {
"encryptedData": "*****"
}
}
}