Чтобы использовать API необходимо получить партнерский токен
Тестовая URL https://testapi3.didox.uz/
Прод партнерский URL https://api-partners.didox.uz/
Для получения партнеского токена необходимо обратиться к Аккаунт менеджеру:
https://t.me/Didox_account ; +998 50 122 05 18
Канал по изменениям и обновлениям в API Didox:
https://t.me/didoxapiupdates
Токен пользователя можно получить тремя способами. Во всех запросах обязателен заголовок партнёрской авторизации:
Partner-Authorization: <PARTNER_TOKEN>
| Способ | Эндпоинт | Когда использовать |
|---|---|---|
| По ЭЦП | POST /v1/auth/{taxId}/token/{locale} |
Вход по ключу E-IMZO |
| По паролю | POST /v1/auth/{taxId}/password/{locale} |
Вход без ЭЦП (пароль задан при регистрации) |
| Вход в компанию | POST /v1/auth/company/{companyTaxId}/login/{locale} |
Физлицо входит в компанию по своему токену |
Все токены выдаются в формате UUID и действительны 360 минут.
POST /v1/auth/{taxId}/token/{locale}
Последовательность подготовки подписи (через E-IMZO):
keyIdtimeStampTokenB64 и передать его в поле signature.Параметры пути
| Параметр | Обяз. | Описание |
|---|---|---|
taxId |
✅ | ИНН/ПИНФЛ пользователя |
locale |
⬜ | Язык интерфейса: ru (по умолчанию) или uz |
Тело запроса
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
signature |
string (base64) |
✅ | Подпись с прикреплённым timestamp (timeStampTokenB64) |
200{
"signature": "<timeStampTokenB64>"
}
curl -X POST https://api-partners.didox.uz/v1/auth/{taxId}/token/ru \
-H "Partner-Authorization: <PARTNER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "signature": "<timeStampTokenB64>" }'
{
"token": "87138df4-9426-49d7-a409-3ed986c49bb5",
"related_companies": null,
"related_branches": null
}
| Код | Причина | Тело ответа |
|---|---|---|
422 |
Пользователь не зарегистрирован | User not registered |
401 |
Недействительная подпись | Unauthorized. Invalid signature |
POST /v1/auth/{taxId}/password/{locale}
Вход без ЭЦП по паролю, заданному при регистрации. При входе по ИНН физлица в related_companies возвращаются компании, привязанные к нему (ИНН, название, коды полномочий).
Параметры пути
| Параметр | Обяз. | Описание |
|---|---|---|
taxId |
✅ | ИНН/ПИНФЛ пользователя |
locale |
⬜ | Язык интерфейса: ru (по умолчанию) или uz |
Тело запроса
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
password |
string |
✅ | Пароль пользователя |
200{
"password": "<PASSWORD>"
}
curl -X POST https://api-partners.didox.uz/v1/auth/{taxId}/password/ru \
-H "Partner-Authorization: <PARTNER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "password": "<PASSWORD>" }'
{
"token": "f2782e75-c37b-4b17-bdb9-b53de8b29b89",
"taxId": "123456789",
"pinfl": null,
"name": "OOO EXAMPLE",
"related_companies": null,
"related_branches": null
}
⚠️ Защита от перебора пароля. Неверные попытки ограничены:
• 3 попытки в минуту → блок на 10 минут
• 10 попыток → блок на 24 часа
• 25 попыток → постоянная блокировка учётной записи
| Код | Причина | Тело ответа |
|---|---|---|
422 |
Пользователь не зарегистрирован | User not registered |
422 |
Неверный пароль | Incorrect login |
423 |
Учётная запись заблокирована | { "message": "Пользователь заблокирован. Обратитесь в техподдержку" } |
429 |
Слишком много попыток входа | { "message": "Слишком много попыток. Попробуйте через XX минут. YY секунд" } |
POST /v1/auth/company/{companyTaxId}/login/{locale}
Физическое лицо входит в компанию, используя свой токен (полученный Способом 1 или 2). В ответ приходит токен с полномочиями (permissions) в этой компании.
Параметры пути
| Параметр | Обяз. | Описание |
|---|---|---|
companyTaxId |
✅ | ИНН компании |
locale |
⬜ | Язык интерфейса: ru (по умолчанию) или uz |
Заголовки
| Заголовок | Обяз. | Описание |
|---|---|---|
Partner-Authorization |
✅ | Партнёрский токен |
user-key |
✅ | Токен физлица (из Способа 1 или 2) |
Тело запроса (опционально)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
branchNum |
string |
⬜ | Номер филиала для входа |
200curl -X POST https://api-partners.didox.uz/v1/auth/company/{companyTaxId}/login/ru \
-H "Partner-Authorization: <PARTNER_TOKEN>" \
-H "user-key: <USER_TOKEN>"
{
"token": "<token>",
"permissions": {
"tin": "<company_tax_id>",
"roles": [11, 12, 21, 22, 41, 42, 51, 52]
}
}
| Код | Причина | Тело ответа |
|---|---|---|
422 |
Компания не зарегистрирована | Company not registered |
422 |
Не удалось зарегистрировать компанию | Failed to register company |
401 |
Ошибка входа в компанию | Failed to login in company. Reason: ... |