Skip to content

amirkum/java-remap-1.2-sdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-remap-sdk 1.2

Данная библиотека предназначена для удобной работы с API Remap версии 1.2 МоегоСклада. Она содержит набор функций, позволяющий совершать базовые операции над сущностями (создание, чтение, изменение, удаление).

Подключение

<dependency>
    <groupId>ru.moysklad.api</groupId>
    <artifactId>api-remap-1.2-sdk</artifactId>
</dependency>

Пример работы

Начало работы

Основной класс, посредством которого осуществляется работа с SDK: ru.moysklad.remap_1_2.ApiClient

Для того, чтобы начать работу, требуется создать экземпляр этого класса, передав в конструктор поля адрес хоста API, флаг принудительного соединения по https, а также логин в формате [имя пользователя]@[название компании] и пароль для доступа к API:

import ru.moysklad.remap_1_2.ApiClient;

ApiClient api = new ApiClient("api.moysklad.ru", true, "[API_LOGIN]", "[API_PASSWORD]");

Работа с сущностями

Для доступа к эндпоинтам отдельных сущностей используется метод ru.moysklad.remap_1_2.ApiClient.entity(), который возвращает базовый клиент для сущностей. Этот объект позволяет получить клиент для работы с конкретной сущностью. Например, чтобы получить список всех контрагентов, достаточно выполнить следующий код:

ListEntity<Counterparty> counterpartyList = api.entity().counterparty().get();

Чтобы отправить запрос к API на создание сущности, достаточно создать объект класса, заполнить необходимые поля, и затем при помощи соответствующего клиента вызвать метод post(), передав в качестве параметра созданный объект:

Product product = new Product();
product.setName("Новый продукт");
api.entity().product().create(product);

После выполнения кода и при успешном создании объект product будет заполнен полями, полученными из ответа API (id, href и др.).

Для изменения уже созданной сущности используется метод update() клиента сущности, где в качестве параметров выступают либо сущность с измененными полями (должен быть установлен id), либо id и сущность с измененными полями:

product.setDescription("Описание продукта");
api.entity().product().update(product);

Полностью аналогично производится работа с остальными методами. Работа с вложенными сущностями производится при помощи специальных методов клиентов сущностей (например, метод получения позиций документов getPositions(String, ApiParam...)).

Экспорт документов

Экспорт документов осуществляется с использованием шаблонов. Чтобы получить список доступных шаблонов для данного документа, нужно у соответствующего клиента вызвать цепочку методов metadata().embeddedtemplate(). Например, получение списка шаблонов экспорта для отгрузки:

ListEntity<Template> templates = api.entity().demand().metadata().embeddedtemplate();

Для создания печатной формы по выбранному шаблону используется метод клиента документа export(). В самом простом виде вызов метода выглядит следующим образом:

File exportFile = new File("demandExport.pdf");
api.entity().demand().export("{demand_id}", templates.getRows().get(0), exportFile);

В результате вызова метода будет создан файл demandExport.pdf, содержащий экспортированную отгрузку с id = {demand_id} по первому доступному шаблону.

Дальнейшее знакомство

Список доступных в Remap API 1.2 методов и сущностей, а также накладываемые ограничения по работе с API можно узнать в документации по ссылке https://dev.moysklad.ru/doc/api/remap/1.2/

Запуск тестов

Запуск тестов приводит к созданию номенклатуры и документов на аккаунте.

Запуск всех тестов требует корпоративного аккаунта и не рекомендуется.

Для запуска тестов нужно в переменные среды прописать корректные данные для доступа к API:

  • API_HOST — хост API (например api.moysklad.ru)
  • API_LOGIN — логин в формате [имя пользователя]@[название компании]
  • API_PASSWORD — пароль