HOW TO: Process a Substitution via the API
Goal: Creating a new PO after an original PO is Rejected by the Seller.
Setup: You are a buyer and have sold some inventory to your client. Your purchase was rejected by the seller for some reason, and you would like to choose a substitution via the API, rather than through the CORE interface.
Task: Search for inventory via Ticket Groups / Index and then create a substitution order using Orders / Create with specific parameters described below.
Find the ticket group you would like to substitute the rejected ticket group with. - GET /v9/listings endpoint with the following query parameters:
Find the sub ticket group
curl -i \ -X GET \ -H "X-Signature: <REQUEST SIGNATURE>" \ -H "X-Token: <API TOKEN>" \ --url 'https://api.ticketevolution.com/v9/listings?event_id=9876543&quantity=2'
Not all of these are necessary, but passing them in will make it easier to find adequate replacement ticket groups.event_id
: Necessary to find ticket groups belonging to the eventquantity
: Optionally set for the quantity of tickets you are looking to substitute, ensuring the ticket split rules are possible and there are enough available
Assemble parameters based on the ticket group you have selected
These values will all be found in the json response object for the chosen ticket group.
ticket_group_id
wholesale_price
These values should be known to you based on the rejected purchase order.
quantity
purchase_order_id
Examples of these values are:
ticket_group_id
: 9876543wholesale_price
: 190.1quantity
: 2purchase_order_id
: 228812
Assemble new POST params
{ "orders": [ { "shipped_items": [ { "items": [ { "price": 190.1, "quantity": 2, "ticket_group_id": 9876543 } ] } ], "substitute_order_link_id": 228812 } ] }
Make a POST to /v9/orders endpoint including the structure in the body
curl -i \ -X POST \ -H "X-Signature: <SIGNATURE>" \ -H "X-Token: <API TOKEN>" \ -H "Content-Type: application/json" \ -d '{"orders":[{"shipped_items":[{"items":[{"price":190.1,"quantity":2,"ticket_group_id":9876543}]}],"substitute_order_link_id":228812}]}' \ --url 'https://api.sandbox.ticketevolution.com/v9/orders?'
You can expect the same response structure as the /v9/orders API you are already using.