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.
Note: This specification is only for use with a Bold Platform Connector.
These are event notifications that are sent to Bold when a change occurs to customers on the platform.
Customer Saved
Trigger this API call when customer data changes. This includes customer creation, customer updates, and any changes to a customer's associated addresses.
Bold then queues the customer — in the case of an update, identified in the request body by the platform_id
— for saving. The request contains 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. Fields omitted from the request body are ignored in the Customer
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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
object (customerSavedRequestData) | |||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "customer": {
- "addresses": [
- {
- "platform_id": "Address_456",
- "address_type": "commercial",
- "address_use": "billing",
- "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": "string"
}
], - "platform_created_at": "2019-08-24T14:15:22Z",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "platform_id": "Customer_123",
- "email": "user@example.com",
- "first_name": "John",
- "last_name": "Doe",
- "phone": "555-555-5555"
}
}
}
Response samples
- 202
- 500
{ }
Customer Deleted
Trigger this API call when a customer is deleted on the platform.
Bold then queues the customer — identified in the request body by the platform_id
— 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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
object (customerDeletedRequestData) | |||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "customer": {
- "platform_id": "Customer_123",
- "platform_deleted_at": "2019-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 500
{ }
These are event notifications that are sent to Bold when a change occurs to orders on the platform.
Order Saved
Trigger this API call when the order data has been modified on the platform, including if an order is created or updated.
Bold then queues the order — in the case of an update, identified in the request body by the platform_id
— for saving. The request should contain the complete order object at the time the change occurred. 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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
object (orderSavedRequestData) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "order": {
- "platform_id": "string",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "shipping_addresses": [
- {
- "platform_id": "string",
- "address_type": "commercial",
- "first_name": "John",
- "last_name": "Doe",
- "street_1": "123 North Road",
- "street_2": "string",
- "city": "string",
- "province": "Manitoba",
- "country": "Canada",
- "country_code": "CA",
- "phone": "555-555-5555",
- "postal_code": "H0H 0H0",
- "email": "user@example.com",
- "province_code": "MB",
- "company": "Acme Corp."
}
], - "billing_address": {
- "platform_id": "string",
- "address_type": "commercial",
- "first_name": "John",
- "last_name": "Doe",
- "street_1": "123 North Road",
- "street_2": "string",
- "city": "string",
- "province": "Manitoba",
- "country": "Canada",
- "country_code": "CA",
- "phone": "555-555-5555",
- "postal_code": "H0H 0H0",
- "email": "user@example.com",
- "province_code": "MB",
- "company": "Acme Corp."
}, - "line_items": [
- {
- "platform_id": "string",
- "platform_product_id": "string",
- "platform_variant_id": "string",
- "cart_line_item_platform_id": "string",
- "custom_attributes": {
- "property1": {
- "description": "string",
- "value": "string"
}, - "property2": {
- "description": "string",
- "value": "string"
}
}, - "title": "Shoes (long-laced classic)",
- "sku": "string",
- "url": "string",
- "image": "string",
- "quantity": 0,
- "grams": 0,
- "weight": 0,
- "weight_unit": "string",
- "taxable": true,
- "taxes": [
- {
- "amount": "string",
- "name": "Provincial Sales Tax",
- "rate": "0.07",
- "tag": "string"
}
], - "requires_shipping": true,
- "price_per_item": "string",
- "discount_per_item": "string",
- "total": "string",
- "subtotal": "string",
- "total_tax": "string",
- "discounted_subtotal": "string"
}
], - "payments": [
- {
- "platform_id": "string",
- "transactions": [
- {
- "platform_id": "string",
- "provider_transaction_id": "string",
- "amount": "string",
- "currency": "CAD",
- "status": "initial",
- "type": "authorization"
}
], - "description": "string",
- "provider": "stripe",
- "payment_method": "credit card",
- "currency": "CAD",
- "amount_planned": "string",
- "custom_attributes": {
- "property1": {
- "description": "string",
- "value": "string"
}, - "property2": {
- "description": "string",
- "value": "string"
}
}, - "status": "string"
}
], - "order_number": "ORDER_XXYY1122",
- "platform_customer_id": "string",
- "shipping_method": "freight",
- "browser_ip": "127.0.0.1",
- "source": "POS",
- "created_via": "Bold Checkout",
- "locale": "en_US",
- "test": true,
- "notes": "string",
- "public_notes": "string",
- "custom_attributes": {
- "property1": {
- "description": "string",
- "value": "string"
}, - "property2": {
- "description": "string",
- "value": "string"
}
}, - "shipping_subtotal": "string",
- "shipping_tax": "string",
- "shipping_taxes": [
- {
- "amount": "string",
- "name": "Provincial Sales Tax",
- "rate": "0.07",
- "tag": "string"
}
], - "discount": "string",
- "subtotal": "string",
- "subtotal_tax": "string",
- "total_tax": "string",
- "total": "string",
- "refunded_amount": "string",
- "currency": "CAD",
- "order_status": "active",
- "fulfillment_status": "pending",
- "financial_status": "held_for_review",
- "placed_at": "2019-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 500
{ }
Order Deleted
Trigger this API call when an order is deleted on the platform.
Bold then queues the order - identified in the request body by the platform_id
- 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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
object (orderDeletedRequestData) | |||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "order": {
- "platform_id": "ORDER-12345",
- "platform_deleted_at": "2019-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 500
{ }
These are event notifications that are sent to Bold when a change occurs to products on the platform.
Product Saved
Trigger this API call when product data changes. This includes product creation and updates.
Bold then queues the product — in the case of an update, identified in the request body by the platform_id
— for saving. The request contains 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. Fields omitted from the request body are ignored in the Product
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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
required | object (productSavedRequestData) | ||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "product": {
- "platform_id": "abc123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "categories": [
- {
- "platform_id": "abc123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "image_url": "your_platform_connector.com/files/categories/hats.jpg",
- "name": "Hats"
}
], - "variants": [
- {
- "platform_id": "abc123456",
- "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": "abc123456",
- "option_values": [
- {
- "platform_id": "abc123456",
- "is_default": true,
- "label": "Small",
- "position": 0
}
], - "name": "Small",
- "position": 0
}
], - "images": [
- {
- "platform_id": "abc123456",
- "name": "Beach hat",
- "src": "your_platform_connector.com/files/images/beach-hat.jpg",
- "position": 0
}
], - "description": "A hat for the beach",
- "handle": "beach-hat",
- "inventory_quantity": 0,
- "inventory_tracking_entity": "variant",
- "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, pants",
- "tax_code": "non-taxable",
- "type": "physical",
- "url": "/hats/beach-hat",
- "vendor": "OFS"
}
}
}
Response samples
- 202
- 500
{ }
Product Deleted
Trigger this API call when a product is deleted on the platform.
Bold then queues the product — identified in the request body by the platform_id
— 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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
required | object (productDeletedRequestData) | ||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "product": {
- "platform_id": "string",
- "platform_deleted_at": "2019-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 500
{ }
Product Category Saved
Trigger this API call when a product category is saved on the platform.
Bold then queues the product category — identified in the request body by the platform_id
— 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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
required | object (categorySavedRequestData) | ||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "category": {
- "platform_id": "abc123456",
- "platform_updated_at": "2019-08-24T14:15:22Z",
- "image_url": "your_platform_connector.com/files/categories/hats.jpg",
- "name": "Hats"
}
}
}
Response samples
- 202
- 500
{ }
Product Category Deleted
Trigger this API call when a product category is deleted on the platform.
Bold then queues the product category — identified in the request body by the platform_id
— 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 Unique identifier of the store. This can be retrieved by calling the Get Shop Info endpoint. |
Request Body schema: application/json
required | object (categoryDeletedRequestData) | ||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "category": {
- "platform_id": "string",
- "platform_deleted_at": "2019-08-24T14:15:22Z"
}
}
}
Response samples
- 202
- 500
{ }