/v2/tickets/transfer
Description
This call will create a transfer ticket request that can be accepted or cancel later.
Supported Methods
- POST
Request
/v2/tickets/transfer
HEADERS
RCO | Property | Type | Description |
---|---|---|---|
R | User-Agent | String | An identifying string in Product/Version format, where Version is a SemVer-compliant string, that uniquely identifies your application. |
R | Authorization | String | It's required to use the "Bearer" authentication scheme to transmit the access token. |
R | Accept | String | The only supported response type for this endpoint is application/json. |
O | Accept-Encoding | String | gzip compression is supported. |
R | Content-Type | String | The only supported request type for this endpoint is application/json. |
R | PAC-Channel-Code | String | The channel partner identifier issued to your organization by the Paciolan Partner Services team partner on-boarding. |
R | PAC-Application-ID | String | The application identifier for which API access has been authorized; this value is typically expressed in reverse domain notation and is bound to an API key provided by Paciolan during provisioning. |
R | PAC-API-Key | String | The API key provided by Paciolan for this application. |
R | Request-ID | String | The integrator's external request ID for support traceablility and issue debugging. This string should be a UUID V4 value. |
C | PAC-Organization-ID | String | PAC-Organization-ID String The client's data account ID to pull events from. Required if calling the request with seat details (see example below). |
Query Parameters
RCO | Key | Type | Description |
---|---|---|---|
C | distributorCode | String | Distributor code. Required if initiating transfer with seat details. |
Request Object
RCO | Property | Type | Description |
---|---|---|---|
R | transferRequests | Array of Objects | We currently only support one recipient transfer at a time so only one object is allowed in this array. |
O | → externalTransferId | String | External Transfer ID |
R | → Sender | Object | Sender details |
R | →→ patronId | String | Unique customer ID |
R | → Recipient | Object | Recipient details |
O | →→ phone | String | Recipient phone |
R | String | Recipient email | |
R | →→ recipientFirstName | String | Recipient first name. |
R | →→ recipientLastName | String | Recipient last name. |
C | → Seats | Array of Objects | Seat details for transfers. Required if calling the request with tokens. |
R | →→ season | String | Season code |
R | →→ event | String | Event code |
R | →→ priceLevel | String | Price level code |
R | →→ priceType | String | Price type code |
R | →→ seatInfo | Object | Seat information |
R | →→→ level | String | Seat level |
R | →→→ section | String | Seat section |
R | →→→ row | Int | Seat row |
R | →→→ seats | Int | Seat number |
R | →→→ soldFor | Number | Price for which it was originally sold by the third party |
R | →→→ marketplace | String | Place where it was sold |
C | → Items | Array of Objects | Token details for transfers. Required if calling the request with tokens. |
R | →→ externalOrderId | String | External order ID used in the complete order call |
R | →→ tokens | Array of Strings | List of tokens to transfer |
O | linkId | String | Link ID |
O | siteId | String | Site ID |
O | baseUrl | String | Pac Client Base URL |
O | asyncCallbackUrl | String | If the initiate transfer call takes longer than expected, we will respond back with a status of "PENDING". If this callback URL is provided, our systems will then call it when the status updates, setting the request of the call to follow the response object definition below. |
Response
Response Object
Property | Type | Description |
---|---|---|
patronId | String | Unique customer ID |
confirmationCd | String | tranferId returned by Backoffice |
sentDt | String | Sent date MM/dd/yyyy HH:mm:ss (using the 24-hour clock) |
expireDt | String | Expiration date MM/dd/yyyy HH:mm:ss (using the 24-hour clock) |
transferId | String | Database primary key |
transferStatus | String | Transfer status (pending, accepted or cancelled) |
url | String | Transfer accept URL |
processId | String | A unique ID for the request that is/has executed. |
transactionStatus | String | The status of the request (PENDING, COMPLETE, or ERROR). A status of "PENDING" will require a polling call to /v2/tickets/transfer/pending/{processId} if no asyncCallbackUrl was provided in the request. |
Error Response Object
Property | Type | Description |
---|---|---|
error | Object | Error details |
→ type | String | Error type that has occurred |
→ developerMessage | String | Generic description of error that occurred |
→ appErrorCode | String | Internal error code used for support. Depending on type returned, this code may be needed to handle error response differently |
processId | Object | A unique ID for the request that is/has executed. |
Error Types
Error Type | Error Desc | App Error Code | HTTP Status Code | HTTP Status Desc | Retry Possible | Retry Count | Ultimate action | MS Error Level |
---|---|---|---|---|---|---|---|---|
INVALID_PARAMETER_VALUE | Invalid input parameters. Please review documentation | MS-422 | 422 | Unprocessable Entity | No | 0 | Caller to inform Provider | ERROR |
UNHANDLED_EXCEPTION | An internal server error occurred due to a backend error | MS-500 | 500 | Internal Server Error | Yes | 3 | Caller to inform Provider | FATAL |
UNPROCESSABLE_ENTITY | Request is missing a required transfer entity | MS-422 | 400 | Internal Server Error | No | 0 | Caller to inform Provider | ERROR |
UNPROCESSABLE_ENTITY | A transfer entity cannot have more than one item | MS-422 | 400 | Internal Server Error | No | 0 | Caller to inform Provider | ERROR |
UNPROCESSABLE_ENTITY | The seat array in the request is empty | MS-422 | 400 | Internal Server Error | No | 0 | Caller to inform Provider | ERROR |
UNPROCESSABLE_ENTITY | A seat transfer array cannot contain more than 30 items | MS-422 | 400 | Internal Server Error | No | 0 | Caller to inform Provider | ERROR |
Pending Response Object
At a minimum, the following two properties will be returned in the response if the status
is PENDING
.
Property | Type | Description |
---|---|---|
transactionStatus | Enum ["PENDING", "COMPLETE", "ERROR"] | The status of the request. A status of "PENDING" will require a followup polling call to this /v2/tickets/transfer/pending/{processId} if no asyncCallbackUrl was provided in the request of the /v2/tickets/transfer . |
processId | string |
Examples
Request
Transfer with Seat Details
curl --location 'https://link-sandbox.paciolan.info/v2/tickets/transfer?distributorCode=AMTX' \
--header 'User-Agent: MyApplication/1.0' \
--header 'Authorization: Bearer <BearerToken>' \
--header 'PAC-Channel-Code: my-application' \
--header 'PAC-Application-ID: com.mycompany.myapp' \
--header 'PAC-API-Key: <ApiKey>' \
--header 'Request-ID: <RequestID>' \
--header 'Content-Type: application/json' \
--header 'PAC-Organization-ID: 999'
--data-raw '{
"asyncCallbackUrl": "http://mycallbackurl.com/transfer-result",
"transferRequests": [
{
"Sender": {
"patronId": "3785222"
},
"Recipient": {
"phone": null,
"email": "ta236@paciolan.com",
"recipientFirstName": "Juan",
"recipientLastName": "Ramirez"
},
"Seats": [
{
"season": "FB19",
"event": "FB03",
"priceLevel": "1",
"priceType": "A",
"seatInfo": {
"level": "One",
"section": "2",
"row": 12,
"seats": 8,
"soldFor": 13.13,
"marketplace": "store"
}
}
]
}
]
}'
Responses
Success Response
{
"patronId": "3785222",
"confirmationCd": "3785222-AMTX:10237",
"sentDt": "06/07/2023 23:46:03",
"expireDt": "06/14/2023 23:46:03",
"transferId": "w53hKM1ZPmDBgYsq68VW6xR6KLLeoWCR",
"url": "https://qfnq-bqfn80-amtx.paciolan.info/myaccount/receive/xnc3t7KpSQQxLr9SmdtnUXs74qHPfrz2?linkID=BQFN80-AMTX&siteId=ev_BQFN80-AMTX",
"processId": "5f6d4e",
"transferStatus": "pending",
"transactionStatus": "COMPLETE"
}
Failure Response
{
"error": {
"type": "INVALID_PARAMETER_VALUE",
"developerMessage": "Invalid input. Please provide valid data.",
"appErrorCode": "MS-400"
},
"transactionStatus": "ERROR",
"processId": "5f6d4e"
}
Status PENDING Response
{
"processId": "d4e5f6",
"transactionStatus": "PENDING"
}