This article aims to provide a high-level overview of what to expect from our Pop-Up Stores API functionality. The Pop-Up Stores API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded requests, returns JSON API responses, and uses standard HTTP response codes.
A major distinction for clients setting up integrations with the Pop-Up API is its read-only nature. The majority of the Pop-Up API is designed specifically to transfer information out of our system to yours. With the exception of configuring Webhooks, you cannot use this API to create or update data within the Pop-Up platform.
To help visualize these capabilities, we have outlined the data that can be transferred via our API, grouped into specific categories below.
Data Capabilities Overview
For each section below, we have categorized the data points and indicated the primary API call(s) you can use to retrieve this information. List APIs pull a collection of records, while Get APIs require a specific ID to pull a single record.
Product & Work Order Data
| Data Point | Viewable | Primary API Call(s) |
| Product Name, Description, & Style | ✔ | List Products, Get a Product |
| Base Price & COGS | ✔ | List Products, Get a Product |
| Product Attributes (e.g., Size, Color, Logo) | ✔ | List Product Attributes, Get a Product Attribute, List Attribute Values, Get a Attribute Value |
| Product Images (Asset URLs) | ✔ | Get an Image by ID |
| Mandatory & Available Status | ✔ | List Products, Get a Product |
| Work Order Decorations & Placements | ✔ | List Work Order Decorations, Get a Work Order Decoration, List Work Order Placements, Get a Work Order Placement |
| Work Order Colors | ✔ | List Work Order Colors, Get a Work Order Color |
Order & Customer Data
| Data Point | Viewable | Primary API Call(s) |
| Customer Info (First/Last Name, Email, Phone) | ✔ | Get a Customer Info |
| Billing & Shipping Addresses (Street, City, Zip, etc.) | ✔ | Get an Address |
| Order Line Items (Quantities, Amounts, Fee Types) | ✔ | List Order Lines, Get a Order Line |
| Transactions (Amount, Transaction Type, Fees) | ✔ | List Transactions, Get a Transaction |
| Credit Card Details (Type, Last 4, Exp. Month/Year) | ✔ | List Transactions, Get a Transaction |
| Payment Methods | ✔ | List Payment Methods, Get a Payment Method |
| Shipments & Shipping Labels (File type, Provider, URL) | ✔ | List Shipments, Get a Shipment, List Shipping Labels, Get a Shipping Label |
| Package Tracking (Carrier, Code, Status) | ✔ | Get a Tracker |
Sale (Store) data
| Data Point | Viewable | Primary API Call(s) |
| Sale Name, Sale Code, & Status | ✔ | List Sales, Get a Sale |
| Store Open & Expiration Dates | ✔ | List Sales, Get a Sale |
| Organization Name | ✔ | Get an Organization |
| Sale Groups | ✔ | Get a Sale Group |
Webhooks
Webhooks allow our system to proactively send information directly to your server when specific events occur within the platform. Using the Pop-Up API, you have the ability to read your currently configured webhooks, create new webhooks, or delete existing webhooks. When creating a webhook, you must provide a URL, a group ID, and the specific events you want to be notified about. The system currently supports webhook notifications for the following events: Order Creation, Order Modified, Store Opened, Store Closed, and Deposit Created .
Building a Holistic Picture: Filters and Includes
Because order and store data are inherently complex, gathering a complete picture often requires pieces of information that live in different areas of the system. To simplify this and reduce the number of API calls you need to make, our API leverages Filters and Includes functionality .
- Filters: Allow you to narrow down the specific records you are pulling within a List API call. For example, when calling List Orders, you can filter by relationships or dates to hone in on the specific information you need. (Note: Because "Get" APIs pull a single, specific ID, they do not utilize Filters).
- Includes: Allow you to bundle related data into a single API response. This functionality is available across both List and Get API calls for supported endpoints. For instance, adding include=customer_info,sale to an Orders request will return the order details, the customer's details, and the store's details all at once.
Available Filter and Includes by Endpoint
| API Call | Supported Filters | Supported Includes |
|
List Attribute Values
|
order
|
attribute
|
|
Get an Attribute Value
|
None supported
|
attribute
|
|
List Orders
|
Sale (storeID), Dates
|
sale, customer_info
|
|
Get an Order
|
None supported
|
sale, customer_info
|
|
List Order Lines
|
Order
|
order, product, fee_type, order_product, product_price_addition
|
|
Get an Order Line
|
None supported
|
order, product, fee_type, order_product, product_price_addition
|
|
List Order Products
|
Attribute, Order
|
order, product, attributes, attribute_values, images
|
|
Get an Order Product
|
None supported
|
order, product, attributes, attribute_values, images
|
|
List Payment Methods
|
Order Number
|
None supported
|
|
Get a Payment Method
|
None supported
|
None supported
|
|
List Product Attributes
|
Product ID, Attribute ID
|
attribute
|
|
Get a Product Attribute
|
None supported
|
attribute
|
|
List Products
|
Sale (StoreID)
|
sale
|
|
Get a Product
|
None supported
|
sale
|
|
List Sales
|
status, opens_at, expires_at
|
sale_group, organization, assigned_user
|
|
Get a Sale
|
None supported
|
sale_group, organization, assigned_user
|
|
List Shipments
|
Order ID |
origin, destination, labels
|
|
Get a Shipment
|
None supported
|
origin, destination, labels
|
|
List Shipping Labels
|
Shipment ID
|
tracker, shipment
|
|
Get a Shipping Label
|
None supported
|
tracker, shipment
|
|
List Transactions
|
Order ID
|
order, order_products
|
|
Get a Transaction
|
None supported
|
order, order_products
|
|
List Work Orders
|
Product ID
|
decoration, placement, colors
|
|
Get a Work Order
|
None supported
|
decoration, placement, colors
|
Final Note
In order to generate the API key for this functionality, please follow the steps in this article. The only difference is that you will want to use the "Pop-Up Stores API", not the "OMG Orders API".
Comments
0 comments
Please sign in to leave a comment.