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.



  1. 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

    1 2 3 4 5 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.

    1. event_id: Necessary to find ticket groups belonging to the event

    2. quantity: Optionally set for the quantity of tickets you are looking to substitute, ensuring the ticket split rules are possible and there are enough available

  2. 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: 9876543

    • wholesale_price: 190.1

    • quantity: 2

    • purchase_order_id: 228812



  3. Assemble new POST params

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 { "orders": [ { "shipped_items": [ { "items": [ { "price": 190.1, "quantity": 2, "ticket_group_id": 9876543 } ] } ], "substitute_order_link_id": 228812 } ] }

     

  4. Make a POST to /v9/orders endpoint including the structure in the body

    1 2 3 4 5 6 7 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.