Get Started

Welcome to the TeeAllover API documentation. This guide will help you integrate with our print-on-demand platform.

GET API Base URL:
https://api.teeallover.com/t/Tee/v1//

📋 Prerequisites

To use this API, you need two essential credentials:

  • StoreCode - Your unique 3-character store identifier
  • API Authentication - Username and Password for basic auth

Follow the steps below to obtain these credentials from your TeeAllover account.

🔑 How to Get Your StoreCode and API Credentials

Step 1: Login to TeeAllover

Visit TeeAllover Pro and login to your account. You can get the StoreCode ( Example: MPO ) as image below.

StoreCode
Step 2: Navigate to Account Settings

Once logged in, go to: Menu → Edit Account → Settings

Or directly visit: Account Settings

Step 4: Get Your Credentials
  • API Username: Use the same StoreCode value as your username
  • API Password: Get From Account Settings
API Credentials

API Endpoints Configuration

Available Endpoints:

base_url: ""
products: {
get_products: {
method: "GET"
url: ""
description: "Get all available TeeAllover products"
get_map_files: {
method: "GET"
url: ""
description: "Get map product examples or available positions for a specific product"
stores: {
get_stores: {
method: "GET"
url: ""
description: "Retrieve all stores associated with your account"
create_store: {
method: "POST"
url: ""
description: "Create a new store in your account"
orders: {
create_order: {
method: "POST"
url: ""
description: "Create a new order with line items and shipping information"
get_order: {
method: "GET"
url: ""
description: "Retrieve order details by store name and order name"
update_order: {
method: "PUT"
url: ""
description: "Update order information including customer details"
update_item: {
method: "PUT"
url: ""
description: "Update specific line items within an order"
fulfillment: {
cancel_lineitems: {
method: "POST"
url: ""
description: "Cancel specific line items from an order and process refunds"
request_fulfillment: {
method: "POST"
url: ""
description: "Request invoice creation for specific line items to fulfill orders"
tracking: {
get_tracking: {
method: "GET"
url: ""
description: "Retrieve tracking numbers for shipped orders"
webhooks: {
get_webhooks: {
method: "GET"
url: ""
description: "Retrieve all configured webhooks"
create_webhook: {
method: "POST"
url: ""
description: "Create a new webhook for real-time notifications"
update_webhook: {
method: "PUT"
url: ""
description: "Update an existing webhook configuration"
delete_webhook: {
method: "DELETE"
url: ""
description: "Delete a webhook configuration"
Content-Type: application/json
Authorization: Basic <base64_encode(your_token)>
Accept: application/json

Authentication

All API requests require authentication using Basic Auth with your TeeAllover credentials.

🔐 Authentication Requirements

You need two pieces of information to authenticate with the API:

  • StoreCode - Your 3-character store identifier
  • Username:Password - Username and password for basic auth

Authorization Type

Basic Auth - Base64 encoded credentials

📝 How Authentication Works

The API uses HTTP Basic Authentication. Your credentials are encoded in Base64 format and sent in the Authorization header.

Format:
Authorization: Basic <base64_encode(username:password)>
Example:
storeCode:mypassword123

This gets Base64 encoded to:

TVBPOm15cGFzc3dvcmQxMjM=
# Authentication Example
curl -X GET \
  -H "Authorization: Basic <base64_encode(MPO:your_password)>" \
  "https://api.teeallover.com/t/Tee/v1//Store"

⚠️ Security Best Practices

  • Never hardcode credentials in your application code
  • Use environment variables or secure configuration files
  • Always use HTTPS when making API requests
  • Rotate your password regularly
  • Monitor your API usage for any suspicious activity

Testing Your Credentials

You can test your authentication by making a simple request to the Store endpoint:

# Test Authentication
curl -X GET \
  -H "Authorization: Basic <base64_encode(MPO:your_password)>" \
  "https://api.teeallover.com/t/Tee/v1/MPO/Store"

If authentication is successful, you'll receive your store information. If not, you'll get a 401 Unauthorized response.

Overview Flow

Complete workflow from store creation to order fulfillment and tracking.

🔄 Process Flow Chart

1
Create Store
POST /Store - Initialize your store
2
Post Order
POST /Order - Submit order with products
3
Verify Product & Design
System verifies product availability and design files. It may take a few minutes if files to large. so to reduce verification time, Please cache return SKU ( contain design number ) in your system then reuse it.
4
Order Ready
Order verified and ready for fulfillment
5
Request Fulfillment
POST /request_fulfillment - Process order
✅ Success
Fulfillment Complete
Order processed successfully
❌ Error
Process Error
Error returned directly
6
Tracking Updates
GET /Tracking - Monitor order status
7
Webhook Notifications
Real-time updates sent to your webhook endpoint
📋 Key Points
  • Store Creation - Required first step to initialize your store
  • Order Submission - Orders are posted with product details
  • Product & Design Verification - System verifies availability and design files
  • Order Ready - Verified orders are ready for fulfillment
  • Fulfillment Request - Manual request to process verified orders
  • Error Handling - Errors are returned directly without webhook notifications
  • Tracking - Real-time order status monitoring
  • Webhooks - Automatic notifications for status changes

Products

Get all available TeeAllover products with their options and specifications.

GET Get Products
https://api.teeallover.com/t/Tee/v1/Products/
GET Get Map Files
https://api.teeallover.com/t/Tee/v1/MapFiles/?product={product_code}

Get Map Files

Get map product examples or available positions (extra positions) for a specific product.

Query Parameters

Parameter Type Required Description
product String Required Product code to get map files for (e.g., "lhd2")
{
}

Stores

Retrieve all stores associated with your account.

GET Get Stores
https://api.teeallover.com/t/Tee/v1//Store/
stores: [ ... ]
0: {
store_name: ""
store_url: ""
platform: ""
status: ""
tier: ""

Create Store

Create a new store in your account.

POST Create Store
https://api.teeallover.com/t/Tee/v1//Store

Request Body

store_url: ""

Response

store: ""

Parameters

Field Type Description
store_url String Your store URL

Create Order

Create a new order with line items and shipping information.

POST Create Order
https://api.teeallover.com/t/Tee/v1//Order

Request Body

{
store_name: ""
order_id:
order_name: ""
email: ""
phone: ""
financial_status: ""
created_at: ""
line_items: [
0: {
item_id:
sku: ""
title: ""
quantity: ""
item_status: ""
map_product: {
product_code: ""
option1: ""
}
shipping_address: {
first_name: ""
last_name: ""
address1: ""
city: ""
province: ""
country: ""
zip: ""
}

Response

{
success:
msg: [ ]
order: {
store_name: ""
order_name: ""
check_status: ""
line_items: [
0: {
id: ""
sku: ""
quantity: ""
base_cost: ""
design_status: ""
item_status:
shipping_fee: ""
item_total: ""
}
order_total: ""
warning: [ ]
}

Order Parameters

Field Type Required Description Limit
store_name String Required A store of your account. Ex: ABC1 -
order_name String Required Order Name 20
email String Optional Customer email 50
phone String Optional Customer phone 50
financial_status String Optional Paid, Processing, Authorized, Completed. Other mark as Pending 20
created_at String Optional datetime: Y-m-d H:i:s 20
line_items Array Required Order must contain line_items -
shipping_address Object Required Order must contain Shipping Address -

🎯 TikTok Label Information

For TikTok Label, please use the following format:

  • address1: Label URL (required)
  • address2: Tracking Number (required)
  • Other fields: Fill with "***"

Get Order

Retrieve order details by store name and order name.

GET Get Order
https://api.teeallover.com/t/Tee/v1//Order/?store_name=&order_name=12345

Query Parameters

Field Type Required Description
store_name String Required Store Code
order_name String Required Order Name

Response

{
success:
msg: [ ]
order: {
store_name: ""
order_name: ""
check_status: ""
line_items: [
0: {
id: ""
sku: ""
quantity: ""
base_cost: ""
design_status: ""
item_status:
shipping_fee: ""
item_total: ""
}
order_total: ""
warning: [ ]
}

Update Order Info

Update order information including customer details and shipping address.

PUT Update Order Info
https://api.teeallover.com/t/Tee/v1//Order/Info

Query Parameters

Field Type Required Description
store_name String Required Store Code
order_name String Required Order Name

Update Parameters

Field Type Required Description
email String Optional Customer email address
phone String Optional Customer phone number
financial_status String Optional Payment status (e.g., "Paid", "Pending")
first_name String Optional Customer first name
last_name String Optional Customer last name
address1 String Optional Primary address line
address2 String Optional Secondary address line
city String Optional City name
province String Optional State or province
country String Optional Country code (e.g., "US", "CA")
zip String Optional Postal/ZIP code

Request Body

{
store_name: ""
order_name: ""
update: {
email: ""
first_name: ""
}

Update Order Item

Update specific line items within an order.

PUT Update Order Item
https://api.teeallover.com/t/Tee/v1//Order/Item

Parameters

Field Type Required Description
store_name String Required Store Code
order_name String Required Order Name
item_id String Required Specific item ID to update
quantity Integer Optional New quantity for the item
item_status String Optional Item status (e.g., "order", "hold", "cancel")

Request Body

{
store_name: ""
order_name: ""
item_id: ""
update: {
quantity:
item_status: ""
map_product: {
product_code: ""
files: {
front_design: ""
front_mockup: ""
back_mockup: ""
back_design: ""
option1: ""
option2: ""
}

Response

{
code:
updated: {
sku: ""
design_status: ""
quantity:
item_status: ""
base_cost:
shipping_fee:
estimate_total_price:
}

Request Cancel

Cancel specific line items from an order and process refunds. If your order locked to production, you may need supporter from TeeAllover.

POST Cancel Line Items
https://api.teeallover.com/t/Tee/v1//request_cancel

Request Body

Parameters

Parameter Type Required Description
store_name string Yes Store identifier
order_name string Yes Order identifier
items array Yes Array of line item IDs to cancel
new_status string No New status for canceled items (trash, hold, normal)

Response

Response Fields

Field Type Description
success boolean Indicates if the request was successful
data.store_name string Store identifier
data.order_name string Order identifier
data.total_refund number Total refund amount for all canceled items
data.line_items array Array of canceled line items
data.line_items[].item_id string Shopify line item ID
data.line_items[].sku string Product SKU
data.line_items[].quantity number Quantity canceled
data.line_items[].invoice_id string Invoice ID
data.line_items[].item_status string New status applied to the item

Status Values

Error Responses

{
    "success": false,
    "error": [
        "LineItem 123456789 not found",
        "LineItem 987654321 is not fulfilled"
    ]
}

Common Error Messages

Business Rules

Request Fulfillment

Request invoice creation for specific line items to fulfill orders.

POST Request Fulfillment
https://api.teeallover.com/t/Tee/v1//request_fulfillment

Request Body

Parameters

Parameter Type Required Description
store_name string Yes The store identifier (e.g., "ABC1")
order_name string Yes The order identifier (e.g., "1234")
items array Yes Array of item_id to request fulfill

Response

Response Fields

Field Type Description
success boolean Indicates if the request was successful
data.store_name string The store identifier
data.order_name string The order identifier
data.invoice_name string The generated invoice name
data.total number Total amount of the invoice
data.line_items array Array of fulfilled line items

Error Responses

Common error messages:

Business Rules

Get Tracking

Retrieve tracking numbers for shipped orders.

GET Get Tracking
https://api.teeallover.com/t/Tee/v1//Tracking/?store_name=&order_name=1001

Response

{
trackings: [
0: ""
detail: {
Number123456: {
tracking_number: ""
tracking_url: ""
line_items: [
0: {
id: ""
sku: ""
quantity: ""
tracking: ""
url: ""
}
}

Webhooks

Manage webhooks to receive real-time notifications about order updates.

Available Topics

Topic Type Description
tracking_updated
Webhook When tracking information is updated
invoice_error
Webhook List of orders not invoiced when system creates invoice
design_error
Webhook Notice Design Error: When Map Items with file urls. System must process file urls to valid design files. If something went wrong, system will send this webhook to notify you.
GET Get Webhooks
https://api.teeallover.com/t/Tee/v1//webhooks

Get Webhooks Response

{
}
POST Create Webhook
https://api.teeallover.com/t/Tee/v1//webhook
PUT Update Webhook
https://api.teeallover.com/t/Tee/v1//webhook
DELETE Delete Webhook
https://api.teeallover.com/t/Tee/v1//webhook

Create Webhook Request

{
url: ""
topic: ""
}

Create Webhook Response

{
}

Update Webhook Request

{
}

Update Webhook Response

{
}

Delete Webhook Request

{
}

Delete Webhook Response

{
}

Design Error Webhook Payload

When a design error occurs, your webhook endpoint will receive a POST request with the following payload:

{
}

Design Error Fields

Field Type Required Description
errors Array Required Array of design error objects
errors[].store_name String Required Store name where the error occurred
errors[].order_name String Required Order name where the error occurred
errors[].sku String Required SKU of the item with design error
errors[].item_id String Required Unique identifier of the item
errors[].quantity String Required Quantity of the item
errors[].design_status String Required Status indicating design error (e.g., "Design-error")
errors[].error String Required Detailed error message including file ID or path
topic String Required Webhook topic identifier ("design_error")

Error Codes

The TeeAllover API uses the following error codes:

Error Code Meaning
101 Permission Denied
400 Bad Request
401 Unauthorized
404 Not Found