Flash Crypto Shop

FLASH CRYPTO

Документация

ruen
← Вся документация

Reseller API

HTTP API, чтобы заказывать выдачу Flash-токенов из своего бота или сайта. После оплаты в магазин токены уходят на адрес получателя.

Саморегистрации нет. Ключ выдаёт администратор магазина и присылает его вам лично.

Базовый адрес

Все методы реселлера живут на домене магазина в /api/v1.

https://flashcryptoshop.com/api/v1

Доступ

Все методы кроме GET /api/v1 требуют ключ. Заголовок Authorization: Bearer fcs_… или X-Api-Key: fcs_…. CORS: * для GET, POST, OPTIONS. Тела — JSON, Content-Type: application/json. Цены в каталоге — те, что заданы для ключа (discount_percent и wholesaleTiers). Authorization: Bearer fcs_…

Как проходит продажа

  1. GET catalog — product, flash_token, minTokens, wholesaleTiers, payMethods.
  2. POST orders с address клиента и token_amount. Можно сразу pay_currency.
  3. Клиенту показываете оплату у себя. В магазин платите wallet+amount (ончейн) или invoice_url.
  4. TON / USDT (TON): memo = order_id, иначе платёж не засчитается.
  5. POST …/check после оплаты. Токены уходят на address. Дальше GET заказа или webhook.

Общие ошибки

Тело ошибки всегда { "error": "…" }. Ниже — коды, которые бывают на любом защищённом методе.

401 Missing or invalid API key — Нет ключа, не fcs_… или неверный секрет.

401 Invalid API key — Хеш ключа не найден.

403 API key is disabled — Ключ выключен в админке.

429 Too many requests — Лимит: каталог/чтение 120/мин, создание и pay/invoice 30/мин, check 40/мин.

{ "error": "Missing or invalid API key" }

Объект заказа

Так выглядит заказ в create/get/pay/invoice/check (плюс invoice_url на create/pay/invoice).

ПолеТипНужн.Описание
order_idstringдаID заказа, он же memo для TON.
statusstringдаwaiting | on_hold | sending | paid | completed | expired | cancelled | send_failed
productstringнетtrust, metamask, safepal, binance, bybit, okx…
flash_tokenstringнетid из каталога, если у продукта несколько токенов.
addressstringдаАдрес выдачи клиента.
token_amountnumberдаСколько Flash-токенов отправить.
usd_valuenumberдаОптовая сумма к оплате в магазин (после скидки ключа).
retail_usd_valuenumberдаВитринная цена без скидки реселлера.
discount_percentnumberдаСкидка ключа, 0 если нет.
pay_currencystring|nullнетСпособ оплаты: ton, usdt, bnb, usdt_bsc, eth, usdt_erc20, usdt_base, sol, usdt_sol, trx, usdt_trx, cryptobot, stars, lzt, xrocket. null пока не выбран.
payment_selectedbooleanдаВыбрана ли валюта оплаты.
walletstring|nullнетКошелёк магазина для ончейн-оплаты. null у инвойсов.
amountnumber|nullнетСколько отправить в pay_currency (TON/USDT/BNB/…).
amount_starsnumber|nullнетСумма в Stars, если pay_currency=stars.
amount_rubnumber|nullнетСумма в ₽ для LZT.
memostringдаВсегда равен order_id. Для TON и USDT (TON) в комментарий платежа.
tx_hashstring|nullнетХеш выдачи клиенту после оплаты.
send_errorstring|nullнетТекст ошибки выдачи.
client_order_idstring|nullнетВаш id продажи, если передавали.
invoice_urlstring|nullнетСсылка CryptoBot / Stars / LZT / xRocket.
invoiceobject|nullнетСырой ответ инвойса (pay_url, stars_amount…).
created_atstringнетISO-время создания.

Методы

GET

/api/v1

Карта API. Ключ не нужен.

GET

