---
title: "\u041e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 API \u2014 Dinext"
description: "\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f Dinext \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441."
space: "Docs"
url: "https://docs.dinext.ru/docs/servisy-platformy/otkrytyy-api"
updated: "2026-07-09"
---

# Открытый API

## Назначение

Сервис обеспечивает интеграцию Dinext с внешними системами через программный интерфейс (REST API). Позволяет вызывать whitelisted-методы, читать и создавать документы, выполнять отчеты и автоматизировать обмен данными.

## Цели и задачи

- Предоставлять доступ к данным и операциям по HTTP (REST).
- Вызывать разрешенные (whitelisted) методы из внешних систем и скриптов.
- Интегрировать Dinext с учетными системами, порталами, скриптами и сервисами.
- Обеспечивать аутентификацию (токен, API key) и контроль доступа по ролям.
- Документировать и поддерживать стабильные эндпоинты для партнеров и интеграций.

## Для кого

- Разработчики интеграций и внешних систем.
- Администраторы, настраивающие API-ключи и права.
- Партнеры и заказчики, подключающие свои системы к Dinext.
- Пользователи скриптов и автоматизации (вызов API из командной строки или сервисов).

## Основные понятия

- **REST API** — интерфейс по HTTP: GET (чтение), POST (создание/действия), PUT/PATCH (обновление), DELETE (удаление при поддержке).
- **Whitelisted method** — метод, явно разрешенный для вызова извне; без whitelist вызов из API может быть запрещен из соображений безопасности.
- **Токен / API key** — средство аутентификации запроса (например, API Key в заголовке или токен OAuth).
- **тип документа API** — доступ к документам по путям вида `/api/resource/тип документа` и `/api/resource/тип документа/name`.

## Основные сущности / объекты

- **Dinext** — REST API и whitelisted methods (__init__.py, app.py и маршруты).
- Аутентификация: логин по `/api/method/login`, использование сессии или токена в последующих запросах.

## Основные сценарии / процессы

### Аутентификация

1. Отправить POST на `/api/method/login` с полями `usr` и `pwd` (или использовать API Key / OAuth при настройке).
2. Получить cookie сессии или токен в ответе; использовать в заголовках последующих запросов.
3. Для долгоживущих интеграций предпочтительно использовать API Key или токен с ограниченным сроком действия по политике компании.

### Чтение и запись документов

1. GET `/api/resource/тип документа` — список документов (с параметрами filters, fields, limit).
2. GET `/api/resource/тип документа/name` — один документ по имени.
3. POST `/api/resource/тип документа` — создание документа (тело JSON с полями).
4. PUT `/api/resource/тип документа/name` — обновление документа.
5. Ответы в JSON; права доступа применяются так же, как для текущего пользователя сессии/токена.

### Вызов методов

1. POST `/api/method/путь.к.методу` с телом запроса (аргументы в JSON).
2. Метод должен быть whitelisted в коде приложения ` и разрешение на вызов).
3. Использовать для сложных операций: отчеты, массовые действия, бизнес-логика.

## Правила и ограничения

- Только whitelisted-методы доступны для вызова из API; остальные возвращают ошибку доступа.
- Права на документы и методы определяются пользователем, от имени которого выполняется запрос (сессия/токен).
- Лимиты запросов (rate limiting) могут быть настроены на веб-сервере или в приложении; учитывайте при проектировании интеграций.
- Не передавайте учетные данные в URL; используйте заголовки и HTTPS.

## Результаты / отчетность

- Успешные ответы API (JSON с данными или статусом).
- Журналы доступа и ошибок на стороне сервера для отладки и аудита интеграций.

## Типовые вопросы и ошибки (FAQ)

### Ошибка 403 при вызове метода

Метод не в whitelist или у пользователя нет прав на его выполнение. Добавьте декоратор `@Dinext.whitelist()` в коде и назначьте права роли; при вызове от имени пользователя убедитесь, что у него есть нужная роль.

### Как передать фильтры в GET /api/resource/тип документа?

Используйте query-параметры: `filters=[["field","=","value"]]`, `fields=["field1","field2"]`, `limit_page_length=20`. Синтаксис в документации Dinext REST API.

### Где настраивается API Key?

В зависимости от версии: в профиле пользователя (Generate Keys) или в отдельном тип документа для API Keys. Используйте ключ в заголовке (например, Authorization: token key:secret) вместо логина по паролю для скриптов и сервисов.

## Связанные темы

- [Роли и полномочия](/docs/servisy-platformy/roli-i-polnomochiya)
- [Скрипты и расширения](/docs/servisy-platformy/skripty-i-rasshireniya)
- [Фоновые задания](/docs/servisy-platformy/fonovye-zadaniya)
- [Массовый экспорт и импорт](/docs/servisy-platformy/massovyy-eksport-import)
