Appearance
Cart
This section documents all API endpoints related to managing shopping carts. Here you will find details on how to create, update, delete, search, and retrieve carts, as well as how to manage the products associated with each cart.
Get Single
Request Method:
GET
URL Endpoint:
/merchant/{ merchantid }/cart/{ cartid }
json
{
"status": "success",
"msg": "success",
"data": {
"id": "d0doh5fsvrvasm390u6g",
"merchant_id": "testmerchant12345678",
"card_processor_id": "",
"ach_processor_id": "",
"name": "initiatives",
"description": "sample cart description",
"type": "normal",
"custom_fields_group": "default",
"products": [
{
"id": "d0doh5fsvrvasm390u30",
"public_hash": "fe254495-bca4-4d2b-9960-da166ae5f36f",
"merchant_id": "testmerchant12345678",
"sku": "dbb3fd7a-31f0-4431-8a55-1a1935844c64",
"name": "bleeding-edge",
"img": "https://picsum.photos/250/159",
"price": 233,
"local_tax": 225,
"national_tax": 210,
"fixed_amount": true,
"fixed_qty": false,
"unit_of_measure": null,
"description": "sample product description",
"created_at": "2025-05-07T16:21:42Z",
"updated_at": "2025-05-07T16:21:42Z",
"deleted_at": null
},
...
],
"show_available_products": true,
"require_shipping_details": false,
"email_receipt": false,
"payments": ["card", "ach"],
"success_url": "http://www.futureb2b.info/streamline/rich",
"cancel_url": "http://www.districtcollaborative.net/expedite",
"settings": {
"product_subtitle_verbiage": "Products",
"save_customer_vault": "none"
},
"created_at": "2025-05-07T16:21:42Z",
"updated_at": "2025-05-07T16:21:42Z",
"deleted_at": null
}
}
Search
Request Method:
POST
URL Endpoint:
/merchant/{ merchantid }/cart/search
QuerySearchString: Operator can be
=
,!=
QuerySearchInt: Operator can be
=
,!=
,<
,>
json
Example Body
{
"{name}": {
"operator": "=", // =, !=, <, >
"value": "{value}"
}
}
Name | Type | Description |
---|---|---|
id | QuerySearchString | Searches for id |
name | QuerySearchString | Searches for name |
product | QuerySearchString | Searches for product name |
created_at | QueryDateRange | Searches for created_at |
updated_at | QueryDateRange | Searches for updated_at |
deleted_at | QueryDateRange | Searches for deleted_at |
limit | integer | Maximum records to return (0-100) |
offset | integer | Number of records to offset the return by |
Get All
Request Method:
GET
URL Endpoint:
/merchant/{ merchantid }/cart
json
{
"status": "success",
"msg": "success",
"data": [
{
"id": "d0doh5fsvrvasm390u6g",
"public_hash": "2c2b1b32-c00e-4caa-9931-a21d1e4a8cc1",
"merchant_id": "testmerchant12345678",
"card_processor_id": null,
"ach_processor_id": null,
"name": "initiatives",
"description": "sample description",
"type": "normal",
"custom_fields_group": "default",
"payments": ["card", "ach"],
"products": [
"d0doh5fsvrvasm390u30",
"d0doh5fsvrvasm390u3g",
"d0doh5fsvrvasm390u40",
"d0doh5fsvrvasm390u4g",
"d0doh5fsvrvasm390u50",
"d0doh5fsvrvasm390u5g",
"d0doh5fsvrvasm390u60"
],
"show_available_products": true,
"require_shipping_details": false,
"email_receipt": false,
"success_url": "",
"cancel_url": "",
"settings": null,
"created_at": "2025-05-07T16:21:42Z",
"updated_at": "2025-05-07T16:21:42Z",
"deleted_at": null
},
...
]
}
Create
Request Method:
POST
URL Endpoint:
/merchant/{ merchantid }/cart
Name | Type | Description | Required |
---|---|---|---|
type | string | normal or donation | true |
name | string | between 1 and 100 characters | true |
description | string | cart description | false |
custom_fields_group | string | must be less than 255 characters | false |
card_processor_id | string | ^[0-9a-v]{20}$ | false |
ach_processor_id | string | ^[0-9a-v]{20}$ | false |
success_url | string | must be valid URL | false |
cancel_url | string | must be valid URL | false |
show_available_products | bool | false | |
require_shipping_details | bool | false | |
email_receipt | bool | false |
Update
Request Method:
POST
URL Endpoint:
/merchant/{ merchantid }/cart/{ cartid }
json
{
"name": "initiatives",
"description": "sample description",
"type": "normal",
"custom_fields_group": "default",
"payments": ["card", "ach"],
"products": ["product1", "product2", "product3", "product4"],
"show_available_products": false,
"require_shipping_details": false,
"email_receipt": false,
"success_url": "",
"cancel_url": "",
"settings": null
}
Delete
Request Method:
DELETE
URL Endpoint:
/merchant/{ merchantid }/cart/{ cartid }
json
{
"status": "success",
"msg": "success",
"data": "Deleted cart"
}
Products
This section covers API endpoints for managing products. You will find information on how to create, update, delete, search, and retrieve individual or multiple products that can be added to carts.
Get Single
Request Method:
GET
URL Endpoint:
/api/merchant/{ merchantid }/product/{ productid }
json
{
"status": "success",
"msg": "success",
"data": {
"id": "d0ecs87svrvfjfvijd70",
"public_hash": "f164740d-1005-4f9a-b958-111e4704840f",
"merchant_id": "testmerchant12345678",
"sku": "acdfd73e-9fae-45ab-8c5e-c6a6920aff30",
"name": "applications",
"img": "https://picsum.photos/244/223",
"price": 708,
"local_tax": 388,
"national_tax": 444,
"fixed_amount": true,
"fixed_qty": false,
"unit_of_measure": null,
"description": "Train his child does camp terribly myself pride us yet. Moonlight handle publicity shall keep those watch drag truthfully anyone. Bravo tasty these to has rarely soon capture as quarterly.",
"created_at": "2025-05-08T15:30:41Z",
"updated_at": "2025-05-08T15:30:41Z",
"deleted_at": null
}
}
Search
Request Method:
POST
URL Endpoint:
/api/merchant/{ merchantid }/product/search
QuerySearchString: Operator can be
=
,!=
QuerySearchInt: Operator can be
=
,!=
,<
,>
json
Example Body
{
"{name}": {
"operator": "=", // =, !=, <, >
"value": "{value}"
}
}
Name | Type | Description |
---|---|---|
id | QuerySearchString | Searches for id |
name | QuerySearchString | Searches for name |
price | QuerySearchInt | Searches by price |
created_at | QueryDateRange | Searches for created_at |
updated_at | QueryDateRange | Searches for updated_at |
deleted_at | QueryDateRange | Searches for deleted_at |
limit | integer | Maximum records to return (0-100) |
offset | integer | Number of records to offset the return by |
Get All
Request Method:
GET
URL Endpoint:
/api/merchant/{ merchantid }/product
== Sample Response Body
json
{
"status": "success",
"msg": "success",
"data": [
{
"id": "d0ecs87svrvfjfvijd70",
"public_hash": "f164740d-1005-4f9a-b958-111e4704840f",
"merchant_id": "testmerchant12345678",
"sku": "acdfd73e-9fae-45ab-8c5e-c6a6920aff30",
"name": "applications",
"img": "https://picsum.photos/244/223",
"price": 708,
"local_tax": 388,
"national_tax": 444,
"fixed_amount": true,
"fixed_qty": false,
"unit_of_measure": null,
"description": "sample description",
"created_at": "2025-05-08T15:30:41Z",
"updated_at": "2025-05-08T15:30:41Z",
"deleted_at": null
},
...
]
}
== Code
:::
Create
Request Method:
POST
URL Endpoint:
/api/merchant/{merchantid}/product
Name | Type | Default | Description | Required | Regex |
---|---|---|---|---|---|
sku | string | Product Sku | true | ([0-9a-z]{0-20}) | |
name | string | display name | true | ([0-9a-z -]{0-100}) | |
img | string | product image (base64 encoded) | false | ||
price | unsigned int | unit price | true | ([0-9a-z -]{0-100}) | |
fixed_amount | boolean | should we lock the amount or allow the end user to customize the amount | true | ||
fixed_qty | boolean | should we lock the quantity or allow the end user to customize the quantity | true | ||
description | string | item description | true | 254 characters |
Update
Request Method:
POST
URL Endpoint:
/api/merchant/{ merchantid }/product/{ productid }
json
{
"sku": "PRODUCTSKU",
"name": "TESTPRODUCT",
"img": "",
"price": 100,
"fixed_amount": false,
"fixed_qty": false,
"description": "DESCRIPTION GOES HERE"
}
Delete
Request Method:
DELETE
URL Endpoint:
/api/merchant/{ merchantid }/product/{ productid }
json
{
"status": "success",
"msg": "success",
"data": "Deleted product"
}