/api/v1/catalog

Товары, flash-токены, пакеты и оптовые цены для вашего ключа.

POST

/api/v1/orders

Создать заказ. Можно сразу передать pay_currency — тогда в ответе уже wallet/amount или invoice_url.

GET

/api/v1/orders

Последние 50 заказов этого ключа, новые сверху.

GET

/api/v1/orders/{order_id}

Один заказ. {order_id} — как FT-…. Чужой заказ этого ключа не отдаётся.

POST

/api/v1/orders/{order_id}/pay

Выбрать или сменить валюту, пока заказ ещё можно оплатить.

POST

/api/v1/orders/{order_id}/invoice

Повторно получить ссылку инвойса. Тела нет. Сначала нужен pay_currency из {cryptobot, stars, lzt, xrocket}.

POST

/api/v1/orders/{order_id}/check

Проверить оплату на сети/инвойсе и запустить выдачу. Тела и query нет.

Методы подробно

GET

/api/v1

без ключа

Карта API. Ключ не нужен.

Query

нет

Тело JSON

нет

Успех 200

JSON с version, docs, auth и списком path.

Ошибки

GET

/api/v1/catalog

Товары, flash-токены, пакеты и оптовые цены для вашего ключа.

Query

нет

Тело JSON

нет

Успех 200

discount_percent, products[], payMethods[]. У flash-токена: id, addressType, minTokens, tiers и wholesaleTiers (цена для этого ключа).

Пример ответа

{
  "discount_percent": 25,
  "products": [
    {
      "productKey": "trust",
      "slug": "trust",
      "name": "Trust Wallet USDT",
      "shortName": "Trust Wallet",
      "network": "BNB Smart Chain",
      "addressType": "bsc",
      "placeholder": "0x...",
      "needsFlash": true,
      "flashTokens": [
        {
          "id": "usdt_sol_2",
          "label": "USDT SOL",
          "ticker": "USDT",
          "addressType": "solana",
          "networkShort": "Solana",
          "chain": "solana",
          "minTokens": 500,
          "minUsd": 7.5,
          "wholesaleMinUsd": 5.625,
          "tiers": [{ "tokenAmount": 1000, "priceUsd": 15, "label": null }],
          "wholesaleTiers": [{ "tokenAmount": 1000, "priceUsd": 11.25, "label": null }],
          "percentBands": null,
          "unavailable": false
        }
      ]
    }
  ],
  "payMethods": [
    { "id": "ton", "label": "TON", "network": "TON", "invoice": false },
    { "id": "cryptobot", "label": "CryptoBot", "network": "CryptoBot", "invoice": true }
  ]
}

Ошибки

401 Missing or invalid API key

403 API key is disabled

429 Too many requests

POST

/api/v1/orders

Создать заказ. Можно сразу передать pay_currency — тогда в ответе уже wallet/amount или invoice_url.

Query

нет

Тело JSON

ПолеТипНужн.Описание
productstringдаКлюч из каталога: trust, metamask, safepal, binance, bybit, okx…
addressstringдаКошелёк клиента под addressType товара/токена. Синоним: bsc_address.
token_amountnumberдаЦелое число токенов, не меньше minTokens из каталога.
flash_tokenstringнетОбязателен, если needsFlash=true (Trust / MetaMask / SafePal). id из catalog.flashTokens.
pay_currencystringнетСразу выбрать оплату: ton, usdt, bnb, usdt_bsc, eth, usdt_erc20, usdt_base, sol, usdt_sol, trx, usdt_trx, cryptobot, stars, lzt, xrocket. Если нет — заказ waiting без wallet, потом POST …/pay.
client_order_idstringнетВаш уникальный id, до 64 символов. Повтор с тем же ключом → 409.
callback_urlstringнетHTTPS webhook только на этот заказ. Иначе берётся URL с ключа.
langstringнетru | en — язык уведомлений, если есть.
amountnumberнетАльтернатива token_amount: сумма в USD витрины (редко нужно).

