Skip to content

catalog

POST

Callout catalog: asks your endpoint for the items a viewer can buy from a seller.

webhook-id
required
string

Unique id of this delivery. Deduplicate on it.

webhook-timestamp
required
string

Unix time in seconds when the delivery was signed.

webhook-signature
required
string

Standard Webhooks signature, v1,<base64 HMAC-SHA256> of id.timestamp.body.

webhook-type
required
string

Always catalog.

Media typeapplication/json
CatalogRequest

Callout catalog: asks your endpoint for the items a viewer can buy from a seller.

object
conversation_id
required
Conversation Id

Conversation the catalog is opened from.

string format: uuid
lang
required
Lang

Language of the viewer.

string
seller
required
Seller

External id of the seller.

string
viewer
required
Viewer

External id of the user viewing the catalog.

string

Example generated

{
"conversation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"lang": "example",
"seller": "example",
"viewer": "example"
}

The answer we use

Media typeapplication/json
CatalogResponse

Your answer to the catalog callout.

object
balance
Any of:
Balance

The buyer’s balance with you.

object
amount_minor
required
Amount Minor

The balance in minor units.

integer
currency
required
Currency

ISO 4217 currency of the balance.

string
/^[A-Z]{3}$/
label
Any of:
string
items
required
Items

Items the viewer can buy.

Array<object>
CatalogItem

Something a buyer can purchase from a seller.

object
currency
required
Currency

ISO 4217 currency of the price.

string
/^[A-Z]{3}$/
description
Any of:
string
<= 2000 characters
id
required
Id

The item’s id on your side.

string
>= 1 characters <= 128 characters
image_url
Any of:
string
<= 2048 characters /^https://\S+$/
kind
required
Kind

The item’s kind, for example show or video.

string
>= 1 characters <= 64 characters
price_minor
required
Price Minor

The price in minor units, 1500 for 15.00.

integer
title
required
Title

The item’s name.

string
>= 1 characters <= 200 characters

Example

{
"balance": null,
"items": [
{
"currency": "EUR",
"description": "20 minutes",
"id": "private-show",
"kind": "show",
"price_minor": 1500,
"title": "Private show"
}
]
}