Skip to main content

Partners API (1.0)

Kreezalid provides an API, which makes it extremely easy for any developer to integrate external systems with a supplier or owner account.

The Partners API lets you connect your own systems (ERP, CRM, PIM, etc.) to your Kreezalid vendor account and manage your catalog and orders externally.

Kreezalid Partners API is organized around REST.

You can view code examples in the dark area to the right; switch the programming language of the examples with the tabs in the top right.

If anything is missing or seems incorrect, please contact our support team.

Getting started

Obtaining your secret key

To interact with the API, you need to have a unique, personal secret key, which is used to authenticate yourself within the API.

Token is an equivalent of the user name & password pair - once generated, it uniquely identifies your own account, so you should be careful with it and not disclosure it to any untrusted party (application).

To generate your secret key, you should:

  1. Go to your admin panel. For example: https://subdomain.mykreezalid.com/account/api-access (replace subdomain with your own subdomain)
  2. In the API access section, click on the button Generate a new API credential
  3. Note down your newly generated secret key - you are going to need it soon

Base URL

If you don't use a custom domain, you can use your custom subdomain, generated on your store creation. Be careful, the main domain name is *.mykreezalid.com. To avoid errors, you can just copy/paste the URL of your homepage:

https://subdomain.mykreezalid.com/api/partners/v1

If you already connect a custom domain, you must use it in your API calls. As we don't follow redirects, you need to precise your primary domain (with www or without www or any other subdomain):

https://your_custom_domain.tld/api/partners/v1

Rate limits

Partners API supports a limit of 40 requests per minute.

Past the limit, the API will return a 429 Too Many Requests error.

Status and error codes

All API queries return HTTP status codes that can tell you more about the response.

401 Unauthorized

The client doesn’t have correct authentication credentials. Check your Base URL is correct (w/o www.).

403 Forbidden

The server is refusing to respond.

404 Not Found

The requested resource was not found. This is typically caused by incorrect endpoint calls.

429 Too Many Requests

The client has exceeded the rate limit.

5xx Errors

An internal error occurred in Kreezalid. Our technical team has been notified.

Listings

Related to listings tag

Get listings

Retrieves a list of listings with optional filters and customizable response fields.

This endpoint returns a paginated list of listings. You can filter the results using various query parameters such as user ID, status, admin review status, category ID, and more. Additionally, you can reduce the payload size by selecting only the fields you need via the fields parameter.

Examples:

  • /listings?status=published
  • /listings?admin_status[]=waiting&admin_status[]=rejected
  • /listings?category_id=5,9&fields=id,title,price

If the fields parameter is omitted, all default fields will be included. If the fields parameter is specified, only those fields will be returned.

Authorizations:
basic
query Parameters
admin_status
string
Example: admin_status=approved,rejected,waiting or blocked

Filter by admin status. Can be a single value or a comma-separated list (e.g. approved,rejected,waiting or blocked).

category_id
string
Example: category_id=12,34

Filter by category ID(s). Can be a single ID or a comma-separated list.

fields
string
Example: fields=title,price,attributes

Comma-separated list of fields to include in the response (e.g. title,price,attributes).

order_type_id
integer
Example: order_type_id=2

Filter by order type ID.

status
string
Example: status=published,draft,archived

Filter by listing status. Can be a single value or a comma-separated list (e.g. published,draft or archived).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create listing

Authorizations:
basic
Request Body schema: application/json
required
admin_status
string
Enum: "waiting" "approved" "rejected" "blocked"

Admin validation status of the listing. Possible values: waiting (awaiting approval), approved (visible if status also published), rejected (hidden from the marketplace).

attributes
Array of any
object (Category)
category_id
required
integer

Category's unique identifier

city
string or null
country
string or null
currency
string
date_online
string <date-time>
description
string or null
external_id
string or null
lat
number or null
lng
number or null
location
string or null
min_qty
number or null
medias
string
order_type_id
required
integer

Order type's unique identifier

price
number or null <double>
price_unit
integer or null
quantity
integer or null
quantity_selector
string or null
requires_shipping
boolean
Array of objects
slug
string or null
state
string or null
status
string
Enum: "draft" "published" "archived"

Public status of the listing. Possible values: draft, published (visible), archived (hidden).

object (User resource)
supplier_id
required
integer

Supplier's unique identifier

title
required
string
object (Variant)
visibility
string
Enum: "both" "catalog" "search" "none"

Defines where the listing is displayed. Possible values: both (visible in catalog and search), catalog (only catalog), search (only search results), none (not visible).

weight
number

Responses

Request samples