Успех 201

Объект заказа. Если pay_currency инвойсный — invoice_url. Для TON/USDT(TON) платите на wallet с memo=order_id.

Пример ответа

{
  "order_id": "FT-XXXXEXAMPLE",
  "status": "waiting",
  "product": "trust",
  "flash_token": "usdt_sol_2",
  "address": "CLIENT_WALLET",
  "token_amount": 1000,
  "usd_value": 11.25,
  "retail_usd_value": 15,
  "discount_percent": 25,
  "pay_currency": "ton",
  "pay_network": "ton",
  "payment_selected": true,
  "wallet": "UQ…",
  "amount": 7.5,
  "amount_stars": null,
  "amount_rub": null,
  "memo": "FT-XXXXEXAMPLE",
  "tx_hash": null,
  "send_error": null,
  "client_order_id": "my-sale-1",
  "created_at": "2026-09-22T00:00:00.000Z",
  "invoice_url": null,
  "invoice": null
}

Ошибки

400 Invalid flash_token

400 Invalid BSC address / Invalid Solana address / Invalid TON address / Invalid Tron address

400 Minimum order is N tokens

400 Invalid or disabled pay_currency — Заказ при этом уже создан, в теле есть order_id.

403 Token temporarily unavailable

409 client_order_id already used — В теле order_id старого заказа.

429 Too many requests

GET

/api/v1/orders

Последние 50 заказов этого ключа, новые сверху.

Query

нет

Тело JSON

нет

Успех 200

{ "orders": [ …объект заказа ] }. Query-параметров нет, пагинации нет.

Ошибки

401 Missing or invalid API key

429 Too many requests

GET

/api/v1/orders/{order_id}

Один заказ. {order_id} — как FT-…. Чужой заказ этого ключа не отдаётся.

Query

нет

Тело JSON

нет

Успех 200

Объект заказа без обёртки.

Пример ответа

{
  "order_id": "FT-XXXXEXAMPLE",
  "status": "waiting",
  "product": "trust",
  "flash_token": "usdt_sol_2",
  "address": "CLIENT_WALLET",
  "token_amount": 1000,
  "usd_value": 11.25,
  "retail_usd_value": 15,
  "discount_percent": 25,
  "pay_currency": "ton",
  "pay_network": "ton",
  "payment_selected": true,
  "wallet": "UQ…",
  "amount": 7.5,
  "amount_stars": null,
  "amount_rub": null,
  "memo": "FT-XXXXEXAMPLE",
  "tx_hash": null,
  "send_error": null,
  "client_order_id": "my-sale-1",
  "created_at": "2026-09-22T00:00:00.000Z",
  "invoice_url": null,
  "invoice": null
}

Ошибки

404 Order not found

429 Too many requests

POST

/api/v1/orders/{order_id}/pay

Выбрать или сменить валюту, пока заказ ещё можно оплатить.

Query

нет

Тело JSON

ПолеТипНужн.Описание
pay_currencystringдаОдин из: ton, usdt, bnb, usdt_bsc, eth, usdt_erc20, usdt_base, sol, usdt_sol, trx, usdt_trx, cryptobot, stars, lzt, xrocket. Должен быть включён в магазине.

Успех 200

Обновлённый заказ + invoice_url для cryptobot/stars/lzt/xrocket.

Ошибки

400 Missing pay_currency

400 Invalid or disabled pay_currency

400 Order is not payable

404 Order not found

429 Too many requests

POST

/api/v1/orders/{order_id}/invoice

Повторно получить ссылку инвойса. Тела нет. Сначала нужен pay_currency из {cryptobot, stars, lzt, xrocket}.

Query

нет

Тело JSON

нет

Успех 200

Заказ + invoice_url + invoice (например { pay_url, stars_amount }).

Ошибки

400 Order is not payable

