Публикация

подписчиков: 4 Подписаться
0
Avatar

Новичку с API. Как выгрузить приемку/отгрузку по номеру?

Здравствуйте. 

Документацию читал.  GET api/remap/1.1/entity/supply/7944ef04-f831-11e5-7a69-971500188b19

Но не понятно, как отбирать документ по человеческому номеру, не по UUID ?  Т.е. пользователь вводит номер документа и нужно по API выгрузить его содержимое: номенклатуру, количество.

Подозреваю, что будет конструкция поиска: meta => href , но не смог найти правильного примера. Могли бы привести пример кода?

Видимо, такая же схема используется во всех остальных сущностях? Т.е. чтоб изменить товар, документ и т.п. по внешнему коду надо сначала его найти. А как?

Спасибо большое заранее.

Sergei Shakhov

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

Комментариев: 5

1
Avatar

Здравствуйте!

В ресурсах списков операций можно искать операции с помощью фильтра search. Поиск по этому параметру всегда смотрит в номер документа и, также, может смотреть в другие поля сущности и искать по ним. Пример:
Запрос вида ...api/remap/1.1/entity/supply?search=00001 отдаст только приёмки с номером, в котором содержится подстрока '00001'. Из этих приёмок вы уже можете вытащить href из meta и запрашивать их отдельными объектами, а также редактировать и удалять.

Если поиск нужен исключительно по конкретному полю - номеру документа, можно воспользоваться параметром фильтрации выборки ?filter=name=<строка>. В результате такой фильтрации, поиск будет происходить исключительно по полю name не заглядывая в остальные поля сущности.

Apanin 1 голос
0
Avatar

Спасибо большое! Получилось. Шапка выгрузилась.

А как быть с товарами, позициями в ней?  Как получить их вместе с шапкой?

/entity/demand/{id}/positions   уже требует знать {id} ,   сюда уже не дописать ?search=00001

Sergei Shakhov 0 проголосовали
0
Avatar

Почитайте раздел "Фильтрация выборки с помощью параметра filter"
Запрос примерно такой будет:
https://online.moysklad.ru/api/remap/1.1/entity/demand?filter=name=1234
Обратите внимание, что значение filter нужно прогнать через urlencode!

$filter_name = urlencode('name=1234');
'https://online.moysklad.ru/api/remap/1.1/entity/demand?filter='.$filter_name

Дмитрий 0 проголосовали