Creating orders via the API is by far the most daunting of API tasks because there are so many moving parts to get right.
- Choose a ticket group
- Create a client, if you don't already have one
- Create the client’s properties, if they do not yet exist
- Choose a delivery method
- Choose a payment method
- Submit the order details
Selecting a ticket group
All orders need at least one ticket group, usually chosen from the response of Ticket Groups / Index. Although the API allows a single order to contain more than one ticket group, it is recommended that you separate each ticket group into separate orders.
Create a client
The order process requires that the client (purchaser) already exists. Usually this means that you need to use the Clients / Create endpoint. Within the response of successful client creation will be a unique
client_id) that must be captured and retained for use when
POSTing the order. If this is a repeat customer, be sure to utilize the existing
client_id instead of creating a duplicate client entry.
Create the client’s properties
The Ticket Evolution API allows you to store various properties for clients including, Company, Email Address(es), Phone Number(s), Address(es) and even Credit Card(s). You can create each of these individually and capture the resulting item’s
id for use when creating the order or you may create them at the time of the order. It is recommended that you create each item before the order and that your checkout process include the ability to add/edit/delete these various properties. Each of these properties has a
label attribute that can be used to help separate a
Home address from a
Work address. The labels can be any string you wish—up to 20 characters.
A good example of how such properties can be managed at checkout—and also within a client profile section—is Amazon.com as shown below.
Creating Client Credit Cards
If you are utilizing the Braintree Gateway that we have fully integrated with the Ticket Evolution API you can also store client credit card information. Braintree stores the credit card information in their PCI Complaint vault and returns a unique identifier that Ticket Evolution records allowing you to process future transactions using the same payment information. The credit card information is never stored by Ticket Evolution.
If you do not utilize the Braintree Gateway you will not be able to store credit card information, nor will our API process payments for you. Instead, you will need to handle payment processing on your end before submitting the order.
Choose a delivery method
In your Settings you must specify the delivery options that you wish to allow. It is suggested that you include as many of the non-ground FedEx as you wish as well as Eticket, Will Call and Local Pickup.
Shipping via FedEx
If you are going to permit FedEx as a delivery method you will need to let us know so that we can enable it for your account. You can also choose to participate in our FedEx Discount Program.
When you create and order with a FedEx method of shipping you must pass the shipping address (preferably by using an existing
address_id. This allows the Seller to simply click a button to generate a FedEx label to ship the tickets to your customer.
FedEx Service Types
Although you can specify an explicit
service_type such as
STANDARD_OVERNIGHT it is recommended that you always use
LEAST_EXPENSIVE. When the airbill is created we will check with FedEx’s API to see what options are available at that time and then use an algorithm to determine which of those available methods will get the package to your customer on time with the lowest cost to you.
Determining the delivery method
Determining the delivery method for a specific ticket group can be complex because you need to consider several different variables:
format: Are they etickets or physical tickets?
in_hand: Are the tickets in hand and ready to ship? If not, you also need to consider the
- delivery address and time to the event: If the tickets are being shipped you need to ensure that they can be delivered in time for your customer to make it to the event.
Luckily, we have made it easier to account for all these variables by providing the Shipments / Suggestions endpoint. Simply provide the
ticket_group_id and the shipping
address_id and we will utilize our algorithm to return which of your shipping methods we suggest. Shipments / Suggestions may return a specific FedEx
service_type, but as mentioned above, we recommend that you use
LEAST_EXPENSIVE when creating the order, but you probably should use the
price returned as the price to charge your customer.
Choose a payment method
Most Brokers and Partners placing orders from their website will use either
offline as the payment method.
If you are utilizing the Braintree Gateway then you should submit your orders with a payment
credit_card. If you are not using the Braintree Gateway then you are responsible for handling payment processing on your own before you place the order using a payment
Submit the order details
Once you have handled all of the above you are ready to
POST your order details to the Orders / Create endpoint. The details must be JSON encoded in the