tooyz / moysklad

Moysklad PHP JSON API library
MIT License
65 stars 57 forks source link

При создании заказа не прописывается его статус #91

Closed eugene-bulanov closed 3 years ago

eugene-bulanov commented 3 years ago

Пробую получить статус по ID:

$orderStatus = State::query($this->instance)
  ->byId($stateID)
  ->transformToClass(State::class);

$stateID верный.

Но ловлю Exception с ошибкой "Ошибка в адресе запроса". Что-то не так с адресацией у этой сущности. По идее запрос должен быть сюда: https://online.moysklad.ru/api/remap/1.2/entity/counterparty/metadata

tooyz commented 3 years ago

У вас по ссылке запрос контрагента, соответственно код должен быть такой

Counterparty::query($this->instance)->byId($id);
eugene-bulanov commented 3 years ago

Да вот как раз нужен не он, а статус. Просто в документации МойСклад именно такой адрес для статуса:

https://dev.moysklad.ru/doc/api/remap/1.2/dictionaries/#suschnosti-statusy-dokumentow-poluchit-metadannye

tooyz commented 3 years ago

Counterparty::getMetaData($this->instance); Возможно это подойдёт

eugene-bulanov commented 3 years ago

Выкрутился вот так: CustomerOrder::getMetaData($this->instance)->states->get(4); Но по порядковому номеру не круто, конечно, получать. Как-то можно его по ID склада получить? Без перебора массива.

tooyz commented 3 years ago

Можно использовать filter на entityList. Другого способа пока нет