Fiatside

Developers

Справочные данные и пагинация

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

Частота обновления

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

01

Пагинация

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

Запросhttp
GET /api/v1/rails?limit=50&cursor=cJ0xNzg4MzU2OTgx
Ответjson
{
  "data": [ /* … */ ],
  "next_cursor": "cJ0xNzg4MzU3MTEy"
}
  • limit по умолчанию равен 50, максимум 100. Большее значение ограничивается максимумом, а не отклоняется.
  • next_cursor равен null на последней странице. Это единственный сигнал окончания: не делайте вывод об окончании по короткой странице.
  • Курсор непрозрачен и не имеет гарантированного срока жизни. Не храните его как постоянный идентификатор и не создавайте свой собственный.
  • Порядок стабилен в пределах одного сеанса пагинации. Элемент, добавленный во время перелистывания, появится при следующем полном проходе, а не в середине текущего.
GET/api/v1/railsPublished contract, not open

Список способов выплаты

Каталог платежных каналов с валютой, обслуживаемыми странами, задержками p50 и p95, правилами рабочих дней, временем отсечки, лимитами на операцию в младших единицах, комиссиями и схемой полей бенефициара. Эта схема позволяет вам генерировать форму выплаты, а не кодировать ее для каждой страны отдельно.

Аутентификация: Authorization: Bearer … См. аутентификацию

Параметры

Параметры
ПолеТипОписание
countrystringФильтр ISO 3166-1 alpha-2.
currencystringФильтр ISO 4217.
phasestringlive, beta, planned или never.
limitintegerРазмер страницы, от 1 до 100, по умолчанию 50.
cursorstringНепрозрачный курсор, возвращенный предыдущим вызовом.
Запросbash
curl -sS 'https://fiatside.com/api/v1/rails?country=BR' \
  -H 'Authorization: Bearer sk_live_...'
Ответ — опубликованный контрактjson
{
  "data": [
    {
      "id": "br_pix",
      "slug": "pix",
      "name": "PIX",
      "kind": "instant_bank",
      "currency": "BRL",
      "countries": ["BR"],
      "phase": "live",
      "settlement": { "p50Minutes": 1, "p95Minutes": 10, "businessDaysOnly": false },
      "limits": { "minMinor": 1000, "maxMinor": 5000000, "decimals": 2 },
      "fees": { "fixedMinor": 0, "bps": 0 },
      "fields": [
        { "name": "pixKeyType", "type": "select", "required": true },
        { "name": "pixKey", "type": "text", "required": true, "maxLength": 77 },
        { "name": "taxId", "type": "text", "required": true, "pattern": "^[0-9]{11}$" }
      ],
      "verifiedAt": "2026-09-02"
    }
  ],
  "next_cursor": null
}
  • Закрытый канал возвращается с его фазой и причиной, а не удаляется из списка. Интеграция, которая не видит, почему канал исчез, обращается в свою службу поддержки.

Возможные ошибки: unauthorized, invalid_request. Полный каталог

GET/api/v1/assetsPublished contract, not open

Список принимаемых активов

Активы, принимаемые для депозита, с десятичными знаками базовой единицы, сетями, минимальным депозитом, длительностью блокировки курса и, где применимо, причиной, по которой актив не предлагается.

Аутентификация: Authorization: Bearer … См. аутентификацию

Параметры

Параметры
ПолеТипОписание
networkstringВозвращает только активы, доступные в этой сети.
Запросbash
curl -sS 'https://fiatside.com/api/v1/assets?network=tron' \
  -H 'Authorization: Bearer sk_live_...'
Ответ — опубликованный контрактjson
{
  "data": [
    {
      "id": "usdt",
      "ticker": "USDT",
      "name": "Tether",
      "decimals": 6,
      "networks": ["tron", "ethereum", "bsc", "solana", "polygon", "arbitrum"],
      "stablecoin": true,
      "quoteLockSeconds": 1800,
      "minDepositBase": "20000000",
      "phase": "live"
    }
  ],
  "next_cursor": null
}
  • minDepositBase выражается в БАЗОВЫХ единицах (20000000 = 20 USDT при 6 десятичных знаках). Ниже этого порога сетевая стоимость съедает большую часть операции.

Возможные ошибки: unauthorized. Полный каталог

GET/api/v1/countriesPublished contract, not open

Список стран

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

Аутентификация: Authorization: Bearer … См. аутентификацию

Параметры

Параметры
ПолеТипОписание
statusstringopen, coming или restricted.
Запросbash
curl -sS 'https://fiatside.com/api/v1/countries?status=open' \
  -H 'Authorization: Bearer sk_live_...'
Ответ — опубликованный контрактjson
{
  "data": [
    { "code": "BR", "name": "Brasil", "currency": "BRL", "status": "open", "rails": ["br_pix", "paypal", "wise", "swift"] },
    { "code": "IR", "name": "Iran",   "currency": null,  "status": "restricted", "reason": "international_sanctions" }
  ],
  "next_cursor": null
}

Возможные ошибки: unauthorized. Полный каталог

02

Схема полей получателя

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

Одно поле схемыjson
{
  "name": "iban",
  "label": { "fr": "IBAN", "en": "IBAN" },
  "type": "iban",
  "required": true,
  "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$",
  "normalize": "upper",
  "help": {
    "fr": "Sans espaces. Nous verifions la cle de controle avant de valider la commande.",
    "en": "No spaces. We validate the checksum before confirming your order."
  }
}

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