Platform Connector: Event Notifications (1.0.0)
Download OpenAPI specification:Download
This API allows platform connectors to push events to Bold when there are changes to a customer, order, or product resource. These events must trigger any time data changes on the platform (and Bold did not make this change). This ensures Bold applications are in sync with the platform and have access to the complete data set.
All successful responses from Bold contain an empty response body and return an HTTP 202 response code.
Refer to the changelog for the latest updates to this API.
Note: This specification is only for use with a Bold Platform Connector.
Event notifications you send to Bold when a change occurs to customers on the platform.
Customer Saved
Trigger this API call when customer data changes on the platform. This includes customer creation, customer updates, and any changes to a customer's associated addresses.
Bold queues the customer for saving. The request must contain the complete customer object and its addresses at the time the change occurred. Bold replaces all fields of the existing customer object with the values provided in the request body. Bold ignores and does not update the fields omitted from the request body.
The platform_updated_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (customerSavedRequestData) | ||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "customer": {
- "addresses": [
- {
- "platform_id": "Address_456",
- "address_type": "commercial",
- "address_use": "shipping",
- "company": "Acme Corp.",
- "city": "Winnipeg",
- "country": "Canada",
- "country_code": "CA",
- "is_default": true,
- "first_name": "John",
- "last_name": "Doe",
- "phone": "555-555-5555",
- "postal_code": "H0H 0H0",
- "province": "Manitoba",
- "province_code": "MB",
- "street_1": "123 North Road",
- "street_2": "Unit 5"
}
], - "platform_created_at": "2023-01-09T15:35:57",
- "platform_updated_at": "2023-01-09T15:35:57",
- "platform_id": "Customer_123",
- "first_name": "John",
- "last_name": "Doe",
- "phone": "555-555-5555"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Customer Deleted
Trigger this API call when a customer is deleted on the platform.
Bold queues the customer for deletion. The platform_deleted_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (customerDeletedRequestData) | ||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "customer": {
- "platform_id": "Customer_123",
- "platform_deleted_at": "2023-04-09T12:33:44"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Event notifications you send to Bold when a change occurs to orders on the platform.
Order Saved
Trigger this API call when order data changes on the platform, including order creation and updates.
Bold queues the order for saving. The request must contain the complete order object at the time the change occurred. Bold replaces all fields of the existing order object with the values provided in the request body. Bold ignores and does not update fields omitted from the request body.
The platform_updated_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (orderSavedRequestData) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "order": {
- "platform_id": "order-123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "shipping_addresses": [
- {
- "platform_id": "address-123456",
- "address_type": "commercial",
- "first_name": "John",
- "last_name": "Doe",
- "street_1": "123 North Road",
- "street_2": "Suite 200",
- "city": "Winnipeg",
- "province": "Manitoba",
- "country": "Canada",
- "country_code": "CA",
- "phone": "555-555-5555",
- "postal_code": "H0H 0H0",
- "province_code": "MB",
- "company": "Acme Corp."
}
], - "billing_address": {
- "platform_id": "address-123456",
- "address_type": "commercial",
- "first_name": "John",
- "last_name": "Doe",
- "street_1": "123 North Road",
- "street_2": "Suite 200",
- "city": "Winnipeg",
- "province": "Manitoba",
- "country": "Canada",
- "country_code": "CA",
- "phone": "555-555-5555",
- "postal_code": "H0H 0H0",
- "province_code": "MB",
- "company": "Acme Corp."
}, - "line_items": [
- {
- "platform_id": "line-item-123456",
- "platform_product_id": "product-123456",
- "platform_variant_id": "variant-123456",
- "cart_line_item_platform_id": "cart-line-item-123456",
- "custom_attributes": {
- "property1": {
- "description": "field-1",
- "value": "value-1"
}, - "property2": {
- "description": "field-1",
- "value": "value-1"
}
}, - "title": "Shoes (long-laced classic)",
- "sku": "TSH-FF0000-L",
- "quantity": 1,
- "grams": 10,
- "weight": 10,
- "weight_unit": "grams",
- "taxable": true,
- "taxes": [
- {
- "amount": "5.00",
- "name": "Provincial Sales Tax",
- "rate": "0.07",
- "tag": "tag-1"
}
], - "requires_shipping": true,
- "price_per_item": "10.00",
- "discount_per_item": "0",
- "total": "15.00",
- "subtotal": "10.00",
- "total_tax": "5.00",
- "discounted_subtotal": "10.00"
}
], - "payments": [
- {
- "platform_id": "payment-123456",
- "transactions": [
- {
- "platform_id": "transaction-123456",
- "provider_transaction_id": "provider-transaction-123456",
- "amount": "15.00",
- "currency": "CAD",
- "status": "success",
- "type": "charge"
}
], - "description": "Credit card payment",
- "provider": "stripe",
- "payment_method": "credit card",
- "currency": "CAD",
- "amount_planned": "15.00",
- "custom_attributes": {
- "property1": {
- "description": "field-1",
- "value": "value-1"
}, - "property2": {
- "description": "field-1",
- "value": "value-1"
}
}, - "status": "paid"
}
], - "order_number": "ORDER_XXYY1122",
- "platform_customer_id": "customer-123456",
- "platform_friendly_id": "PT-0065",
- "shipping_method": "freight",
- "shipping_code": "S001",
- "browser_ip": "127.0.0.1",
- "source": "POS",
- "created_via": "Bold Checkout",
- "locale": "en_US",
- "test": false,
- "notes": "Handle with care.",
- "public_notes": "Order contains fragile items.",
- "custom_attributes": {
- "property1": {
- "description": "field-1",
- "value": "value-1"
}, - "property2": {
- "description": "field-1",
- "value": "value-1"
}
}, - "shipping_subtotal": "5.00",
- "shipping_tax": "1.00",
- "shipping_taxes": [
- {
- "amount": "5.00",
- "name": "Provincial Sales Tax",
- "rate": "0.07",
- "tag": "tag-1"
}
], - "discount": "0",
- "discounts": {
- "property1": {
- "platform_id": "discount-123456",
- "amount": "5.00",
- "discount_code": "20OFF"
}, - "property2": {
- "platform_id": "discount-123456",
- "amount": "5.00",
- "discount_code": "20OFF"
}
}, - "subtotal": "10.00",
- "subtotal_tax": "5.00",
- "total_tax": "5.00",
- "total": "20.00",
- "refunded_amount": "0",
- "currency": "CAD",
- "order_status": "active",
- "fulfillment_status": "partial",
- "financial_status": "pending",
- "placed_at": "2019-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Order Deleted
Trigger this API call when an order is deleted on the platform.
Bold queues the order for deletion. The platform_deleted_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (orderDeletedRequestData) | ||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "order": {
- "platform_id": "order-123456",
- "platform_deleted_at": "2020-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Event notifications you send to Bold when a change occurs to products on the platform.
Product Saved
Trigger this API call when product data changes, including product creation and updates.
Bold queues the product for saving. The request must contain the complete product object at the time the change occurred. Bold replaces all fields of the existing product object with the values provided in the request body. Bold ignores and does not update fields omitted from the request body.
The platform_updated_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (productSavedRequestData) | ||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "product": {
- "platform_id": "product-123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "categories": [
- {
- "platform_id": "category-123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "image_url": "your_platform_connector.com/files/categories/hats.jpg",
- "name": "Hats"
}
], - "variants": [
- {
- "platform_id": "variant-123456",
- "option_values": [
- {
- "platform_id": "abc123456",
- "platform_product_option_id": "VAR-10001-SM",
- "label": "small",
- "name": "Small"
}
], - "allow_backorder": true,
- "compare_at_price": "30.00",
- "cost": "30.00",
- "grams": 0,
- "image_url": "your_platform_connector.com/files/products/hats/purple-beach-hat.jpg",
- "inventory_quantity": 0,
- "inventory_tracking_entity": "variant",
- "inventory_tracking_service": "platform",
- "localized_names": {
- "en": "Purple",
- "fr": "Violette"
}, - "name": "Default Title",
- "price": "30.00",
- "require_shipping": true,
- "sku": "BEACH-HAT-PURPLE",
- "tax_code": "non-taxable",
- "tax_exempt": true,
- "weight": "1.0",
- "weight_unit": "kg"
}
], - "options": [
- {
- "platform_id": "product-option-123456",
- "option_values": [
- {
- "platform_id": "option-value-123456",
- "is_default": true,
- "label": "Small",
- "position": 1
}
], - "name": "Small",
- "position": 1
}
], - "images": [
- {
- "platform_id": "image-123456",
- "name": "Beach hat",
- "position": 1
}
], - "description": "A hat for the beach",
- "handle": "beach-hat",
- "inventory_quantity": 2,
- "inventory_tracking_entity": "product",
- "inventory_tracking_service": "platform",
- "localized_descriptions": {
- "en": "A hat for the beach",
- "fr": "Un chapeau pour la plage"
}, - "localized_names": {
- "en": "Beach Hat",
- "fr": "Chapeau de Plage"
}, - "name": "Beach hat",
- "published": true,
- "tags": "clothing, unisex, headwear",
- "tax_code": "non-taxable",
- "type": "physical",
- "url": "/hats/beach-hat",
- "vendor": "OFS"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Product Deleted
Trigger this API call when a product is deleted on the platform.
Bold queues the product for deletion. The platform_deleted_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (productDeletedRequestData) | ||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "product": {
- "platform_id": "product-123456",
- "platform_deleted_at": "2020-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Product Category Saved
Trigger this API call when a product category is saved on the platform.
Bold queues the product category for saving. The request contains the complete product category object at the time the change occurred. Bold replaces all fields of the existing product category object with the values provided in the request
body. Fields omitted from the request body are ignored in the category
object.
The platform_updated_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (categorySavedRequestData) | ||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "category": {
- "platform_id": "category-123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "image_url": "your_platform_connector.com/files/categories/hats.jpg",
- "name": "Hats"
}
}
}
Response samples
- 202
- 400
- 500
{ }
Product Category Deleted
Trigger this API call when a product category is deleted on the platform.
Bold queues the product category for deletion. The platform_deleted_at
field must be accurate to mitigate the risk incurred by out-of-sequence requests.
Authorizations:
path Parameters
shop_identifier required | string Example: zp3oafdor9 A unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/jsonrequired
required | object (categoryDeletedRequestData) | ||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "category": {
- "platform_id": "category-123456",
- "platform_deleted_at": "2019-09-24T14:15:22Z"
}
}
}
Response samples
- 202
- 400
- 500
{ }