Content type
application/json
{
  • "admin_status": "approved",
  • "attributes": "[]",
  • "category": {
    },
  • "category_id": 432432,
  • "city": "New York City",
  • "country": "US",
  • "currency": "USD",
  • "date_online": "2019-08-24T14:15:22Z",
  • "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla dignissim laoreet sem, quis mollis elit rutrum a. Donec nunc urna, rhoncus in sagittis ut, elementum scelerisque libero. Quisque interdum nibh nisl, non gravida nibh molestie quis. Phasellus nunc nunc, luctus a luctus ac, iaculis sit amet turpis.</p><p>Phasellus tortor orci, posuere in mi at, blandit ullamcorper tellus. Proin vel sem aliquam, faucibus dolor quis, dictum leo. Aliquam consectetur massa at ipsum auctor, at mattis nunc porttitor. Suspendisse potenti. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>",
  • "external_id": "INTERNAL_REF_234324",
  • "lat": 40.7572114,
  • "lng": -73.9913385,
  • "location": "253 W 42nd St, New York, NY 10036, United States",
  • "min_qty": 1,
  • "medias": "string",
  • "order_type_id": 986545,
  • "price": 123.5,
  • "price_unit": null,
  • "quantity": 43,
  • "quantity_selector": null,
  • "requires_shipping": true,
  • "shipping_methods": [
    ],
  • "slug": "listing-s-slug",
  • "state": "NY",
  • "status": "published",
  • "supplier": {
    },
  • "supplier_id": 655785,
  • "title": "Listing's title",
  • "variants": {
    },
  • "visibility": "both",
  • "weight": 0.8
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve listing

Authorizations:
basic
path Parameters
id
required
integer

Listing's unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": 645646,
  • "object": "Listing",
  • "admin_status": "approved",
  • "attributes": "[]",
  • "category": {
    },
  • "category_id": 432432,
  • "city": "New York City",
  • "country": "US",
  • "cover": "string",
  • "currency": "USD",
  • "date_online": "2019-08-24T14:15:22Z",
  • "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla dignissim laoreet sem, quis mollis elit rutrum a. Donec nunc urna, rhoncus in sagittis ut, elementum scelerisque libero. Quisque interdum nibh nisl, non gravida nibh molestie quis. Phasellus nunc nunc, luctus a luctus ac, iaculis sit amet turpis.</p><p>Phasellus tortor orci, posuere in mi at, blandit ullamcorper tellus. Proin vel sem aliquam, faucibus dolor quis, dictum leo. Aliquam consectetur massa at ipsum auctor, at mattis nunc porttitor. Suspendisse potenti. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>",
  • "external_id": "INTERNAL_REF_234324",
  • "lat": 40.7572114,
  • "lng": -73.9913385,
  • "location": "253 W 42nd St, New York, NY 10036, United States",
  • "min_qty": 1,
  • "medias": "string",
  • "order_type_id": 986545,
  • "price": 123.5,
  • "price_unit": null,
  • "price_with_currency": "$123.50",
  • "quantity": 43,
  • "quantity_selector": null,
  • "requires_shipping": true,
  • "shipping_methods": [
    ],
  • "slug": "listing-s-slug",
  • "state": "NY",
  • "status": "published",
  • "supplier": {
    },
  • "supplier_id": 655785,
  • "title": "Listing's title",
  • "url": "string",
  • "variants": {
    },
  • "visibility": "both",
  • "weight": 0.8
}

Delete listing

Authorizations:
basic
path Parameters
id
required
integer

Listing's unique identifier

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Listing deleted"
}

Update listing

Authorizations:
basic
path Parameters
id
required
integer

Listing's unique identifier

Request Body schema: application/json
required
admin_status
string
Enum: "waiting" "approved" "rejected" "blocked"

Admin validation status of the listing. Possible values: waiting (awaiting approval), approved (visible if status also published), rejected (hidden from the marketplace).

attributes
Array of any
object (Category)
category_id
required
integer

Category's unique identifier

city
string or null
country
string or null
currency
string
date_online
string <date-time>
description
string or null
external_id
string or null
lat
number or null
lng
number or null
location
string or null
min_qty
number or null
medias
string
order_type_id
required
integer

Order type's unique identifier

price
number or null <double>
price_unit
integer or null
quantity
integer or null
quantity_selector
string or null
requires_shipping
boolean
Array of objects
slug
string or null
state
string or null
status
string
Enum: "draft" "published" "archived"

Public status of the listing. Possible values: draft, published (visible), archived (hidden).

object (User resource)
supplier_id
required
integer

Supplier's unique identifier

title
required
string
object (Variant)
visibility
string
Enum: "both" "catalog" "search" "none"

Defines where the listing is displayed. Possible values: both (visible in catalog and search), catalog (only catalog), search (only search results), none (not visible).

weight
number

Responses

Request samples

