Перейти к содержимому
API-документация

Список пакетов eSIM

GET/api/partner/v1/esim/packages
Scope
esim:read

Каталог eSIM, доступный вам, с ценами для вашего аккаунта в USD.

Постраничный по курсору: передавайте next_cursor обратно, пока он не исчезнет. Каталог меняется вслед за каталогами провайдеров — синхронизируйте его периодически, а не кэшируйте навсегда, и будьте готовы к ответу 404 esim_package_not_available при покупке пакета, который успел пропасть.

404 tariff_not_available означает, что eSIM для вашего аккаунта не включён.

Параметры запроса

ПараметрТипОбяз.Описание
countrystringнетISO alpha-2: пакеты этой страны и региональные пакеты, которые её покрывают (до 2 символов)
regionstringнетТочное значение region_code (до 32 символов)
cursorstringнетnext_cursor предыдущей страницы
limitintegerнет— (по умолчанию: 500; мин. 1; макс. 1000)

Пример запроса

TS=$(date +%s)
SIG=$(printf '%s\n%s\n%s\n%s' "$TS" "GET" "/api/partner/v1/esim/packages?country=TR" "" \
  | openssl dgst -sha256 -hmac "$PP_SECRET" -hex | awk '{print $NF}')

curl -sS -X GET "https://api.plativputi.com/api/partner/v1/esim/packages?country=TR" \
  -H "X-Key-Id: $PP_KEY_ID" \
  -H "X-Timestamp: $TS" \
  -H "X-Signature: $SIG"
const res = await pp("GET", "/esim/packages?country=TR");
res = pp("GET", "/esim/packages?country=TR")
$res = pp('GET', '/esim/packages?country=TR');

pp() — функция-обёртка с подписью из раздела Аутентификация и подпись.

Ответ

200 OK — ListEsimPackagesOutputBody

ПолеТипОбяз.Описание
itemsarray<EsimPackageDTO>да—
items[].countriesarray<string>даISO alpha-2 коды стран, которые покрывает пакет. Пусто, если провайдер не опубликовал список.
items[].currencystringнет—
items[].data_gbstringдаОбъём трафика в ГБ, десятичная строка. Не имеет смысла, если unlimited = true.
items[].has_5gbooleanдаtrue, если в опубликованной сети упомянут 5G. false означает и «не указано».
items[].idstringдаИдентификатор пакета — передайте его как package_id в POST /esim/orders
items[].networkstringнетПоколение сети / операторы, как их опубликовал провайдер, если известны
items[].price_usdstringнетСколько покупка этого пакета спишет с вашего баланса, USD
items[].region_codestringдаISO 3166-1 alpha-2 для пакета одной страны, иначе код региона (EUROPE, ASIA, GLOBAL, …)
items[].region_namestringда—
items[].smsintegerнетВключённые SMS, если они есть в пакете
items[].titlestringда—
items[].unlimitedbooleanда—
items[].validity_daysintegerда—
items[].voice_minutesintegerнетВключённые минуты звонков, если они есть в пакете
next_cursorstringнетПередайте как cursor, чтобы получить следующую страницу; на последней странице отсутствует

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

{
  "items": [
    {
      "id": "5b2f7c1a-3d4e-4f60-8a71-9c0d1e2f3a4b",
      "title": "Turkey · 5GB 30 days",
      "region_code": "TR",
      "region_name": "Turkey",
      "countries": [
        "TR"
      ],
      "data_gb": "5",
      "unlimited": false,
      "validity_days": 30,
      "network": "4G/5G",
      "has_5g": true,
      "price_usd": "5.26",
      "currency": "USD"
    }
  ]
}

Ошибки

HTTPКодКогда
404tariff_not_availableeSIM для вашего аккаунта не включён.

Плюс общие ошибки подписи и лимитов — см. Ошибки.