FINERACT-706: Interoperation Mojaloop integration 1.0.1

This commit is contained in:
Marti
2019-05-07 14:57:28 +02:00
parent 57b73034a5
commit 2f22da0e6c
76 changed files with 5178 additions and 48 deletions
@@ -0,0 +1,7 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/bulkTransactions
//Response Body:
{
"bulkTransactionId": "11436b17-c690-4a30-8505-42a2c4eafb9d" // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
}
@@ -0,0 +1,28 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/bulkTransactions
//GET paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/bulkTransactions/11436b17-c690-4a30-8505-42a2c4eafb9d
//Response URI:
//PUT <FSPIOP-Callback>/interoperation/bulkTransactions/11436b17-c690-4a30-8505-42a2c4eafb9d
//Header:
//X-Tenant-Identifier: T111
//Response Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"completedTimestamp": "2017-11-16T04:15:35.513+01:00", // optional, ISO 8601
"bulkTransferState": "COMPLETED", // mandatory, Enum of String(1..32): RECEIVED, PENDING, ACCEPTED, PROCESSING, COMPLETED, REJECTED
"individualTransferResults": [ // mandatory, (1..1000)
{
"transferId": "11436b17-c690-4a30-8505-42a2c4eafb9d", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"completedTimestamp": "2017-11-16T04:15:35.513+01:00", // optional, ISO 8601
"transferState": "COMMITTED"// mandatory, Enum of String(1..32): RECEIVED, RESERVED, COMMITTED, ABORTED
},
{
"transferId": "11436b17-c690-4a30-8505-42a2c4eafb9d", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"completedTimestamp": "2017-11-16T04:15:35.513+01:00", // optional, ISO 8601
"transferState": "COMMITTED"// mandatory, Enum of String(1..32): RECEIVED, RESERVED, COMMITTED, ABORTED
}
]
}
@@ -0,0 +1,60 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/bulkTransactions
// HTTP/1.1
//Request Header:
//Accept: application/vnd.interoperability.quotes+json;version=1
//Content-Type: application/vnd.interoperability.quotes+json;version=1.0
//Content-Length: 975
//Date: Tue, 15 Nov 2017 10: 13:40 GMT
//Origin: http://www.example.com
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
}
},
"amountType": "RECEIVE", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"individualTransfers": [ // mandatory, (1..1000)
{
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345671", // mandatory, String(1..128)
"partySubIdOrType": "nothing" // optional, String(1..128)
}
},
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
}
},
{
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345672", // mandatory, String(1..128)
"partySubIdOrType": "nothing" // optional, String(1..128)
}
},
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
}
}
],
"transactionType": { // mandatory
"scenario": "TRANSFER", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYER", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,46 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/transactions
// HTTP/1.1
//Request Header:
//Accept: application/vnd.interoperability.quotes+json;version=1
//Content-Type: application/vnd.interoperability.quotes+json;version=1.0
//Content-Length: 975
//Date: Tue, 15 Nov 2017 10: 13:40 GMT
//Origin: http://www.example.com
//FSPIOP-Callback: http://www.client-server.com/demo
//FSPIOP-Notification: http://www.client-server.com/demo
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
},
"merchantClassificationCode": "" // optional, String(1..4 digits)
},
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN4550000000058398257466", // mandatory, String(1..128)
"partySubIdOrType": "nothing", // optional, String(1..128)
"fspId": "BankNrOne" // optional, String(1..32)
}
},
"amountType": "RECEIVE", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transactionType": { // mandatory
"scenario": "PAYMENT", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYER", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,42 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/transactions
// HTTP/1.1
//Request Header:
//Accept: application/vnd.interoperability.quotes+json;version=1
//Content-Type: application/vnd.interoperability.quotes+json;version=1.0
//Content-Length: 975
//Date: Tue, 15 Nov 2017 10: 13:40 GMT
//Origin: http://www.example.com
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
}
},
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "MSISDN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "+12345678901", // mandatory, String(1..128)
"partySubIdOrType": "nothing" // optional, String(1..128)
}
},
"amountType": "SEND", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transactionType": { // mandatory
"scenario": "TRANSFER", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYEE", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,42 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/transactions
// HTTP/1.1
//Request Header:
//Accept: application/vnd.interoperability.quotes+json;version=1
//Content-Type: application/vnd.interoperability.quotes+json;version=1.0
//Content-Length: 975
//Date: Tue, 15 Nov 2017 10: 13:40 GMT
//Origin: http://www.example.com
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "MSISDN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "+12345678901", // mandatory, String(1..128)
"partySubIdOrType": "nothing" // optional, String(1..128)
}
},
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
}
},
"amountType": "SEND", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transactionType": { // mandatory
"scenario": "TRANSFER", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYER", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,53 @@
//Request URI:
//POST <FSPIOP-Notification>/channel/quotes/notification
//HTTP/1.1
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"transactionId": "11436b17-c690-4a30-8505-42a2c4eafb9d", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"requestId": "18e43330-187e-11e9-ab14-d663bd873d93", // optional, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"quoteId": "61058cea-187e-11e9-ab14-d663bd873d93", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "MSISDN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "12345678901", // mandatory, String(1..128)
"partySubIdOrType": "nothing", // optional, String(1..128)
"fspId": "BankNrOne" // optional, String(1..32)
}
},
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
},
"name": "" // optional, String(1..128) ^(?!\s*$)[\w .,'-]{1,128}$
},
"amountType": "SEND", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"amount": {
"amount": "100",
"currency": "USD"
},
"transferAmount": {
"amount": "99",
"currency": "USD"
},
"fspFee": { // optional
"amount": "1", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"fspCommission": { // optional
"amount": "0", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transactionRole": "PAYEE",
"transactionType": { // mandatory
"scenario": "TRANSFER", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYER", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,57 @@
//Request URI:
//POST <FSPIOP-Notification>/channel/quotes/notification
// HTTP/1.1
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"transactionId": "11436b17-c690-4a30-8505-42a2c4eafb9d", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"requestId": "18e43330-187e-11e9-ab14-d663bd873d93", // optional, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"quoteId": "61058cea-187e-11e9-ab14-d663bd873d93", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "MSISDN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "+12345678901", // mandatory, String(1..128)
"partySubIdOrType": "nothing", // optional, String(1..128)
"fspId": "BankNrOne" // optional, String(1..32)
},
"name": "" // optional, String(1..128) ^(?!\s*$)[\w .,'-]{1,128}$
},
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
}
},
"amountType": "SEND", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transferAmount": {
"amount": "99",
"currency": "USD"
},
"payeeReceiveAmount": {
"amount": "100",
"currency": "USD"
},
"fspFee": { // optional
"amount": "1", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"fspCommission": { // optional
"amount": "0", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transactionRole": "PAYER",
"transactionType": { // mandatory
"scenario": "TRANSFER", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYEE", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,39 @@
//Request URI:
//POST <FSPIOP-Notification>/channel/transactions/{transactionId}/notification
// HTTP/1.1
//X-Tenant-Identifier: T111
//Request Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"transactionId": "11436b17-c690-4a30-8505-42a2c4eafb9d", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"requestId": "18e43330-187e-11e9-ab14-d663bd873d93", // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
"payee": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "MSISDN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "+12345678901", // mandatory, String(1..128)
"partySubIdOrType": "nothing", // optional, String(1..128)
"fspId": "BankNrOne" // optional, String(1..32)
},
"name": "" // optional, String(1..128) ^(?!\s*$)[\w .,'-]{1,128}$
},
"payer": { // mandatory
"partyIdInfo": { // mandatory
"partyIdType": "IBAN", // mandatory, constant, type: Enum of String(1..32): MSISDN, EMAIL, PERSONAL_ID, BUSINESS, DEVICE, ACCOUNT_ID, IBAN, ALIAS
"partyIdentifier": "IN93116000060000000012345676", // mandatory, String(1..128)
"partySubIdOrType": "something" // optional, String(1..128)
}
},
"amountType": "SEND", // mandatory, constant, type: Enum of String(1..32): SEND, RECEIVE
"amount": { // mandatory
"amount": "100", // mandatory, Number(22, 4) ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
"currency": "IDR" // mandatory, ISO 4217 (Rupee)
},
"transactionType": { // mandatory
"scenario": "TRANSFER", // mandatory, constant, type: Enum of String(1..32): DEPOSIT, WITHDRAWAL, TRANSFER, PAYMENT, REFUND
"initiator": "PAYEE", // mandatory, constant, type: Enum of String(1..32): PAYER, PAYEE
"initiatorType": "CONSUMER" // mandatory, constant, type: Enum of String(1..32): CONSUMER, AGENT, BUSINESS, DEVICE
},
"note": "From Mats", // optional, String(1..128)
"expiration": "2017-11-15T22:17:28.985-01:00" // optional, ISO 8601
}
@@ -0,0 +1,7 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/transactions
//Response Body:
{
"transactionId": "11436b17-c690-4a30-8505-42a2c4eafb9d" // mandatory, UUID String(36) ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
}
@@ -0,0 +1,16 @@
//Request URI:
//POST paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/transactions
//GET paymenthub-schema:// payment-hub-domain:payment-hub-port/channel/transactions/11436b17-c690-4a30-8505-42a2c4eafb9d
//Response URI:
//PUT <FSPIOP-Callback>/interoperation/transactions/11436b17-c690-4a30-8505-42a2c4eafb9d
//Header:
//X-Tenant-Identifier: T111
//Response Body:
{
"clientRefId": "0f4f8eb4-1d83-11e9-ab14-d663bd873d93", // String(1..36)
"completedTimestamp": "2017-11-16T04:15:35.513+01:00", // optional, ISO 8601
"transferState": "COMMITTED" // mandatory, Enum of String(1..32): RECEIVED, RESERVED, COMMITTED, ABORTED
}