Как выбрать поставщика цифровых товаров по API: чек-лист

Десять вопросов к поставщику цифровых товаров с API, которые стоит задать до первого пополнения депозита, и способ проверить ответы на одном заказе.

Содержание 8 разделов
  1. Повторы и списания
  2. 1. Можно ли повторить заказ без второго списания
  3. 2. Видна ли цена до списания
  4. 3. Что происходит при сорванной доставке
  5. Доставка
  6. 4. Есть ли бесплатная проверка получателя
  7. 5. Какие статусы окончательные
  8. Безопасность
  9. 6. Подписаны ли уведомления
  10. 7. Как хранится ключ
  11. Работа с API
  12. 8. Что приходит на превышение лимита
  13. 9. Что нужно для старта
  14. 10. Совпадает ли документация с API
  15. Как это устроено у Hex
  16. Проверка на одном заказе
  17. Цена в конце списка
  18. Чек-лист

Оптовые цены у поставщиков цифровых товаров обычно расходятся на проценты, а повтор запроса, который списывает деньги второй раз, может стоить всего депозита. Поэтому сначала проверяют механику API и только потом сравнивают цену.

#Повторы и списания

#1. Можно ли повторить заказ без второго списания

Сеть рвётся, и рано или поздно ваш запрос уйдёт, а ответ не придёт. Если поставщик принимает ваш идентификатор операции и на повтор с ним возвращает тот же заказ, повтор безопасен. Если нет, выбирать придётся между двойным списанием и клиентом без товара. Спросите, где хранится уникальность: в базе или в памяти на пару минут.

Проверка: отправьте один и тот же запрос дважды и сравните баланс до и после.

#2. Видна ли цена до списания

Удобно, когда заказ создаётся в две фазы: сначала цена фиксируется и показывается клиенту, потом, после его согласия, списывается депозит. Если деньги уходят в момент создания, вы платите за заказы, от которых клиент отказался на экране подтверждения.

#3. Что происходит при сорванной доставке

Возврат на депозит должен быть автоматическим и видимым в статусе заказа. Возврат через тикет стоит переписки и пары дней без денег на каждом сорванном заказе. Отдельно спросите про частичную выдачу: что вернётся, если выдали меньше, чем заказано.

#Доставка

#4. Есть ли бесплатная проверка получателя

Опечатка в юзернейме срывает доставку. Проверка до оплаты, которая не трогает депозит, находит несуществующий аккаунт заранее. Без неё вы узнаёте об ошибке, когда деньги уже ушли.

#5. Какие статусы окончательные

Документация должна прямо называть конечные статусы заказа. «Доставка на проверке» и «доставка не удалась» требуют разных действий. Поставщик, который их не различает, заставит вас возвращать деньги за товар, который клиенту ещё придёт.

#Безопасность

#6. Подписаны ли уведомления

Вебхук без подписи подделает любой, кто знает ваш адрес, и пришлёт «заказ доставлен». Подпись должна считаться на секрете, который видите только вы, и проверяться по сырому телу запроса.

#7. Как хранится ключ

Ключ тратит ваши деньги. Поставщику достаточно хранить его хеш: ключ показывается один раз, а перевыпуск делается в кабинете без письма в поддержку.

#Работа с API

#8. Что приходит на превышение лимита

Лимит запросов встречается почти у каждого поставщика. Ответ 429 с заголовком Retry-After говорит, сколько ждать. Голый отказ заставляет угадывать паузу.

#9. Что нужно для старта

Посмотрите способы пополнения и минимальную сумму. Если для старта нужны юрлицо, договор и проверка документов, первый заказ случится через неделю. Если хватает входа через Telegram, поставщика можно проверить сегодня.

#10. Совпадает ли документация с API

Документацию, которую правят руками, легко забыть обновить вслед за API. Хороший признак: её собирают из спецификации, у каждого кода отказа написано, вернулись ли деньги и стоит ли повторять, а саму спецификацию можно скачать и отдать нейросети.

#Как это устроено у Hex

На площадке два API: цифровые товары и VPN-подписки. Ответы на вопросы из списка по обоим собраны в таблице.

Ответы на вопросы списка по двум API
ВопросЦифровые товарыVPN-подписки
Повтор операциитот же custom_id возвращает тот же заказ, повтор pay не списываеттот же custom_id и тело возвращают результат первой попытки с idempotent_replay: true
Тот же id, другое теловозвращается первый заказ409 custom_id_conflict
Цена до списанияcreate фиксирует, pay списываетцены тарифов в GET /plans, покупка списывает сразу
ПолучательGET /check-recipient, бесплатноподписка выдаётся на ваш external_user_id
Подпись вебхукаX-Signature: sha256=…, HMAC от сырого телато же, плюс X-Event и X-Delivery-Id
Повторы вебхукаисточник истины опрос GET /order/{custom_id}до 10 попыток за ~8,5 часа, дедуп по event_id
Лимитоколо 60 в минуту, 429 с Retry-After60 в минуту, 429 с Retry-After
Бриф для ИИсправочник в кабинете API, раздел «Для ИИ-агента»/api/v1/vpn/llms.txt, без ключа

#Проверка на одном заказе

Ответы поставщика проверяются за один заказ на минимальную сумму. Порядок одинаковый для любого API:

событиеМинимальный депозитсумма, которую не жалко
1Проверить получателяс опечаткой и без
2Создать заказ дваждытот же id, сравнить ответы
3Оплатить дваждыбаланс уменьшился один раз
4Дождаться результатаопросом и вебхуком

Все запросы этой проверки для нашего цифрового API, с ответами, есть в статье про интеграцию от ключа до заказа.

#Цена в конце списка

Если вы берёте один товар большими партиями и сами разбираете каждый сбой, механика повторов и возвратов для вас вторична. Тогда сравнивайте цену первой. Для магазина, где идут сотни мелких покупок от разных людей, порядок обратный.

Оптовые цены сравнивайте у тех, кто прошёл первые десять пунктов. Цена у нас персональная и зависит от курса, поэтому смотрите её в кабинете после входа, а не в чужих таблицах.

#Чек-лист

Следующий шаг

Проверьте нас по этому списку

Войдите через Telegram, выпустите ключ и пройдите проверку на минимальной сумме. Справочник с кодами отказов откроется сразу после входа.

Читать дальше

Интеграция Reseller API: от ключа до первого заказа

Как пройти проверку из статьи на нашем API, запрос за запросом.

API · DigitalИнтеграция5 мин
Идемпотентность, вебхуки и ретраи: как не потерять деньги

Почему повтор и подпись важнее цены, с примерами кода.

API · DigitalИнтеграция5 мин
API для продажи Telegram Stars и Premium: кому это нужно

Нужен ли вам API или хватит магазина в боте.

API · DigitalЗапуск3 мин
Собираем анонимную аналитику посещений. Подробнее