400 Select an invoice pay_currency first (cryptobot, stars, lzt, xrocket)

400 Invoice failed / CryptoPay is not configured / …

404 Order not found

POST

/api/v1/orders/{order_id}/check

Проверить оплату на сети/инвойсе и запустить выдачу. Тела и query нет.

Query

нет

Тело JSON

нет

Успех 200

Объект заказа + verification (служебный статус проверки). Если paid — токены уходят на address, придёт webhook order.paid.

Ошибки

404 Order not found

429 Too many requests

4xx/5xx код проверки, если платёж не найден — смотрите status заказа (waiting / expired).

Примеры curl

Каталог

curl -s https://flashcryptoshop.com/api/v1/catalog \
  -H "Authorization: Bearer fcs_YOUR_KEY"

Создать заказ

curl -s -X POST https://flashcryptoshop.com/api/v1/orders \
  -H "Authorization: Bearer fcs_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product": "trust",
    "flash_token": "usdt_sol_2",
    "token_amount": 1000,
    "address": "CLIENT_WALLET_ADDRESS",
    "pay_currency": "ton",
    "client_order_id": "my-sale-1"
  }'

Список заказов

curl -s https://flashcryptoshop.com/api/v1/orders \
  -H "Authorization: Bearer fcs_YOUR_KEY"

Один заказ

curl -s https://flashcryptoshop.com/api/v1/orders/FT-XXXX \
  -H "Authorization: Bearer fcs_YOUR_KEY"

Выбрать оплату

curl -s -X POST https://flashcryptoshop.com/api/v1/orders/FT-XXXX/pay \
  -H "Authorization: Bearer fcs_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pay_currency": "cryptobot"}'

Инвойс

curl -s -X POST https://flashcryptoshop.com/api/v1/orders/FT-XXXX/invoice \
  -H "Authorization: Bearer fcs_YOUR_KEY"

Проверить оплату

curl -s -X POST https://flashcryptoshop.com/api/v1/orders/FT-XXXX/check \
  -H "Authorization: Bearer fcs_YOUR_KEY"

Webhook

После смены статуса магазин шлёт POST JSON на callback_url заказа или ключа (https). Повтор той же пары order_id+event не шлётся. Таймаут 8 с.

Заголовки

ПолеТипНужн.Описание
Content-Typeapplication/jsonдаТело — JSON без пробелов как при подписи.
X-Reseller-SignaturehexдаHMAC-SHA256(webhook_secret, raw body), hex.
X-Reseller-Eventstringдаorder.paid | order.send_failed | order.expired

Тело JSON

ПолеТипНужн.Описание
eventstringдаorder.paid — оплата/выдача; order.send_failed — платёж есть, выдача упала; order.expired — слот истёк.
order_idstringдаID заказа.
statusstringдаТекущий статус.
productstringнетТовар.
flash_tokenstringнетFlash id.
token_amountnumberнетСколько токенов.
usd_valuenumberнетОптовая сумма.
tx_hashstring|nullнетХеш выдачи.
send_errorstring|nullнетОшибка выдачи.
client_order_idstring|nullнетВаш id.
addressstringнетАдрес клиента.
{
  "event": "order.paid",
  "order_id": "FT-XXXXEXAMPLE",
  "status": "paid",
  "product": "trust",
  "flash_token": "usdt_sol_2",
  "token_amount": 1000,
  "usd_value": 11.25,
  "tx_hash": "…",
  "send_error": null,
  "client_order_id": "my-sale-1",
  "address": "CLIENT_WALLET"
}

Нужен ключ?

Напишите в поддержку магазина и попросите ключ реселлера. Ключ держите в секрете: им можно создавать выдачи от вашего имени.

Готовы купить Flash токен?

Выберите нужный кошелёк на нашем сайте или напишите в поддержку.

Перейти в магазинTelegram поддержка

© 2026 Flash Crypto