---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.2
alternate:
  - https://yamagistrali.ru/docs/ru/pages/api/access/access
  - href: https://yamagistrali.ru/docs/ru/pages/api/access/access.md
    type: text/markdown
    title: Markdown version
  - href: https://yamagistrali.ru/docs/ru/llms.txt
    rel: describedby
style:
  - _assets/style/custom.css
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/pages/api/access/access.html
vcsPath: ru/pages/api/access/access.md
---
# Доступ к API

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

{% note info %}

Клиентам из Казахстана необходимо заменить в ссылках домен c **.ru** на **.kz**

{% endnote %}

---

## Стенды

| Назначение | Описание                                | URL                                                                            |
| ---------- | --------------------------------------- | ------------------------------------------------------------------------------ |
| **Прод**   | Основной продакшн-стенд для работы      | [https://yamagistrali.ru/](https://yamagistrali.ru/)                           |
| **Тест**   | Тестовый стенд для партнёров и обучения | [https://partner-test-yamagistrali.ru/](https://partner-test-yamagistrali.ru/) |


---

## OpenAPI

Актуальная спецификация API доступна по ссылке:

[OpenAPI (Прод)](https://yamagistrali.ru/openapi/)

Для тестирования и разработки используйте:

[OpenAPI (Тест)](https://partner-test-yamagistrali.ru/openapi/)

> На странице OpenAPI нажмите кнопку **`Authorize`**, чтобы авторизоваться и использовать API прямо в браузере.

---

## Авторизация и токены {#token}

Все запросы к API требуют передачи токена в заголовке:

```http
Authorization: Bearer ваш_токен
```

---

### Автоматический способ (рекомендуется для разработки)

Откройте браузер и перейдите по ссылке

- **Прод**:
  [https://yamagistrali.ru](https://oauth.yandex.ru/authorize?response_type=token&client_id=d806112517c04057b82c1e776efb4648&redirect_uri=https://oauth.yandex.ru/verification_code)

- **Тест**:
  [https://partner-test-yamagistrali.ru](https://oauth.yandex.ru/authorize?response_type=token&client_id=456087b4e2554a3ead284d8115835732&redirect_uri=https://oauth.yandex.ru/verification_code)

После входа в аккаунт Яндекс ID вы будете перенаправлены на страницу с токеном.

---

### Авторизация через OpenAPI

1. Перейдите на:
    - Прод: [https://yamagistrali.ru/openapi/](https://yamagistrali.ru/openapi/)
    - Тест: [https://partner-test-yamagistrali.ru/openapi/](https://partner-test-yamagistrali.ru/openapi/)
2. Нажмите кнопку **`Authorize`**
3. Войдите под нужным аккаунтом
4. Токен будет автоматически применён ко всем вызовам

---

### Ручной способ (только для тестов)

{% note warning %}

Использование токена из кук браузера (`YToken`) в автоматизированных системах **не рекомендуется** в продакшн-среде из-за рисков безопасности.
Токен имеет длительный срок действия. При утечке может быть скомпрометирован.
Для не-Yandex ID аккаунтов рекомендуется использовать **OAuth 2.0 Client Credentials Flow**.

{% endnote %}

#### Как получить токен

1. Войдите в систему через браузер под нужным аккаунтом.
2. Откройте **инструменты разработчика** (F12).
3. Перейдите во вкладку **Application** → **Cookies**.
4. Найдите куку с именем `YToken`.
5. Скопируйте её значение — это и есть ваш токен.

> Рекомендуется **регулярно обновлять** токен и не хранить в открытом виде.

---

## Сайт и API

Сайт **использует то же API**, что и внешние интеграции. Это позволяет:

- Анализировать поведение системы через **сетевые вызовы в DevTools**
- Понимать формат запросов и ответов
- Отлаживать интеграции "по аналогии" с веб-интерфейсом

### Как смотреть вызовы

1. Откройте сайт в браузере
2. Нажмите `F12` → вкладка **Network**
3. Выполните нужное действие (например, создание заказа)
4. Найдите соответствующий `XHR`/`Fetch` запрос
5. Изучите:
    - URL
    - Заголовки (включая `Authorization`)
    - Тело запроса и ответа

---

## Как понять, под кем вы работаете

Для стабильной и безопасной работы важно знать:

- Какой **пользователь** авторизован
- Под каким **сотрудником** выполняются действия

---

### 1. Определение пользователя

Вызовите метод:

```http
GET /api/user/getYaId/v0
```

В ответе проверьте заголовок:

```txt
X-Email-Id: user@example.com
```

Это ваш логин в Яндекс.Магистралях.

---

### 2. Определение сотрудника

Вызовите метод:

```http
GET /api/users/userEmployees/get/list/v0
```

В ответе вы получите список сотрудников, от имени которых вы можете действовать:

```json
[
    {
        "id": "emp-123",
        "name": "Иван Иванов",
        "role": "agent",
        "active": true
    }
]
```

Убедитесь, что вы работаете от имени нужного сотрудника. Некоторые операции доступны только определённым ролям.

---
