Developer documentation for third-party checkout integrations
The BuildMyOnlineStore API enables third-party applications to integrate with merchant storefronts for checkout processing. This API is designed for separating consumer checkout experiences from merchant shopping carts.
https://app.buildmyonlinestore.com
All API requests require authentication using GFAVIP SSO tokens.
Authorization: Bearer gfavip-session-{token}GET /api/auth/validateValidate GFAVIP SSO token and retrieve user data
{
"valid": true,
"user": {
"id": "7ee04dbe-17f1-45ca-b8b5-a6e34098b074",
"email": "[email protected]",
"username": "merchant123",
"tier": "paid",
"credits": 150
}
}Access merchant storefronts and configuration data.
List all storefronts for the authenticated merchant
{
"storefronts": [
{
"id": "uuid",
"store_name": "My Store",
"catalog_id": "catalog-uuid",
"product_id": "SKU-123",
"storefront_type": "multi_product",
"theme": "modern",
"color_code": "#667eea",
"status": "active",
"checkout_best_store_id": "checkout-uuid",
"created_at": "2025-11-24T10:00:00Z",
"updated_at": "2025-11-24T12:00:00Z"
}
]
}Get detailed information about a specific storefront
Create a new storefront for the authenticated merchant
catalog_id - UUID of the product catalog Requiredproduct_id - SKU or product ID Requiredstore_name - Name for the storefront Requiredstorefront_type - "ai_single_product" or "buy_now_buttons" Optionaltheme - "modern", "minimal", "bold", or "elegant" Optionalcolor_code - Hex color for branding (e.g., "#667eea") Optionaluse_stripe - Enable Stripe payments (default: true) Optional{
"catalog_id": "abc123-uuid",
"product_id": "SKU-001",
"store_name": "My Awesome Store",
"storefront_type": "ai_single_product",
"theme": "modern",
"color_code": "#667eea"
}{
"id": "new-storefront-uuid",
"checkout_best_store_id": "checkout-store-uuid"
}OpenAI Agentic Commerce Protocol (ACP) compatible product feeds.
Get OpenAI-compliant product feed for a storefront
{
"merchant_id": "merchant-uuid",
"storefront_id": "storefront-uuid",
"products": [
{
"id": "SKU-123",
"name": "Premium Wireless Speaker",
"description": "High-quality bluetooth speaker...",
"price": 79.99,
"currency": "USD",
"image_url": "https://example.com/image.jpg",
"availability": "in_stock"
}
],
"checkout_enabled": true
}Get detailed product information from db.51exports.com
{
"id": "SKU-123",
"title": "Premium Wireless Speaker",
"description": "High-quality bluetooth speaker...",
"price": 79.99,
"image": "https://example.com/image.jpg",
"category": "Electronics",
"in_stock": true
}BuildMyOnlineStore uses secure.checkout.best for ALL checkout processing.
Storefronts automatically include the checkout.best JavaScript widget. No API calls needed from your application.
<script src="https://secure.checkout.best/widget.js"
data-store="STORE_ID"></script>
<button class="checkout-best-btn"
data-sku="PROD-001"
data-name="Product Name"
data-price="19.99">
Buy Now
</button>Internal endpoint that receives order.paid events from checkout.best (not for external use)
Check ACP availability and regional support
{
"acp_enabled": true,
"message": "ChatGPT commerce integration available",
"regions_supported": ["US"]
}// Get merchant's storefronts
async function getMerchantStorefronts(ssoToken) {
const response = await fetch('https://app.buildmyonlinestore.com/api/storefronts', {
headers: {
'Authorization': `Bearer ${ssoToken}`,
'Content-Type': 'application/json'
}
});
return await response.json();
}
// Get product feed
async function getProductFeed(storefrontId) {
const response = await fetch(
`https://app.buildmyonlinestore.com/agentic-commerce/feeds/${storefrontId}`
);
return await response.json();
}
// Initiate checkout
async function initiateCheckout(productId, storefrontId, quantity = 1) {
const response = await fetch(
'https://app.buildmyonlinestore.com/agentic-commerce/checkout',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
product_id: productId,
storefront_id: storefrontId,
quantity: quantity
})
}
);
const data = await response.json();
if (data.checkout_url) {
window.location.href = data.checkout_url;
}
return data;
}import requests
def get_merchant_storefronts(sso_token):
"""Get all storefronts for authenticated merchant"""
headers = {
'Authorization': f'Bearer {sso_token}',
'Content-Type': 'application/json'
}
response = requests.get(
'https://app.buildmyonlinestore.com/api/storefronts',
headers=headers
)
return response.json()
def get_product_feed(storefront_id):
"""Get OpenAI ACP-compliant product feed"""
response = requests.get(
f'https://app.buildmyonlinestore.com/agentic-commerce/feeds/{storefront_id}'
)
return response.json()
def initiate_checkout(product_id, storefront_id, quantity=1):
"""Initiate checkout process"""
data = {
'product_id': product_id,
'storefront_id': storefront_id,
'quantity': quantity
}
response = requests.post(
'https://app.buildmyonlinestore.com/agentic-commerce/checkout',
json=data
)
return response.json()# Get storefronts (authenticated)
curl -X GET "https://app.buildmyonlinestore.com/api/storefronts" \
-H "Authorization: Bearer gfavip-session-abc123" \
-H "Content-Type: application/json"
# Get product feed (public)
curl -X GET "https://app.buildmyonlinestore.com/agentic-commerce/feeds/{storefront_id}"
# Initiate checkout
curl -X POST "https://app.buildmyonlinestore.com/agentic-commerce/checkout" \
-H "Content-Type: application/json" \
-d '{
"product_id": "SKU-123",
"storefront_id": "uuid",
"quantity": 1
}'For authorized GFAVIP mini-apps (e.g., dropshipsitetoday) to provision storefronts on behalf of users.
X-Service-Secret header.
Contact GFAVIP to obtain your service secret.
Create a storefront on behalf of a GFAVIP user
X-Service-Secret - Shared service secret RequiredContent-Type: application/jsongfavip_user_id - User's GFAVIP ID Requiredgfavip_email - User's email for account linking Requiredstore_name - Name for the storefront Requiredsource_app - Your app identifier (e.g., "dropshipsitetoday") Requiredcatalog_id - 51Exports catalog UUID Optionalstorefront_type - Default: "multi_product" Optionaltheme - Default: "modern" Optionalcolor_code - Default: "#667eea" Optional{
"success": true,
"storefront": {
"id": "new-storefront-uuid",
"store_name": "My Store",
"checkout_best_store_id": "checkout-store-uuid",
"status": "active",
"created_at": "2025-12-18T10:00:00Z"
}
}{
"success": false,
"error": "STOREFRONT_LIMIT_REACHED",
"message": "User has reached maximum storefront limit for their tier",
"current_count": 1,
"max_allowed": 1,
"tier": "free"
}List storefronts for a GFAVIP user
{
"success": true,
"storefronts": [
{
"id": "storefront-uuid",
"store_name": "My Store",
"storefront_type": "multi_product",
"status": "active",
"checkout_best_store_id": "checkout-uuid",
"created_at": "2025-12-18T10:00:00Z"
}
]
}Data Flow:
db.51exports.com → BuildMyOnlineStore API → Your Appsecure.checkout.bestsecure.checkout.best (secure payment processing)| Code | Status | Description |
|---|---|---|
| 200 | OK | Request successful |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Invalid or missing authentication |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource not found |
| 500 | Server Error | Internal server error |
Currently, there are no enforced rate limits. However, please be respectful:
For API support and questions: