Git Product home page Git Product logo

moysklad's People

Contributors

evgeek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

moysklad's Issues

Ошибка при обработке дополнительных полей заказа покупателя в объектом подходе

Привет, при обработке заказа:

$order = Customerorder::make($ms->api(), ['id' => 'тут uuid'])->get();

выдает такую ошибку:

Cannot modify readonly property Evgeek\Moysklad\Api\Record\AbstractUnknownRecord::$type
vendor/evgeek/moysklad/src/Api/Record/AbstractRecord.php:96

Ломается на моменте обработки массив attributes (Дополнительные поля) заказа. Массив поля если что, выглядит так:

[
    "meta"  => [
        "href"      => "https://online.moysklad.ru/api/remap/1.2/entity/customerorder/metadata/attributes/тут uuid",
        "type"      => "attributemetadata",
        "mediaType" => "application/json",
    ],
    "id"    => "тут uuid",
    "name"  => "Название",
    "type"  => "boolean",
    "value" => false,
]

Добавить в метод state класса Meta параметр entity

Привет!
Заметил, что в классе Meta есть метод state и он возвращает метадату статуса только для заказа (customerorder). Думаю можно было бы добавить вторым параметром в этом методе переменную entity, со значением по умолчанию "customerorder". Это даст возможность создавать метадату статуса для любой сущности с помощью этого метода.

Подскажите по использованию

Доброго дня! Библиотеку установил, классы подключаются, вроде все нормально, а вот как дальше - разобраться сложновато.
Первый вопрос технический - будет ли работать на локалке (OpenServer) php 8.1 (просто может и не стоит на локалке пробовать, вот в чем вопрос, и все это работает только по https ?)
Но попробовал, вот так

$ms = new \Evgeek\Moysklad\MoySklad(['my_token_here']);
$product = $ms->entity()->product()->limit(10);

получаю объект, но в нем по сути ничего нет, множество полей разных. Приведите пожалуйста какой то простейший пример, как получить, например, номер заказа, или контаргентов, ну то есть хоть увидеть работает или нет)) Дальше уже сам надеюсь разберусь.
Заранее благодарен!

use meta->href

Здравствуйте. У меня такой вопрос в рамках ваше проекта как я могу быстро переходить по адресам получаемым в meta.
Какой мне использовать для этого метод или писать свой?

Изменения в классе Meta

Привет!

В версии 0.10 появилось много изменений в классе Meta, есть пара моментов с ними:

  1. Поменялся порядок аргументов в методе state, но об этом нет информации в Upgrade guide, а также нет примера в документации, как правильно передавать родителя.
  2. В методе attributemetadata, используется только для сущности модификации, хотя атрибуты также есть у CustomerOrder например.

Как получить количество продаж каждого товара?

Здравствуйте, поступила задача получить количество продаж каждого товара. Необходимую мне информацию нашел в разделе «История» у каждого товара. Скажите, через какой метод я могу получить историю или может у вас уже есть метод который сможет мне предоставить информацию о количестве проданных товаров?
мойсклад1

Добавление банковских счетов к контрагенту

Добрый день!
Хотелось бы какой-то более удобный и наглядный способ для обновления сущностей.
Сейчас процесс для добавления нового счета к контрагенту выглядит так:

$contragent = $ms->query()->entity()->method('counterparty')->limit(100)->filter(.....)->expand('accounts')->get()->rows[0];

$contragent->accounts = $ms->query()->entity()->method('counterparty')->byId($contragent->id)->method('accounts')->get();

$contragent->accounts->rows[] = ['accountNumber' => $number, 'bankName' => $bankname, 'bic' => $bic];

$contragent = $ms->query()->entity()->method('counterparty')->byId($counterparty->id)->update($contragent);

Из самого очевидного - зачем нам ещё раз формировать url запроса к сущности, если он у нас лежит в meta->url? хотелось бы просто взять его и отправить запрос либо напрямую от сущности типа $contragent->update()
Либо, что могло бы пригодиться при работе со всякими доп справочниками и доп полями - обращение по url
типа $ms->queryByUrl($contragent->accounts->meta->url)->get()

Когда я хочу скачать документ, он выдает ошибку

Когда я хочу скачать документ, он выдает ошибку InvalidArgumentException

$ms->query()
    ->endpoint('entity')
    ->method('customerorder')
    ->byId($orderID)
    ->method('export')
    ->send('POST',
    [
      "template" =>  [
        "meta" =>  [
          "href"=> "https://api.moysklad.ru/api/remap/1.2/entity/customerorder/metadata/customtemplate/45f9e4cd-ecb8-4e26-9876-343ee4c8afe7",
          "type"=> "customtemplate",
          "mediaType" => "application/json"
        ]
      ],
      "extension" => "xls"
    ])

