Merchant cart
Create a cart
Prices the cart from the shop's catalog (shipping and tax included) and validates it. A valid cart
comes back CREATED with payment_method.approval_url: send the buyer there to approve in PayPal.
An invalid one comes back INCOMPLETE with validation_issues, each with resolution_options
an agent can apply before calling updateCart.
Path Parameters
slug*string
The shop, e.g. maya-ceramics
Length
length <= 80Header Parameters
X-Sayso-Channel?string
Which assistant or platform is shopping, shown to the shop owner (e.g. "chatgpt").
Length
length <= 40Request Body
application/json
items*array<>
Items
1 <= itemsshipping_address?
billing_address?
customer?
available_shipping_options?array<>
Mark one is_selected to pick it; the rest is ignored.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/shops/string/merchant-cart" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "quantity": 1 } ] }'{ "id": "string", "status": "CREATED", "validation_status": "VALID", "validation_issues": [ { "code": "INVENTORY_ISSUE", "type": "MISSING_FIELD", "message": "string", "user_message": "string", "variant_id": "string", "field": "string", "context": {}, "resolution_options": [ { "action": "REDUCE_QUANTITY", "label": "Buy 1 instead", "metadata": { "priority": 0, "auto_applicable": true, "cost_impact": { "currency_code": "USD", "value": "44.99" } } } ] } ], "items": [ { "variant_id": "var_mug_sage", "quantity": 1, "parent_id": "string", "name": "string", "description": "string", "price": { "currency_code": "USD", "value": "44.99" }, "selected_attributes": [ { "name": "string", "value": "string" } ] } ], "totals": { "subtotal": { "currency_code": "USD", "value": "44.99" }, "shipping": { "currency_code": "USD", "value": "44.99" }, "tax": { "currency_code": "USD", "value": "44.99" }, "discount": { "currency_code": "USD", "value": "44.99" }, "total": { "currency_code": "USD", "value": "44.99" } }, "available_shipping_options": [ { "id": "string", "name": "string", "price": { "currency_code": "USD", "value": "44.99" }, "is_selected": true, "description": "string", "estimated_delivery": "2019-08-24" } ], "customer": { "email_address": "string", "phone": "string", "name": { "given_name": "string", "surname": "string" } }, "shipping_address": { "address_line_1": "string", "address_line_2": "string", "admin_area_2": "string", "admin_area_1": "string", "postal_code": "string", "country_code": "string" }, "billing_address": { "address_line_1": "string", "address_line_2": "string", "admin_area_2": "string", "admin_area_1": "string", "postal_code": "string", "country_code": "string" }, "payment_method": { "type": "paypal", "token": "string", "payer_id": "string", "approval_url": "string" }}