Content type
application/json
{
  • "admin_status": "approved",
  • "attributes": "[]",
  • "category": {
    },
  • "category_id": 432432,
  • "city": "New York City",
  • "country": "US",
  • "currency": "USD",
  • "date_online": "2019-08-24T14:15:22Z",
  • "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla dignissim laoreet sem, quis mollis elit rutrum a. Donec nunc urna, rhoncus in sagittis ut, elementum scelerisque libero. Quisque interdum nibh nisl, non gravida nibh molestie quis. Phasellus nunc nunc, luctus a luctus ac, iaculis sit amet turpis.</p><p>Phasellus tortor orci, posuere in mi at, blandit ullamcorper tellus. Proin vel sem aliquam, faucibus dolor quis, dictum leo. Aliquam consectetur massa at ipsum auctor, at mattis nunc porttitor. Suspendisse potenti. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>",
  • "external_id": "INTERNAL_REF_234324",
  • "lat": 40.7572114,
  • "lng": -73.9913385,
  • "location": "253 W 42nd St, New York, NY 10036, United States",
  • "min_qty": 1,
  • "medias": "string",
  • "order_type_id": 986545,
  • "price": 123.5,
  • "price_unit": null,
  • "quantity": 43,
  • "quantity_selector": null,
  • "requires_shipping": true,
  • "shipping_methods": [
    ],
  • "slug": "listing-s-slug",
  • "state": "NY",
  • "status": "published",
  • "supplier": {
    },
  • "supplier_id": 655785,
  • "title": "Listing's title",
  • "variants": {
    },
  • "visibility": "both",
  • "weight": 0.8
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Listing has been updated"
}

Orders

An order is a customer's request to purchase one or more listings from a supplier. You can retrieve, update, add metafields and delete orders using the Orders endpoint.

Order Status

Orders are automatically created when a product is added to cart (when cart is enabled) or when the customer starts a Direct checkout. The status of the order is then draft.

You can retrieve all you abandoned carts by getting all orders created more than two hours ago and still with draft status.

After checkout, the status should be pending or new, depending on how the payment is handled. Pending status is used with non-automatic payment methods, such as bank wires, cash on delivery or checks. If the payment is made online (with cards), the status should be new if the payment succeeded, or failed if the payment fails. You can also keep the status draft if you want to let the user to retry the payment.

Contrary to e-commerce stores, on a multi-vendor marketplace you cannot be sure the Catalog is always up to date. That's why all orders should be moderated and validated on the vendor's side. Payment Service Provider (PSP) won't refund their fees if a transaction is cancelled. By capturing the funds only on vendor's acceptation, you can avoid losing money on order that are declined by vendors. When the order is reviewed and validated by the vendor, the status becomes accepted. If the order is not accepted, the status becomes declined.

Status service_provided, shipped and customer_confirmed depends on your order workflow, but you can use them in any order you like.

If the vendor cannot fulfill the order, or if the customer want to cancel the order, the status becomes canceled. If money has been captured (probably the case if the status is at least accepted), you need to handle the refund of the funds. The endpoint is not publicly available, but you can ask our support team to send you all relevant documentation to handle it.

Finally, when the order's workflow has come to an end, you can use the status completed. You can now consider the order like closed.

Notifications

No notifications sent when you update the order status through the API. You need to manually manage the sending of notifications. Please check the Notifications endpoint to learn how to send a notification.

Get orders

Authorizations:
basic
query Parameters
id
Array of strings

ID(s) to filter by

status
Array of strings
Example: status=?status=new ?status=new,closed

Status to retrieve. To filter on multiple status, separate them by comma

cart_id
integer
Example: cart_id=432644

Cart's unique identifier

supplier_id
integer
Example: supplier_id=432244

Vendor's unique identifier

customer_id
integer
Example: customer_id=432245

Customer's unique identifier

order_number
string
Example: order_number=2301FDSKFSDKL

Order number

start_on_date[value]
string <date-time>
Example: start_on_date[value]=2023-01-24

Filtering value

start_on_date[condition_type]
string
Enum: "gt" "gte" "lt" "lte" "eq" "notEq" "like" "notLike" "in" "notIn"
Example: start_on_date[condition_type]=gte

Filtering type

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve order

View method

Authorizations:
basic
path Parameters
id
required
integer

ID of your order

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update an order

Authorizations:
basic
path Parameters
id
required
integer

Order's unique identifier

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Order updated"
}

Shipping rates

Shipping rates are what you charge your customer in addition to the cost of the listings that they order. The cost of any shipping rates are added to a customer's order at checkout.

Retrieve a list of shipping rates

Authorizations:
basic

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a shipping rate

Authorizations:
basic
path Parameters
id
required
integer

ID of your shipping rate.

Responses

Response samples

Content type
application/json
{
  • "id": "432424",
  • "price": "6.95",
  • "step_price": "1.45",
  • "always_selected": true,
  • "title": "Standard",
  • "tracking_number": null,
  • "tracking_url": null
}