TABLE OF CONTENTS


About ACME APIs


ACME's powerful API layer allows our partners to access and expand the ACME Ticketing Platform in ways that work best for their venues and their customers. The ACME web, point-of-sale, and access control applications are built on the same REST-based APIs that we make available to our partners.


One of the first integrations ACME partners take on is a custom eCommerce solution that lets you control the entire purchasing experience and have a seamless checkout for your customers, from their first clicks on your site to the final purchase. The ACME APIs make it easy to fully integrate the ticket purchase flow into your existing website using a few simple calls. 



Online Checkout


Online Checkout is the process by which a customer purchases items on an online store/platform. The customer may checkout immediately, or choose to save items to their cart while pondering choices and checkout at a later time. The ACME Shopping Cart facilitates both the immediate and delayed checkout approach.


In contrast, Kiosk Checkout is always immediate. The customer is present on site and will either complete their purchase or cancel the order and walk away. Of course the former is always preferred!


Online checkout can either be Server based or Browser based.

  • Server Based: Server to server implementation. PCI is in scope for this approach.
  • Browser Based: Browser checkout via CORS. The advantage to this is descoped PCI.



Overview of Building a Cart


There are a few different options for building the cart:


Option 1:

1. Create an empty cart (optional)

2. Get the information on the first item you want to add to the cart

3. Update the cart with the item OR create the cart and add the first item (If you did not create the cart in Step 1)

4. Repeat steps 2 and 3 for all items you wish to add

5. Checkout


Option 2 (This would be useful if you don't need the cart to live on, such as on a shared device like a Kiosk):

1. Get all the information on the items you want to add to the cart

2. Create the cart and add all items at once

3. Checkout


We recommend making the call to update the cart with each item the visitor selects. For example:

1. Visitor selects tickets to an Event > Update the cart
2. Visitor then selects a donation > Update the cart
3. Visitor then fills out a form > Update the cart




Steps to Build the Cart

1. Create an Empty Cart (optional step)


You can optionally start by creating an empty cart. You can skip this step, if desired, and instead create the cart when you add the first item to it (Step 'Manage a Shopping Cart > Create New Cart and Add Items' below). 


To create an empty cart, see "Create a New Shopping Cart" section on Shopping Cart APIs.


To later update the cart, save the Shopping Cart ID that is returned in the response.



2. Get a list of items available for sale 

A. Events with Tickets & Add-ons

Various endpoints are available to help you get information regarding events and their availability for purchase.

See Event & Calendar APIs (B2C)


In order to add the item to the cart, retrieve and save the following values: 

For Events: ID and Ticketing Type ID
For Add-Ons: ID
For Forms: ID, Name, Type, Source, Source Form Definition



B. Memberships

See Membership APIs folder for various APIs to help get Membership information. We recommend this as a good starting point for getting the information you need to update the shopping cart. 


Before processing a membership lifecycle action other than a new purchase (MembershipPurchase), check the possible lifecycle actions using Membership Eligible Options.


In order to add the item to the cart, retrieve and save the following values: 

Membership Level/Category ID, Membership Offering ID, Membership Price Point ID



C. Donations

See Donation APIs for various APIs to help get Donation Information.


In order to add the item to the cart, retrieve and save the following values: 

ID, Type, Price

Optional: Campaign Name, Appeal Name, Fund Name 


D. Forms


See Form APIs to learn how to get Forms Information.


In order to add the item to the cart, retrieve and save the following values: 

Form Response ID


3. Manage a Shopping Cart


Add the items you want to sell to the shopping cart, such as tickets, memberships, or donations. 


You can also specify discounts on tickets, via coupon codes or member discounts.
See Discounted Ticket Sales (via Coupon or Member) for examples.


A. Update Existing Shopping Cart


If the Shopping Cart already exists (created in Step 1), then you simply need to update it with the items you wish to add. 

See"Update a Shopping Cart" section on Shopping Cart APIs.


B. Create New Shopping Cart and Add Items


If the Shopping Cart does not already exist, then you can create it in the same call that adds the items. 

See "Create a New Shopping Cart" section on Shopping Cart APIs.



4. Checkout

Once you are ready, you can complete the purchase through checkout. You can either:

  • Checkout with a Shopping Cart ID
  • Checkout with a Shopping Cart Object & Items

See Checkout APIs (B2C) for more information on both options


5. Get order details

Using this endpoint you will be able to get the details of your purchase like event information, payment amount and billing information.

  • List / Search Orders
  • List Orders for an Event
  • Get an Order
  • Update an Order
  • Delete an Order

See B2C Orders


Using the B2C APIs

Header Parameters


These parameters are used in all of the B2C endpoints.


x-b2c-tenant-id: (Required)
Tenant ID for the owner of the event templates you are looking for.
Example:
123
x-acme-api-key:  (Required)
If you do not yet have one, request an API key. This key must be securely passed into calls using the x-acme-api-key header. 
Example:
a4c5cfd307834890a6e1e09eb9e11b4d
x-acme-browser-ip: (Required for Checkout, otherwise optional)
Acme integration projects use IP addresses to prevent   unauthorized activity across endpoints.
Example:
255.255.255.255