iDeployAPI
Получить API-ключ ↗
Начало работы

Первый запрос за три шага

Для интеграции нужен API-ключ. Получить его можно у команды iDeploy в Telegram.

1

Получите API-ключ

Напишите в поддержку и сохраните выданный токен на сервере.

2

Добавьте авторизацию

Передавайте токен в заголовке Authorization.

3

Проверьте баланс

Выполните тестовый запрос перед регистрацией устройства.

Храните ключ только на сервере

Не добавляйте его в мобильное приложение, frontend-код или публичный репозиторий.

Подключение

Production API

Все запросы отправляются по HTTPS. Текущая версия API включена в базовый адрес.

ProductionБоевой API
https://api2.ipalinks.ru/v2
Безопасность

Bearer-авторизация

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

AuthorizationBearer YOUR_API_KEY
✓

ПравильноAuthorization: Bearer eyJ...

×

НеправильноAuthorization: YOUR_API_KEY

Сертификаты

Баланс сертификатов

GET/balance/

Возвращает остаток сертификатов каждого типа для текущего пользователя.

curl https://api2.ipalinks.ru/v2/balance/ \
  -H "Authorization: Bearer $API_KEY"
Ответ200 OK⌄
{
  "user_id": 123456789,
  "balance": {
    "standard": 4,
    "premium_standard": 1,
    "instant": 2,
    "mac": 0,
    "ipad": 0,
    "super": 1,
    "super_7": 0,
    "super_30": 0,
    "super_90": 0,
    "super_365": 0
  }
}
Модель ответа BalanceResponse →
Устройства

Регистрация устройства

POST/devices/

Регистрирует Apple-устройство по UDID и списывает один сертификат выбранного типа.

ПолеТипОписание
udid*stringUDID устройства, буквы, цифры и дефис
kind*enumТип сертификата: STANDARD, INSTANT, SUPER7 и другие
curl -X POST https://api2.ipalinks.ru/v2/devices/ \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "udid": "00008110-001234567890001E",
    "kind": "STANDARD"
  }'
Ответ201 Created⌄
{
  "id": 841,
  "udid": "00008110-001234567890001E",
  "account_id": "A1B2C3D4E5",
  "account_name": "iDeploy",
  "status": "ENABLED",
  "registration_date": "2026-09-06T10:15:00",
  "cert": null,
  "balance": { "standard": 3, "instant": 2 },
  "warranty_expired_at": "2026-12-05T10:15:00"
}
Модель ответа RegistrationResponse →
Статус может быть не финальным

Если сертификат ещё готовится, повторите запрос статуса устройства. Не отправляйте повторную регистрацию.

Устройства

Информация об устройстве

GET/devices/{udid}

Возвращает все активные сертификаты, зарегистрированные для указанного UDID.

cURL
curl https://api2.ipalinks.ru/v2/devices/00008110-001234567890001E \
  -H "Authorization: Bearer $API_KEY"
Модель ответа DeviceResponse →
PROCESSINGРегистрация обрабатывается
ENABLEDСертификат готов
REVOKEDСертификат отозван
EXPIREDСрок действия истёк
Сертификаты

Скачивание сертификата

GET/download-certificate/{device_id}/{udid}.zip

Скачивает ZIP-архив с P12, provisioning profile и файлом пароля после готовности сертификата.

cURL
curl -O https://api2.ipalinks.ru/v2/download-certificate/841/00008110-001234567890001E.zip
Сертификаты

Личный Apple Developer аккаунт

Найдите доступный Apple Developer аккаунт по имени.

GET/certificates/?name={name}

Поиск доступных аккаунтов по имени

Модели ответов AccountResponse, AccountsResponse →
Инструменты

Репозитории приложений

Создавайте собственные каталоги приложений и управляйте их содержимым.

POST/repositories/

Создать пустой репозиторий

GET/repositories/{repo_id}

Получить репозиторий и приложения

POST/repositories/{repo_id}

Добавить приложение

DELETE/repositories/{repo_id}/{app_id}

Удалить приложение

Тело запроса · добавить приложение
{
  "name": "My App",
  "bundle_id": "com.example.myapp",
  "version": "1.0.0",
  "icon": "BASE64_ENCODED_IMAGE",
  "ipa_link": "https://example.com/app.ipa"
}
Модели ответов RepositoryResponse, App →
Инструменты

Ссылка для установки

POST/shortener

Создаёт короткую страницу установки приложения в экосистеме iDeploy.

JSON
{
  "url": "itms-services://?action=download-manifest&url=...",
  "icon": "https://example.com/icon.png",
  "redirect": "https://example.com/success",
  "app_info": {
    "name": "My App",
    "bundle_id": "com.example.myapp",
    "cert": "iPhone Distribution"
  },
  "channel_subscribe": "https://t.me/example"
}
Модель ответа ShortenerCreateResponse →
Справочник

Модели ответов

Типы, которые API возвращает при успешном выполнении запросов. Поля с отметкой nullable могут содержать null.

BalanceResponse

GET /balance/

object
ПолеТипОписание
user_idinteger

Идентификатор пользователя

balanceBalance

Остатки сертификатов

Balance

standard, premium_standard, instant, mac, ipad, super, super_7, super_30, super_90, super_365 — целые числа.

RegistrationResponse

POST /devices/

object
ПолеТипОписание
idinteger

ID регистрации, используется для скачивания

udidstring

UDID устройства

account_idstring

Team ID Apple Developer аккаунта

account_namestring

Название аккаунта

statusDeviceStatus

Текущий статус регистрации

registration_datedatetime

Дата регистрации в ISO 8601

certEncodedCertificate nullable

P12 и provisioning profiles, если уже готовы

balanceBalance

Баланс после списания сертификата

warranty_expired_atdatetime nullable

Дата окончания гарантии

DeviceResponse

GET /devices/{udid}

object
ПолеТипОписание
udidstring

Запрошенный UDID

certificatesCertificate[]

Активные регистрации устройства

Certificate

id: integer · account_id: string · account_name: string · status: DeviceStatus · registration_time: datetime · revocation_time: datetime | null · cert: EncodedCertificate | null · warranty_expired_at: datetime | null

EncodedCertificate

p12: string · provision: string · provision_1: string | null · provision_2: string | null. Содержимое файлов передаётся в Base64.

AccountResponse

GET /certificates/

object
ПолеТипОписание
teamIdstring

Team ID аккаунта

namestring

Имя владельца аккаунта

isSuperboolean

Признак аккаунта Super

AccountsResponse

accounts: AccountResponse[] — результат поиска по имени.

RepositoryResponse

GET /repositories/{repo_id}

object
ПолеТипОписание
idstring

Идентификатор репозитория

appsApp[]

Приложения в репозитории

App

id: string · name: string · bundle_id: string · version: string · icon: string (Base64) · ipa_link: string.

ShortenerCreateResponse

POST /shortener

object
ПолеТипОписание
urlstring · URI

Готовая короткая ссылка iDeploy

Справочник

Ошибки API

При ошибке API возвращает подходящий HTTP-код и JSON с полем detail.

400Bad RequestНекорректный UDID или параметры
401UnauthorizedОтсутствует или неверен API-ключ
403ForbiddenНедостаточный баланс или нет доступа
404Not FoundРесурс не найден
409ConflictСертификаты выбранного типа закончились
422Validation ErrorТело запроса не прошло валидацию
Всё готово?

Начните интеграцию с iDeploy

Получите API-ключ и подключите Apple-сервисы к своему продукту.

Написать в Telegram ↗
Скопировано