Flowwow Seller API

The Flowwow API enables sellers to automate operations with their shops and items: retrieve a list of shops, manage assortment, pricing, and stock levels, and process orders, non-pickups, and returns.

Creating and using an API key token

The Seller API is currently in closed beta testing. Once it becomes publicly available, this information will be updated.

Ping

API status check methods. Designed to verify API availability and test how different types of server responses are handled.

API validation

Returns the server response type based on the value of the say query parameter.

Request

API availability check method: GET /apiseller/ping/check.

Parameter

Type

Required

Description

say

string

yes

Specifies the type of response the server will return.

Example: say=Hello

Allowed values say: hello, error400, error401, error403, error404, error429, error500.

Parameter value

Description

Action

hello

Campaign is active

Standard server response (200)

error400

Client error 400

Simulates a 400 client error

error401

Client error 401

Simulates a 401 client error

error403

Client error 403

Simulates a 403 client error

error404

Client error 404

Simulates a 404 client error

error429

Client error 429

Simulates a 429 client error

error500

Server error 500

Simulates a 500 client error

Responses

Server response types: 200 Success, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error.

Format: application/json.

Status

Field

Type

Required

Description

Example response

200 Success

say

string

yes

Server response

{ "say": "hello" }

400 Bad Request

message

string

yes

General error description

