06 praktika api biznes ru

В этом файле — итоговое задание по работе с API. Вы примените всё, что прошли в методичке: REST, заголовки, тело запроса, OAuth 2.0, Postman (или свой язык программирования). Работа ведётся с API Бизнес.Ру — это REST API; все запросы выполняются по HTTP(S), с телом в JSON там, где это предусмотрено документацией.

Документация API (обязательно к изучению): https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228

На сайте «Бизнес.Ру для разработчиков» описаны модели данных, endpoint’ы, авторизация и примеры. Точные URL, форматы тел запросов и коды ошибок берите из документации и разделов по конкретным моделям.

Модели данных в документации (где искать описание):

Задача
Модель (файл в документации)

Контрагенты

partners.json

Заказ покупателя

customerorders.json

Отгрузки (реализации)

realizations.json

Поиск заказов покупателя

customerorderssearch.json

Условия выполнения

  • Инструмент: Postman или программа на вашем языке (Python, JavaScript, Java, C# и т.д.). Достаточно одного варианта.

  • Авторизация: через Бизнес.ID по OAuth 2.0. Параметры (Auth URL, Token URL, Client ID, Client Secret, Callback URL) указываются в документации Бизнес.Ру / Бизнес.ID.

  • Базовый URL API и список методов — в https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228 и в разделах по нужным сущностям.

Порядок заданий

1

1. Изучить документацию

  • Откройте: https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228.

  • Просмотрите структуру разделов: авторизация (OAuth 2.0, Бизнес.ID), модели данных, примеры запросов.

  • Убедитесь, что понимаете, где искать описание: контрагенты — partners.json, заказы покупателя — customerorders.json, отгрузки — realizations.json, поиск заказов — customerorderssearch.json.

2

2. Пройти авторизацию в сервисе Бизнес.ID (OAuth 2.0)

  • В документации найдите раздел про авторизацию и Бизнес.ID (OAuth 2.0): Auth URL, Access Token URL, Client ID, Client Secret, Callback URL.

  • В Postman: настройте тип авторизации OAuth 2.0, укажите Grant Type (обычно Authorization Code), введите URL и учётные данные приложения, нажмите Get New Access Token и пройдите вход в браузере. Либо реализуйте получение токена в коде (запрос на Auth URL → обмен кода на токен по Token URL).

  • Убедитесь, что последующие запросы к API уходят с заголовком: Authorization: Bearer <ваш_токен>

3

3. Создать контрагента

  • В документации откройте описание модели partners.json (контрагенты). Найдите метод создания (обычно POST на соответствующий endpoint).

  • Сформируйте тело запроса в JSON по схеме из документации (обязательные поля: название, ИНН и т.д. — по описанию API).

  • Выполните запрос. Сохраните идентификатор созданного контрагента — он понадобится в следующих шагах.

4

4. Изменить данные контрагента

  • В модели partners.json найдите метод обновления контрагента (обычно PUT или PATCH по URL с ID контрагента).

  • Выполните запрос с телом, в котором указаны поля, которые нужно изменить. URL — с ID контрагента, полученным на шаге 3.

5

5. Удалить контрагента

  • В модели partners.json найдите метод удаления контрагента (обычно DELETE по URL с ID).

  • Выполните запрос. Убедитесь, что контрагент удалён (код ответа и при необходимости проверка списком или повторным запросом по ID).

Примечание: если по логике API удалённого контрагента нельзя использовать в заказе, для шагов 6–7 может понадобиться создать контрагента заново и использовать его ID в заказе покупателя. Либо выполнять шаги 6–7 до удаления контрагента (см. документацию и порядок операций).

6

6. Создать заказ покупателя

  • В документации откройте модель customerorders.json (заказ покупателя). Найдите метод создания (POST на соответствующий endpoint).

  • В теле запроса укажите обязательные поля; укажите контрагента (ID контрагента из шага 3 или созданного заново). Формат полей — по документации.

  • Выполните запрос. Сохраните идентификатор заказа покупателя для шагов 7 и 9.

7

7. Создать реализацию на основе заказа покупателя

  • В документации откройте модель realizations.json (отгрузки/реализации). Найдите способ создания реализации на основе заказа покупателя (часто передаётся ID заказа в теле или в параметрах).

  • Выполните запрос, указав созданный заказ покупателя. Сохраните при необходимости ID реализации для отчётности.

8

8. Попробовать удалить заказ покупателя

  • В модели customerorders.json найдите метод удаления заказа покупателя (обычно DELETE по URL с ID заказа).

  • Выполните запрос на удаление созданного заказа.

  • Зафиксируйте результат: удаление разрешено (успешный ответ) или API возвращает ошибку (например, запрет удаления из-за связи с реализацией). Опишите в отчёте, что вернул API и почему, по вашему мнению, так происходит (см. документацию по правилам удаления).

9

9. Найти созданный заказ покупателя через customerorderssearch

  • В документации откройте модель customerorderssearch.json (поиск заказов покупателя): endpoint и параметры запроса (фильтры, пагинация).

  • Сформируйте запрос так, чтобы в результатах оказался созданный ранее заказ покупателя (по ID, дате, контрагенту и т.д. — по тому, что поддерживает API).

  • Выполните запрос и убедитесь, что заказ найден (или что он не возвращается, если к этому моменту был удалён или отфильтрован условиями).

Что сдать / проверить

  • Выполнение всех пунктов 1–9 (в Postman или в коде).

  • Краткий отчёт или скриншоты: какие запросы делали, какие коды ответа и при необходимости фрагменты тел ответов. Для пункта 8 — что вернул API при попытке удаления заказа и как вы это интерпретируете.

  • Понимание: где в документации искать endpoint’ы, как передавать токен OAuth 2.0, в каком формате (REST, JSON) общаться с API.

Полезные ссылки

  • Введение в API Бизнес.Ру (полное API): https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228

  • Бизнес.Ру для разработчиков: https://api-online.class365.ru/main/index

Примечание: если какой-то endpoint или поле в документации названо иначе (например, на английском или в другом разделе), ориентируйтесь на актуальную структуру разделов на сайте. Все операции в этом задании выполняются через REST (HTTP-методы, URL, JSON в теле где нужно).