Evgeek\Moysklad\Formatters\StdClassFormat.php

  try {
            $encodedContent = json_decode($content, false, 512, JSON_THROW_ON_ERROR);
        } catch (Throwable) {
            $this->throwContentIsNotValidJsonObject($content);
        }

на самом деле $content — это содержимое файла,
но здесь он просит JSON

Есть ли другой способ скачать документы?

HELP!!!!

Проблема!!! Составление запроса правильное, но при вызове метода get() - пустота! Где-то по пути теряются данные.

Как пользоваться?

Установка
$ composer require evgeek/moysklad

Это куда надо писать? Куда файлы копировать? В общем, очень непонятно описано и как пользоваться не понятно...

Отправка запросов с множественным действием

Я пытался написать множественное обновление товаров и модифицкаций, и для этого использовать метод send(HttpMethod::POST, [[<item>]]). При отправке запроса с множественным действием я получал ошибку на уровне ApiClient. Хотелось бы иметь возможность отправлять запросы с множественными действиями (создание/обновление). По запросу все выполнял как требуется и передавал к item meta если этот объект необходимо редактировать.

Что-то со свойствами класса не то ))

Здравствуйте. Список товаров я получил.

$products = $ms->query() ->entity() ->product() ->order('name') ->limit(3) ->get();

Тут выдает предупреждение:
foreach ($products as $product) { var_dump($product->name); }

Warning: Undefined property: stdClass::$name in /moysklad/index.php on line 20 NULL

Expand Images

Здравствуйте. expand() должен разворачивать картинки и возвращать в виде массива или что? с expand('images') и без него, результат один.

image

Нужна документация по order()

->order('moment','desc') - так работает
->order('moment,desc') - так не использует порядок сортировки, отправляет как order=moment,desc,asc

Тогда вопрос, как указывать несколько сортировок? через массив?

[q] А как создавать категории?

я скопировал все классы у продукта на получение и вроде создания категорий
категории я отдельно получаю но вот создаются они исключительно в корне

$productfolder = $this->ms
					->query()
					->entity()
					->productfolder()
					// ->debug()
					->create(['name' => $cro->get('pagetitle'), 'pathName' => 'Товары']);

ЗЫ
вы уж извините что я так много вопросов создаю

Webhooks

Добрый день!
может ли библиотека работать с вебхуками?
Если да, то можно примеры?

Ошибка при обработке групп контрагента в объектом подходе

Привет, при обработке массива tags (Группы контрагентов) у контрагента выдает такую ошибку:

Evgeek\Moysklad\Formatters\RecordFormat::convertToStdClass(): 
Argument #1 ($content) must be of type Evgeek\Moysklad\Api\Record\AbstractRecord|array, string given, called in vendor/evgeek/moysklad/src/Formatters/RecordFormat.php on line 118

Массив tags если что, выглядит вот так:

['Название группы']

Запрос документа с остатками

Пытаюсь получить остаток для отгрузки, но не получается сформировать запрос тк operation.id заменяется на operation_id в конструкторе

Помогите

 $demandstock = $ms
->query()
->fromUrl("https://online.moysklad.ru/api/remap/1.2/report/stock/byoperation?operation.id=0bf54c31-9d12-11ee-0a80-153f00149905", true)
->get();

Vendor API можно собрать?

Доброго времени!
Можно ли при помощи Конструктор запросов сделать запрос к Vendor API?
Смотрю что везде жестко прописан базовый URL только к Json Api.

Сущности

Теперь точно по существу. Работа с сущностями по типу - "companysettings/pricetype". Api отдает json. По коду я получаю вот такую ошибку:
Fatal error: Uncaught TypeError: Evgeek\Moysklad\Formatters\StdClassFormat::encode(): Return value must be of type stdClass, array returned in /vendor/evgeek/moysklad/src/Formatters/StdClassFormat.php:31
vendor/evgeek/moysklad/src/Http/ApiClient.php(39): Evgeek\Moysklad\Formatters\StdClassFormat::encode('[ {\n "meta" : ...')vendor/evgeek/moysklad/src/Api/Builders/Builder.php(40): Evgeek\Moysklad\Http\ApiClient->send(Object(Evgeek\Moysklad\Http\Payload))vendor/evgeek/moysklad/src/Api/Traits/Actions/GetTrait.php(27): Evgeek\Moysklad\Api\Builders\Builder->apiSend(Object(Evgeek\Moysklad\Enums\HttpMethod))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.