{ "message": "Query param 'say' is empty", "fields": [ { "path": "say", "messages": [ "Query param 'say' is empty" ] } ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of string

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

401 Unauthorized

message

string

yes

General error description

{ "message": "Missing or invalid token" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

403 Forbidden

message

string

yes

General error description

{ "message": "Access denied", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

404 Not Found

message

string

yes

General error description

{ "message": "Resource not found", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

429 Too Many Requests

Retry-After (header)

integer ≥ 0

no

Number of seconds before retrying the request

{ "message": "Too Many Requests", "fields": [] }

message

string

yes

General error description

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

500 Internal Server Error

message

string

yes

General error description

{ "message": "Internal server error" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Shop

Warehouses or holding shops information.

View shop list

Returns a list of shops for a holding, or a single shop in other cases.

To use the API, you must authenticate using a bearerToken that allows the server to identify the seller.

  • HTTP: bearerToken.

  • Authorization scheme: bearer.

  • Token format: JWT.

Request

Example: { "status": "moderation", "shopIds": [ 101 ], "page": 0, "limit": 10 }

Format: application/json.

The request structure is shown below:

Field

Type

Required

Description

Example response

status

string (ShopStatus)

yes

Shop status. Allowed values: "moderation", "active", "disabled".

moderation – under review active – active disabled – deactivated

{ "status": "moderation", "shopIds": [ 101 ], "page": 0, "limit": 10 }

shopIds

array of integers (ShopId) [ 1 .. 1000 ] items [ items ]

no

List of shop IDs

page

integer ≥ 0

no

Page number. Pagination starts from 0. Default: 0

limit

integer [1..50]

no

Number of items in the response. Maximum – 50, minimum – 1. Default: 10

Responses

Server response types: 200 Success, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error.

Format: application/json.

Status

Field

Type

Required

Description

Example response

200 Success

shops

array of objects (ShopItem)

yes

List of shops

{ "shops": [ { "shopId": 101, "name": "Мой магазин", "status": "moderation", "address": "г. Москва, ул. Ленина, д. 1", "currency": "RUB", "isVerified": true, "workingDays": [ "1", "2", "3", "4", "5" ] } ], "total": 0 }

shops[].shopId

integer <int32>(ShopId)

yes

Flowwow platform shop ID

shops[].name

string

yes

Shop name on the Flowwow platform

shops[].status

string (ShopStatus)

yes

Shop status:"moderation" – under review, "active" – active, "disabled" –deactivated

shops[].address

string

yes

Shop address on the Flowwow platform

shops[].currency

string

no

Shop currency in ISO 4217 format

shops[].isVerified

boolean

no

Indicates whether the shop is verified on the Flowwow platform

shops[].workingDays

array of string

no

Working days (Allowed values: "1".."7"). If not specified, an empty array is returned

total

integer

no

Total number of shops

400 Bad Request

message

string

yes

General error description

{ "message": "Query param 'say' is empty", "fields": [ { "path":

"say", "messages":

[ "Query param 'say' is empty" ] } ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of string

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

401 Unauthorized

message

string

yes

General error description

{ "message": "Missing or invalid token" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

403 Forbidden

message

string

yes

General error description

{ "message": "Access denied", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

404 Not Found

message

string

yes

General error description

{ "message": "Resource not found", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

429 Too Many Requests

Retry-After (header)

integer ≥ 0

no

Number of seconds before retrying the request

{ "message": "Too Many Requests", "fields": [] }

message

string

yes

General error description

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

500 Internal Server Error

message

string

yes

General error description

{ "message": "Internal server error" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Products

Adding, viewing, editing, and managing the visibility of items.

To use the API, you must authenticate using a bearerToken that allows the server to identify the seller.

  • HTTP: bearerToken.

  • Authorization scheme: bearer.

  • Token format: JWT.

The item list is determined by the value of the shopId. The shopId is also available in the Flowwow seller dashboard.

Parameter

Type

Required

Description

shopId

integer <int32> [1 .. 4294967295]

yes

Warehouse or shop ID

Example: shopId=123456

Retrieve shop items

Returns a list of shop items with filtering options. Pagination is supported.

Request

API request method: POST /apiseller/products.

The request structure is shown below. Format: application/json:

Field

Type

Required

Description

Example

offerIds

array of strings or null (OfferId) [1 .. 1000], items ≤ 50 символов

no

List of item IDs in the shop system

{ "offerIds": [ "FLOW-001", "FLOW-002" ], "productIds": [ 123, 456 ], "categoryIds": [ 1, 2 ], "type": 1, "page": 0, "limit": 20 }

productIds

array of integers or null <int32> (ProductId) [1 .. 1000], items ≥ 1

no

Item IDs in the Flowwow system

categoryIds

array of integers <int64> (CategoryId) [1 .. 1000]

no

Category IDs in the Flowwow system

type

integer

no

Item type in the Flowwow system

page

integer ≥ 0

no

Page number. Pagination starts from 0. Default: 0

limit

integer [1 .. 1000]

no

Number of items in the response. Minimum – 1, maximum – 1000. Default: 10

Responses

Server response types: 200 OK, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error.

Format: application/json.

Status

Field

Type

Required

Description

Example response

200 OK

items

array of objects (ProductItem)

yes

List of items

{ "items": [ { "offerId": "FLOW-0001", "productId": 123, "isActive": true, "type": 1, "categoryId": 1002001, "subCategoryId": 100200101, "name": "Букет роз «Классика»", "description": "Классический букет из 21 красной розы", "url": "https://flowwow.com/product/buket-roz-klassika", "available": 99999, "stock": 100, "minOrder": 1, "price": "1990.00", "discount": "10", "currencyCode": "RUB", "images": [ "https://cdn.example.com/images/flow-0001-1.png" ], "productionTime": 60, "shipmentTime": 120, "canRent": 0, "originalId": 0, "isDeliveryPost": false, "isStarred": true, "vat": "20" } ], "total": 150 }

items[].offerId

string or null (OfferId) ≤ 50 characters

yes

Item ID in the seller’s system

items[].productId

integer or null <int32> ≥ 1

yes

Item ID in the Flowwow system

items[].isActive

boolean

yes

Indicates whether the item is active. Default: true

items[].type

integer <int32> ≥ 0

yes

Item type. Allowed values: 1–3. 1 – regular item 2 – ready-made item (no assembly required) 3 – add-on item (can be bundled with another item)

items[].categoryId

integer <int64> (CategoryId)

yes

Category ID

items[].subCategoryId

integer <int64> (SubCategoryId)

no

Subcategory ID

items[].name

string ≤ 500 characters

yes

Item name

items[].description

string or null ≤ 20000 characters

yes

Detailed item description

items[].url

string ≤ 20000 characters

no

Item page URL on Flowwow (customer-facing)

items[].available

integer ≥ 0

no

Item availability

items[].stock

integer ≥ 0

no

Stock quantity

items[].minOrder

integer ≥ 0

no

Minimum order quantity

items[].price

string (PriceString) ^[0-9]+(.[0-9]{1,2})?$

yes

Price before discount. Decimal separator: dot

items[].discount

string (DiscountString) ^[0-9]+$

no

Discount percentage

items[].currencyCode

string (CurrencyCode)

no

Shop currency code (ISO 4217). Allowed values: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BRL" "BSD" "BTC" "BTN" "BWP" "BYN" "BYR" "BZD" "CAD" "CDF" "CHF" "CLF" "CLP" "CNY" "COP" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DZD" "EEK" "EGP" "ERN" "ETB" "EUR" "FJD" "FKP" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MTL" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "STD" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TWD" "TZS" "UAH" "UGX" "USD" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XCD" "XDR" "XOF" "XPD" "XPF" "XPT" "YER" "ZAR" "ZMK" "ZMW" "ZWL"

items[].images

array of strings <uri> [ items <uri > ]

no

Image URLs

items[].productionTime

integer ≥ 0

no

Production time in minutes

items[].shipmentTime

integer ≥ 0

no

Delivery time in minutes

items[].canRent

integer <int32> ≥ 0

no

Rental status. Allowed values: 0–2. 0 – rental disabled by owner (default) 1 – rental enabled by owner 2 – rental disabled by Flowwow

items[].originalId

integer <int32> ≥ 0

no

Original item ID. If ≠ 0, the item is rented

items[].isDeliveryPost

boolean

no

Delivered by post. Default: false

items[].isStarred

boolean

no

Indicates whether the item is starred. Default: false

items[].vat

string

no

VAT percentage rate. Default: 0

total

integer

no

Total number of items (without pagination)

400 Bad Request

message

string

yes

General error description

{ "message": "Query param 'say' is empty", "fields": [ { "path": "say", "messages": [ "Query param 'say' is empty" ] } ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of string

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

401 Unauthorized

message

string

yes

General error description

{ "message": "Missing or invalid token" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

403 Forbidden

message

string

yes

General error description

{ "message": "Access denied", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

404 Not Found

message

string

yes

General error description

{ "message": "Resource not found", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

429 Too Many Requests

Retry-After (header)

integer ≥ 0

no

Number of seconds before retrying the request

{ "message": "Too Many Requests", "fields": [] }

message

string

yes

General error description

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

yes

Error trace (not available in LIVE environment)

500 Internal Server Error

message

string

yes

General error description

{ "message": "Internal server error" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Imports items from the seller’s shop into the Flowwow marketplace by linking them to existing items using their identifiers.

  • If an item with the specified productId does not exist for the shop in the Flowwow system, an error will be returned for that item.

  • If duplicate offerId or productId, pairs are included in the same request, all such pairs are considered invalid and will not be processed. Partial processing is not performed for conflicting pairs — each pair will be returned in the errors array.

  • If ID pairs that have already been linked are submitted again, those pairs will not be processed.

Request

API request method: POST /apiseller/products/offersMappings.

The request structure is shown below. Format: application/json:

Field

Type

Required

Description

Example

offers

array of objects [0 .. 1000]

yes

Shop item to Flowwow item link

{ "offers": [ { "offerId": "FLOW-0001", "productId": 83418243 } ] }

offers[].offerId

string or null (OfferId) ≤ 50 characters

yes

Item ID in the seller system

offers[].productId

integer or null <int32> (ProductId) ≥ 1

yes

Item ID in the Flowwow system

Responses

Server response types: 200 OK, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error.

Format: application/json.

Status

Field

Type

Required

Description

Example response

200 OK

shopId

integer

yes

ID of the requested shop. Processing of offerId and productId pairs is performed only within this shop

{ "shopId": 0, "summary": { "total": 13, "success": 8, "failed": 5, "created": 4, "updated": 0, "relinked": 2, "unchanged": 2 }, "data": [ { "offerId": "FLOW-0001", "productId": 83418243, "isActive": true, "type": 1, "categoryId": 54, "subCategoryId": 112, "name": "Букет из роз", "description": "Красивый букет из свежих роз.", "url": "https://flowwow.com/product/12345", "available": 1, "stock": 10, "minOrder": 1, "price": "1990.00", "discount": "20", "currencyCode": "RUB", "images": [ "http://example.comarrow-up-right " ], "productionTime": 0, "shipmentTime": 0, "canRent": 1, "originalId": 7123456, "isDeliveryPost": true, "isStarred": true, "vat": "10" } ], "errors": [ { "offerId": "FLOW-0001", "productId": 83418243, "message": "У данной пары есть дубль с другим productId или offerId в запросе" } ] }

summary

object

yes

Summary statistics of processed records

summary[].total

integer

yes

Total number of processed records (success + failed)

summary[].success

integer

yes

Number of successfully processed records (created + updated + relinked + unchanged)

summary[].failed

integer

yes

Number of records that failed processing

summary[].created

integer

yes

Number of newly created links

summary[].updated

integer

yes

Number of updated records without changing the link pair

summary[].relinked

integer

yes

Number of updated link pairs

summary[].unchanged

integer

yes

Number of unchanged records and links

data

array of objects (ProductItem)

yes

Set of items with shortened information

data[].offerId

string or null (OfferId) ≤ 50 characters

yes

Item ID in the seller system

data[].productId

integer or null ≥ 1

yes

Item ID in the Flowwow system

data[].isActive

boolean

yes

Whether the item is active. Default: true

data[].type

integer ≥ 0

yes

Item type. Allowed values: 1–3. 1 – regular item, 2 – ready-made item (no assembly required), 3 – add-on item that can be bundled with another item

data[].categoryId

integer <int64> (CategoryId)

yes

Category ID

data[].subCategoryId

integer <int64> (SubCategoryId)

no

Subcategory ID

data[].name

string ≤ 500 characters

yes

Item name

data[].description

string or null ≤ 20000 characters

yes

Detailed item description

data[].url

string ≤ 20000 characters

no

Customer-facing item URL on Flowwow

data[].available

integer ≥ 0

no

Item availability

data[].stock

integer ≥ 0

no

Stock quantity

data[].minOrder

integer ≥ 0

no

Minimum order quantity

data[].price

string (PriceString) ^[0-9]+(\.[0-9]{1,2})?$

yes

Price before discount. Decimal separator: dot

data[].discount

string (DiscountString) ^[0-9]+$

no

Discount percentage (integer)

data[].currencyCode

string (CurrencyCode)

no

Shop currency code (ISO 4217). Allowed values: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BRL" "BSD" "BTC" "BTN" "BWP" "BYN" "BYR" "BZD" "CAD" "CDF" "CHF" "CLF" "CLP" "CNY" "COP" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DZD" "EEK" "EGP" "ERN" "ETB" "EUR" "FJD" "FKP" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MTL" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "STD" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TWD" "TZS" "UAH" "UGX" "USD" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XCD" "XDR" "XOF" "XPD" "XPF" "XPT" "YER" "ZAR" "ZMK" "ZMW" "ZWL"

data[].images

Array of strings <uri> [ items <uri > ]

no

Image URLs

data[].productionTime

integer ≥ 0

no

Production time in minutes

data[].shipmentTime

integer ≥ 0

no

Delivery time in minutes

data[].canRent

integer ≥ 0

no

Rental status. Allowed values: 0–2. 0 – rental disabled by owner (default), 1 – rental enabled by owner, 2 – rental disabled by Flowwow

data[].originalId

integer ≥ 0

no

Original item ID. If not 0, the item is rented

data[].isDeliveryPost

boolean

no

Delivered by post. Default: false

data[].isStarred

boolean

no

Starred item. Promoted more actively

data[].vat

string

no

VAT rate percentage. Default: "0"

errors

array of objects

no

Set of items with shortened information

400 Bad Request

message

string

yes

General error description

{ "message": "Query param 'say' is empty", "fields": [ { "path": "say", "messages": [ "Query param 'say' is empty" ] } ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of string

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

401 Unauthorized

message

string

yes

General error description

{ "message": "Missing or invalid token" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

403 Forbidden

message

string

yes

General error description

{ "message": "Access denied", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

404 Not Found

message

string

yes

General error description

{ "message": "Resource not found","fields": [ ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

429 Too Many Requests

Retry-After (header)

integer ≥ 0

no

Number of seconds before retrying the request

{ "message": "Too Many Requests", "fields": [] }

message

string

yes

General error description

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

500 Internal Server Error

message

string

yes

General error description

{ "message": "Internal server error" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Stocks

Item stock levels in shop warehouses.

To use the API, you must authenticate with a bearer token that allows the server to identify the seller.

  • HTTP: bearerToken.

  • Authorization scheme: bearer.

  • Token format: JWT.

The item list depends on the value of the shopId query parameter. The shopId is also available in the Flowwow seller dashboard.

Parameter

Type

Required

Description

shopId

integer <int32> [1 .. 4294967295]

yes

Warehouse or shop ID

Exapmle: shopId=123456

View item stock levels

Returns stock information for items in the seller’s shop from the Flowwow marketplace.

Request

API request method: POST /apiseller/stocks/get.

The request structure is shown below. Format: application/json:

Field

Type

Required

Description

Example

offers

array of objects [1 .. 1000]

yes

Information about items in warehouses

{ "offers": [ { "offerId": "FLOW-0001" } ] }

offers[].offerId

string or null (OfferId) ≤ 50 characters

yes

Item ID in the seller system

Responses

Server response types: 200 OK, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error.

Format: application/json.

Status

Field

Type

Required

Description

Example response

200 OK

shopId

integer <int32> (schemas-ShopId) ≥ 1

yes

Shop ID

{ "shopId": 260, "data": [ { "offerId": "FLOW-0001", "productId": 83418243, "stock": 13 } ], "errors": [ null ] }

data

array of objects [ 0 .. 1000 ] items

yes

List of items with stock information

data[].offerId

string or null (OfferId) ≤ 50 characters

no

Item ID in the seller system

data[].productId

integer or null <int32> (ProductId) ≥ 1

no

Item ID in the Flowwow system

data[].stock

integer <int32> (StockCount) ≥ 0

yes

Available stock quantity, excluding reserved items

errors

array

yes

List of errors

400 Bad Request

message

string

yes

General error description

{ "message": "Query param 'say' is empty", "fields": [ { "path": "say", "messages": [ "Query param 'say' is empty" ] } ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of string

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

401 Unauthorized

message

string

yes

General error description

{ "message": "Missing or invalid token" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

403 Forbidden

trace

object / null

no

Error trace (not available in LIVE environment)

{ "message": "Access denied", "fields": [] }

message

string

yes

General error description

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

404 Not Found

message

string

yes

General error description

{ "message": "Resource not found", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

429 Too Many Requests

Retry-After (header)

integer ≥ 0

no

Number of seconds before retrying the request

{ "message": "Too Many Requests", "fields": [] }

message

string

yes

General error description

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

500 Internal Server Error

message

string

yes

General error description

{ "message": "Internal server error" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Update item stock levels

Updates stock information for items in the seller’s shop in the Flowwow marketplace.

Request

API request method: PUT /apiseller/stocks/put.

The request structure is shown below. Format: application/json

Field

Type

Required

Description

Example

offers

array of objects [0 .. 1000]

yes

Item stock data

{ "offers": [ { "offerId": "FLOW-0001", "stock": 13 } ] }

offers[].offerId

string or null (OfferId) ≤ 50 characters

yes

Item ID in the seller system

offers[].stock

integer <int32> (StockCount) ≥ 0

yes

Available stock quantity, excluding reserved items

Responses

Server response types: 200 OK, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error.

Format: application/json.

Status

Field

Type

Required

Description

Example response

200 OK

shopId

integer <int32> (ShopId) ≥ 1

yes

Shop ID

{ "shopId": 260, "data": [ { "offerId": "FLOW-0001", "productId": 83418243, "stock": 13, "updated": true } ], "errors": [ { "offerId": "FLOW-0001", "productId": 83418243, "stock": 13, "message": "string" } ] }

data

array of objects [1 .. 1000]

yes

List of processed item stock records

data[].offerId

string or null (OfferId) ≤ 50 characters

no

Item ID in the seller system

data[].productId

integer or null <int32> (ProductId) ≥ 1

no

Item ID in the Flowwow system

data[].stock

integer <int32> (StockCount) ≥ 0

yes

Available stock quantity, excluding reserved items

data[].updated

boolean

yes

Indicates whether the item stock was updated

errors

array of objects [0 .. 1000]

no

List of errors

errors[].offerId

string or null (OfferId) ≤ 50 characters

no

Item ID in the seller system

errors[].productId

integer or null <int32> (ProductId) ≥ 1

no

Item ID in the Flowwow system

errors[].stock

integer <int32> (StockCount) ≥ 0

no

Submitted stock quantity

errors[].message

string

yes

Error description

400 Bad Request

message

string

yes

General error description

{ "message": "Query param 'say' is empty", "fields": [ { "path": "say", "messages": [ "Query param 'say' is empty" ] } ] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of string

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

401 Unauthorized

message

string

yes

General error description

{ "message": "Missing or invalid token" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

403 Forbidden

message

string

yes

General error description

{ "message": "Access denied", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

404 Not Found

message

string

yes

General error description

{ "message": "Resource not found", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Retry-After (header)

integer ≥ 0

no

Number of seconds before retrying the request

429 Too Many Requests

message

string

yes

General error description

{ "message": "Too Many Requests", "fields": [] }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

500 Internal Server Error

message

string

yes

General error description

{ "message": "Internal server error" }

fields

array of objects (fields)

no

List of additional field validation errors

fields[].path

string

yes

Field where the error occurred

fields[].messages

array of strings

yes

List of field error messages

trace

object / null

no

Error trace (not available in LIVE environment)

Last updated