# Products
This is an object representing a product to be ordered by a customer. Every order has a cart comprised of one or more ordered products. Those products may be printable tickets, physical goods or donations.
# The product object
# Attributes
- id integer - Globally unique identifier for the object
- name string - Full name of the product
- abbreviation string - Short abbreviation of the product name (max length of 10, will be converted to uppercase)
- number string - Optional product number
- description string - Description of the product
- image string - Optional image to be displayed on the ticket/product page
- price integer - A positive integer equal to the base price for the product in the smallest currency unit (opens new window)
- product_fees integer - A positive integer equal to the product fees for the product in the smallest currency unit (opens new window)
- shipping_fees integer - A positive integer equal to the shipping fees for the product in the smallest currency unit (opens new window)
- price_door integer - A positive integer equal to the door price for the product in the smallest currency unit (opens new window)
- price_early integer - A positive integer equal to the early-bird price for the product in the smallest currency unit (opens new window)
- price_early_ends_at integer - Unix timestamp on or after which the early-bird price expires and base price takes effect
- inventory integer - The quantity available to purchase
- enforce_inventory boolean - Dictates whether the inventory availability by quantity above is enforced or not
- is_shipped boolean - Dictates whether the product is to be shipped
- starts_at integer - Unix timestamp on or after which the product becomes available to purchase
- ends_at integer - Unix timestamp on or after which the product becomes unavailable to purchase
- enforce_timeframe boolean - Dictates whether the product availability by time period above is enforced or not
- type integer - Type code of product
- type_name string - Type name of product
- category integer | object - ID of the category that this product belongs to expandable
- test_data boolean - Indicates whether the product is intended to be used only for testing
- bg_color string - Hexadecimal color of the product's background
- text_color string - Hexadecimal color of the product's text
- sort_order integer - Sort order
- status integer - Status code for the product
- status_name string - Status name for the product
- currency integer | object - Currency of the product's payment expandable
- client integer | object - ID of the client that this product belongs to expandable
- event integer | object - ID of the event that this product belongs to expandable
- created_at integer - Unix timestamp at which the product was created
- updated_at integer - Unix timestamp at which the product was last updated
- printed_ticket_data object
optional- HTML data to be displayed on the printed ticket- printed_ticket_data.date_and_time string
optional- The date and time of the event for this ticket - printed_ticket_data.location string
optional- The location of the event for this ticket - printed_ticket_data.body string
optional- The body/disclaimer text for this ticket
- printed_ticket_data.date_and_time string
# Statuses
- Active - Product is able to be displayed on the ticket/product page
- Inactive - Product is not able to be displayed on the ticket/product page
# Types
- Ticket - A redeemable ticket that displays a QR and/or bar code to the customer
- Good - A physical good that is not redeemed but may likely be shipped
- Donation - A monetary donation that is neither redeemed nor shipped
# Example object
{
"id": 41941,
"name": "GA Saturday Ticket",
"abbreviation": "GA-SAT",
"number": "ABCD-GA-SAT1",
"description": "All GA tickets include OPEN BAR, spectacular performances, amazing DJ's and more! Only 250 tickets available.",
"image": null,
"price": 1000,
"product_fees": 75,
"shipping_fees": 0,
"price_door": 1500,
"price_early": 750,
"price_early_ends_at": 1626048169,
"inventory": 250,
"enforce_inventory": true,
"is_shipped": false,
"starts_at": null,
"ends_at": null,
"enforce_timeframe": false,
"type": 1,
"type_name": "Ticket",
"category": {
"id": 834,
"name": "GA Tickets",
},
"test_data": false,
"bg_color": "#ff0000",
"text_color": "#ffffff",
"sort_order": 1,
"status": 1,
"status_name": "Active",
"currency": 1,
"client": 735,
"event": 9614,
"created_at": 1626043169,
"updated_at": 1626043264,
"printed_ticket_data": {
"date_and_time": "12:00 PM to 4:00 PM<br>Saturday & Sunday<br>November 20th-21st, 2021",
"location": "Ft Lauderdale Beach Park<br>1100 Seabreeze Blvd<br>Fort Lauderdale, FL 33316",
"body": "<p>We appreciate your choice to join in the ABCD Festival Fort Lauderdale 2021. Please bring this print out with you to gain access at the Festival.</p><p><br></p><p><strong>THIS IS YOUR TICKET. TREAT IT WITH CARE</strong></p><p>Ticket will be scanned for Authenticity. Do not make copies of this ticket. The first ticket scanned will be admitted. Duplicates will be rejected.</p><p><br></p><p><strong>WARNING</strong>: This ticket is for purchase or transfer by electronic means only. Purchase of this ticket from or sale by a third party is not authorized. Tickets not purchased electronically carry a great risk of being fraudulent. Venue Operator reserves the right to require photo I.D. for entry. Tickets are non-refundable. Event held rain or shine.</p><p><br></p><p><strong>Handicapped accessible</strong>. Policy prohibits animals, bicycles, skateboards, rollerblades, chairs, folding tables, coolers, smoking (including vaping devices) and non-Festival food/beverages on the Festival grounds. Sorry, no wheelchair rental available on site.Ticket Policy: Ticket holder voluntarily assumes all risks and danger incidental to any event for which this ticket is issued and waives all claims against the event sponsor, the owner of the facility, the ticket producer or issuer. Admission is subject to compliance with all laws and facility rules and the ticket holder consents to reasonable examinations and searches to ensure compliance. Failure to comply with the law or facility rules may result in refusal of admission or expulsion. No unauthorized recording of event where prohibited. Ticket holder cannot use photographs or any other recordings for commercial purposes. Ticket holder consents to have their image used in video and photo recordings for any purpose, including commercial use. No Refunds or Exchanges. Tickets are not for resale. No pets allowed. Only certified service animals allowed. No weapons allowed. Event will be held rain or shine.</p><p><br></p><p style=\"text-align: center;\"><strong>ABCD is Not Responsible for Lost or Stolen Articles. No Refunds.</strong></p><p style=\"text-align: center;\"><strong>By purchasing this ticket, the ticket holder agrees to the posted policies of ABCD.</strong></p>",
}
}
# Retrieve a product
Retrieves the details of an existing product by the unique product identifier.
# Parameters
none
# Returns
Returns a product if a valid identifier was provided, and returns an error otherwise.
# Example request
# GET /v1/products/41941
curl https://api.ee4.events/v1/products/41941 \
-u sk_test_4eC39HqLyjWDarjtT1zdp7dc:
# Example response
{
"id": 41941,
"name": "GA Saturday Ticket",
"abbreviation": "GA-SAT",
"number": "ABCD-GA-SAT1",
"description": "All GA tickets include OPEN BAR, spectacular performances, amazing DJ's and more! Only 250 tickets available.",
"image": null,
"price": 1000,
"product_fees": 75,
"shipping_fees": 0,
"price_door": 1500,
"price_early": 750,
"price_early_ends_at": 1626048169,
"inventory": 250,
"enforce_inventory": true,
"is_shipped": false,
"starts_at": null,
"ends_at": null,
"enforce_timeframe": false,
"type": 1,
"type_name": "Ticket",
"category": {
"id": 834,
"name": "GA Tickets",
},
"test_data": false,
"bg_color": "#ff0000",
"text_color": "#ffffff",
"sort_order": 1,
"status": 1,
"status_name": "Active",
"currency": 1,
"client": 735,
"event": 9614,
"created_at": 1626043169,
"updated_at": 1626043264,
"printed_ticket_data": {
"date_and_time": "12:00 PM to 4:00 PM<br>Saturday & Sunday<br>November 20th-21st, 2021",
"location": "Ft Lauderdale Beach Park<br>1100 Seabreeze Blvd<br>Fort Lauderdale, FL 33316",
"body": "<p>We appreciate your choice to join in the ABCD Festival Fort Lauderdale 2021. Please bring this print out with you to gain access at the Festival.</p><p><br></p><p><strong>THIS IS YOUR TICKET. TREAT IT WITH CARE</strong></p><p>Ticket will be scanned for Authenticity. Do not make copies of this ticket. The first ticket scanned will be admitted. Duplicates will be rejected.</p><p><br></p><p><strong>WARNING</strong>: This ticket is for purchase or transfer by electronic means only. Purchase of this ticket from or sale by a third party is not authorized. Tickets not purchased electronically carry a great risk of being fraudulent. Venue Operator reserves the right to require photo I.D. for entry. Tickets are non-refundable. Event held rain or shine.</p><p><br></p><p><strong>Handicapped accessible</strong>. Policy prohibits animals, bicycles, skateboards, rollerblades, chairs, folding tables, coolers, smoking (including vaping devices) and non-Festival food/beverages on the Festival grounds. Sorry, no wheelchair rental available on site.Ticket Policy: Ticket holder voluntarily assumes all risks and danger incidental to any event for which this ticket is issued and waives all claims against the event sponsor, the owner of the facility, the ticket producer or issuer. Admission is subject to compliance with all laws and facility rules and the ticket holder consents to reasonable examinations and searches to ensure compliance. Failure to comply with the law or facility rules may result in refusal of admission or expulsion. No unauthorized recording of event where prohibited. Ticket holder cannot use photographs or any other recordings for commercial purposes. Ticket holder consents to have their image used in video and photo recordings for any purpose, including commercial use. No Refunds or Exchanges. Tickets are not for resale. No pets allowed. Only certified service animals allowed. No weapons allowed. Event will be held rain or shine.</p><p><br></p><p style=\"text-align: center;\"><strong>ABCD is Not Responsible for Lost or Stolen Articles. No Refunds.</strong></p><p style=\"text-align: center;\"><strong>By purchasing this ticket, the ticket holder agrees to the posted policies of ABCD.</strong></p>",
}
}
# Create a product
Create a new product.
# Parameters
- currency string | integer - Currency of the product, defaults to USD (1) if ommitted
- client_id integer
required- ID of the client that this product belongs to - event_id integer - ID of the event that this product belongs to, defaults to the next upcoming event if ommitted
# Returns
Returns a product if creation was successful, and returns an error otherwise.
# Example request
# POST /v1/products
curl https://api.ee4.events/v1/products \
-u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \
-d client_id=735 \
-d event_id=9614 \
-d currency=usd \
-d price=1000 \
-d price_door=1500 \
-d inventory=250 \
-d enforce_inventory=1 \
-d name="GA Saturday Ticket" \
-d abbreviation="GA-SAT" \
-d number="ABCD-GA-SAT1" \
-d description="All GA tickets include OPEN BAR, spectacular performances, amazing DJ's and more! Only 250 tickets available." \
-d type=1 \
-d bg_color="#ff0000" \
-d text_color="#ffffff" \
-d sort_order=1
# Example response
{
"id": 41941,
"name": "GA Saturday Ticket",
"abbreviation": "GA-SAT",
"number": "ABCD-GA-SAT1",
"description": "All GA tickets include OPEN BAR, spectacular performances, amazing DJ's and more! Only 250 tickets available.",
"image": null,
"price": 1000,
"product_fees": 75,
"shipping_fees": 0,
"price_door": 1500,
"price_early": null,
"price_early_ends_at": null,
"inventory": 250,
"enforce_inventory": true,
"is_shipped": false,
"starts_at": null,
"ends_at": null,
"enforce_timeframe": false,
"type": 1,
"type_name": "Ticket",
"category": {
"id": 834,
"name": "GA Tickets",
},
"test_data": false,
"bg_color": "#ff0000",
"text_color": "#ffffff",
"sort_order": 1,
"status": 1,
"status_name": "Active",
"currency": 1,
"client": 735,
"event": 9614,
"created_at": 1626043169,
"updated_at": null,
}
# Update a product
Updates product properties/cart contents without completing. When payment is ready to be processed, complete the product.
# Parameters
- name string
required- Full name of the product - abbreviation string - Short abbreviation of the product name (max length of 10, will be converted to uppercase)
- number string - Optional product number
- description string - Description of the product
- image string - Optional image to be displayed on the ticket/product page
- price integer
required- A positive integer equal to the base price for the product in the smallest currency unit (opens new window) - product_fees integer - A positive integer equal to the product fees for the product in the smallest currency unit (opens new window)
- shipping_fees integer - A positive integer equal to the shipping fees for the product in the smallest currency unit (opens new window)
- price_door integer - A positive integer equal to the door price for the product in the smallest currency unit (opens new window)
- price_early integer - A positive integer equal to the early-bird price for the product in the smallest currency unit (opens new window)
- price_early_ends_at integer - Unix timestamp on or after which the early-bird price expires and base price takes effect
- inventory integer - The quantity available to purchase
- enforce_inventory boolean - Dictates whether the inventory availability by quantity above is enforced or not
- is_shipped boolean - Dictates whether the product is to be shipped
- starts_at integer - Unix timestamp on or after which the product becomes available to purchase
- ends_at integer - Unix timestamp on or after which the product becomes unavailable to purchase
- enforce_timeframe boolean - Dictates whether the product availability by time period above is enforced or not
- type integer
required- Type code of product - category_id integer
required- ID of the category that this product belongs to expandable - test_data boolean - Indicates whether the product is intended to be used only for testing
- bg_color string - Hexadecimal color of the product's background
- text_color string - Hexadecimal color of the product's text
- sort_order integer - Sort order
- status integer
required- Status code for the product - currency integer | object - Currency of the product expandable
- printed_ticket_data object
optional- HTML data to be displayed on the printed ticket- printed_ticket_data.date_and_time string
optional- The date and time of the event for this ticket - printed_ticket_data.location string
optional- The location of the event for this ticket - printed_ticket_data.body string
optional- The body/disclaimer text for this ticket
- printed_ticket_data.date_and_time string
# Returns
Returns the product.
# Example request
# POST /v1/products/41941
curl https://api.ee4.events/v1/products/41941 \
-u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \
-d price=1750 \
-d price_door=2000 \
-d name="GA Sunday Ticket" \
-d abbreviation="GA-SUN" \
-d number="ABCD-GA-SUN" \
# Example response
{
"id": 41941,
"name": "GA Sunday Ticket",
"abbreviation": "GA-SUN",
"number": "ABCD-GA-SUN",
"description": "All GA tickets include OPEN BAR, spectacular performances, amazing DJ's and more! Only 250 tickets available.",
"image": null,
"price": 1750,
"product_fees": 75,
"shipping_fees": 0,
"price_door": 2000,
"price_early": null,
"price_early_ends_at": null,
"inventory": 250,
"enforce_inventory": true,
"is_shipped": false,
"starts_at": null,
"ends_at": null,
"enforce_timeframe": false,
"type": 1,
"type_name": "Ticket",
"category": {
"id": 834,
"name": "GA Tickets",
},
"test_data": false,
"bg_color": "#ff0000",
"text_color": "#ffffff",
"sort_order": 1,
"status": 1,
"status_name": "Active",
"currency": 1,
"client": 735,
"event": 9614,
"created_at": 1626043169,
"updated_at": null,
}
# Delete a product
Deletes a product. It cannot be undone. Existing orders with carts containing this product will still display the ordered product information for record-keeping.
# Parameters
- none
# Returns
Returns an object with a deleted parameter on success. If the product ID does not exist, this call returns an error.
Unlike other objects, deleted products can still be retrieved through the API, in order to be able to track the history of orders while still preventing any further products to be purchased.
# Example request
# DELETE /v1/products/41941
curl https://api.ee4.events/v1/products/41941 \
-u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \
-X DELETE
# Example response
{
"id": 41941,
"object": "product",
"deleted": true
}
# List all products
Returns a list of products created. The products are returned in sorted order, with the most recently created products appearing first.
# Parameters
- limit integer
optional- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. - category_id string
optional- Only return products for the category specified by this category ID. - ending_before string
optional- A cursor for use in pagination.ending_beforeis an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting withobj_bar, your subsequent call can includeending_before=obj_barin product to fetch the previous page of the list. - starting_after string
optional- A cursor for use in pagination.starting_afteris an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending withobj_foo, your subsequent call can includestarting_after=obj_fooin product to fetch the next page of the list. - event_id integer
optional- Only return products belonging to the specified event.
# Returns
A dictionary with a data property that contains an array of up to limit products, starting after product starting_after. Each entry in the array is a separate product object. If no more products are available, the resulting array will be empty. If you provide a non-existent product ID, this call returns an error.
# Example request
# GET /v1/products
curl https://api.ee4.events/v1/products \
-u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \
-d limit=3 \
-G
# Example response
{
"object": "list",
"url": "/v1/products",
"has_more": false,
"data": [
{
"id": 41941,
"name": "GA Saturday Ticket",
"abbreviation": "GA-SAT",
"number": "ABCD-GA-SAT1",
"description": "All GA tickets include OPEN BAR, spectacular performances, amazing DJ's and more! Only 250 tickets available.",
"image": null,
"price": 1000,
"product_fees": 75,
"shipping_fees": 0,
"price_door": 1500,
"price_early": null,
"price_early_ends_at": null,
"inventory": 250,
"enforce_inventory": true,
"is_shipped": false,
"starts_at": null,
"ends_at": null,
"enforce_timeframe": false,
"type": 1,
"type_name": "Ticket",
"category": {
"id": 834,
"name": "GA Tickets",
},
"test_data": false,
"bg_color": "#ff0000",
"text_color": "#ffffff",
"sort_order": 1,
"status": 1,
"status_name": "Active",
"currency": 1,
"client": 735,
"event": 9614,
"created_at": 1626043169,
"updated_at": null,
},
{...},
{...}
]
}