Git Product home page Git Product logo

api-php-client's People

Contributors

artezh avatar brizhanev avatar dimqakolyada avatar evgenygavrilov avatar pahanini avatar pastuhov avatar shuffleboy avatar stylecibot avatar userlond avatar xepozz 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

Watchers

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

api-php-client's Issues

API v5 page 15057 (Или где-то рядом)

[{"balance":"0","id":1623644,"price":155.4,"sid":1994203}
,{"balance":"0","id":1623667,"price":550.8,"sid":1995517}
,{"balance":"0","id":1623624,"price":418.48,"sid":1994634}
,{"balance":"0","id":1623623,"price":313.14,"sid":1993349}
,{"balance":"0","id":1623668,"price":212.16,"sid":1993356}
,{"balance":"0","id":1623614,"price":244.94,"sid":1993758}
,{"balance":"0","id":1623625,"price":244.94,"sid":1993760}
,{"balance":"0","id":1623701,"price":244.94,"sid":1993774}
,{"balance":"0","id":1623652,"price":212.16,"sid":1993353}
,{"balance":"0","id":1623693,"price":184.26,"sid":1994212}
,{"balance":"0","id":1623680,"price":155.4,"sid":1994210}
,{"balance":"0","id":1623676,"price":244.94,"sid":1993769}
,{"balance":"0","id":1623685,"price":184.26,"sid":1994211}
,{"balance":"0","id":1623633,"price":391.68,"sid":1995511}
,{"balance":"0","id":1623636,"price":418.48,"sid":1994636}
,{"balance":"0","id":1623612,"price":418.48,"sid":1994632}
,{"balance":"0","id":1623695,"price":550.8,"sid":1995523}
,{"balance":"0","id":1623709,"price":212.16,"sid":1993365}
,{"balance":"0","id":1623688,"price":2.5761914952e+09,"sid":1993360}
,{"balance":"0","id":1623656,"price":244.94,"sid":1993765}
,{"balance":"0","id":1623655,"price":155.4,"sid":1994205}
,{"balance":"0","id":1623702,"price":143.19,"sid":1994648}
,{"balance":"0","id":1623705,"price":550.8,"sid":1995525}
,{"balance":"0","id":1623654,"price":134.31,"sid":1995073}
,{"balance":"0","id":1623673,"price":212.16,"sid":1993357}
,{"balance":"0","id":1623615,"price":391.68,"sid":1995508}
,{"balance":"0","id":1623648,"price":134.31,"sid":1995072}
,{"balance":"0","id":1623611,"price":313.14,"sid":1993347}
,{"balance":"0","id":1623700,"price":550.8,"sid":1995524}
,{"balance":"0","id":1623639,"price":155.4,"sid":1994202}
,{"balance":"0","id":1623675,"price":418.48,"sid":1994643}
,{"balance":"0","id":1623640,"price":391.68,"sid":1995512}
,{"balance":"0","id":1623698,"price":184.26,"sid":1994213}
,{"balance":"0","id":1623691,"price":550.8,"sid":1995522}
,{"balance":"0","id":1623642,"price":134.31,"sid":1995071}
,{"balance":"0","id":1623637,"price":313.14,"sid":1993351}
,{"balance":"0","id":1623610,"price":155.4,"sid":1994197}
,{"balance":"0","id":1623690,"price":2.5761914952e+09,"sid":1993361}
,{"balance":"0","id":1623650,"price":391.68,"sid":1995514}
,{"balance":"0","id":1623620,"price":391.68,"sid":1995509}
,{"balance":"0","id":1623626,"price":134.31,"sid":1995068}
,{"balance":"0","id":1623618,"price":134.31,"sid":1995067}
,{"balance":"0","id":1623708,"price":251.84,"sid":1993775}
,{"balance":"0","id":1623671,"price":550.8,"sid":1995518}
,{"balance":"0","id":1623684,"price":468.43,"sid":1994645}
,{"balance":"0","id":1623661,"price":244.94,"sid":1993766}
,{"balance":"0","id":1623689,"price":143.19,"sid":1994646}
,{"balance":"0","id":1623687,"price":244.94,"sid":1993771}
,{"balance":"0","id":1623628,"price":155.4,"sid":1994200}
,{"balance":"0","id":1623678,"price":212.16,"sid":1993358}
,{"balance":"0","id":1623631,"price":418.48,"sid":1994635}
,{"balance":"0","id":1623696,"price":143.19,"sid":1994647}
,{"balance":"0","id":1623641,"price":418.48,"sid":1994637}
,{"balance":"0","id":1623632,"price":134.31,"sid":1995069}
,{"balance":"0","id":1623706,"price":143.19,"sid":1994649}
,{"balance":"0","id":1623666,"price":244.94,"sid":1993767}
,{"balance":"0","id":1623657,"price":391.68,"sid":1995515}
,{"balance":"0","id":1623682,"price":550.8,"sid":1995520}
,{"balance":"0","id":1623660,"price":155.4,"sid":1994206}
,{"balance":"0","id":1623703,"price":184.26,"sid":1994214}
,{"balance":"0","id":1623704,"price":212.16,"sid":1993364}
,{"balance":"0","id":1623647,"price":418.48,"sid":1994638}
,{"balance":"0","id":1623645,"price":313.14,"sid":1993352}
,{"balance":"0","id":1623659,"price":418.48,"sid":1994640}
,{"balance":"0","id":1623686,"price":550.8,"sid":1995521}
,{"balance":"0","id":1623649,"price":155.4,"sid":1994204}
,{"balance":"0","id":1623643,"price":391.68,"sid":1995513}
,{"balance":"0","id":1623664,"price":155.4,"sid":1994207}
,{"balance":"0","id":1623622,"price":155.4,"sid":1994199}
,{"balance":"0","id":1623669,"price":155.4,"sid":1994208}
,{"balance":"0","id":1623635,"price":244.94,"sid":1993762}
,{"balance":"0","id":1623672,"price":244.94,"sid":1993768}
,{"balance":"0","id":1623651,"price":244.94,"sid":1993764}
,{"balance":"0","id":1623629,"price":313.14,"sid":1993350}
,{"balance":"0","id":1623677,"price":550.8,"sid":1995519}
,{"balance":"0","id":1623630,"price":244.94,"sid":1993761}
,{"balance":"0","id":1623616,"price":155.4,"sid":1994198}
,{"balance":"0","id":1623707,"price":184.26,"sid":1994215}
,{"balance":"0","id":1623617,"price":418.48,"sid":1994633}
,{"balance":"0","id":1623665,"price":418.48,"sid":1994641}
,{"balance":"0","id":1623619,"price":313.14,"sid":1993348}
,{"balance":"0","id":1623694,"price":212.16,"sid":1993362}
,{"balance":"0","id":1623692,"price":244.94,"sid":1993772}
,{"balance":"0","id":1623627,"price":391.68,"sid":1995510}
,{"balance":"0","id":1623679,"price":468.43,"sid":1994644}
,{"balance":"0","id":1623674,"price":155.4,"sid":1994209}
,{"balance":"0","id":1623621,"price":244.94,"sid":1993759}
,{"balance":"0","id":1623662,"price":212.16,"sid":1993355}
,{"balance":"0","id":1623653,"price":418.48,"sid":1994639}
,{"balance":"0","id":1623670,"price":418.48,"sid":1994642}
,{"balance":"0","id":1623699,"price":212.16,"sid":1993363}
,{"balance":"0","id":1623646,"price":244.94,"sid":1993763}
,{"balance":"0","id":1623681,"price":244.94,"sid":1993770}
,{"balance":"0","id":1623634,"price":155.4,"sid":1994201}
,{"balance":"0","id":1623683,"price":2.5761914952e+09,"sid":1993359}
,{"balance":"0","id":1623638,"price":134.31,"sid":1995070}
,{"balance":"0","id":1623697,"price":244.94,"sid":1993773}
,{"balance":"0","id":1623613,"price":134.31,"sid":1995066}
,{"balance":"0","id":1623658,"price":212.16,"sid":1993354}
,{"balance":"0","id":1623663,"price":391.68,"sid":1995516}
]

Получение штрих-кодов товара по API

Получаем по API любой товар, например вот этот
https://www.sima-land.ru/api/v3/item/?sid=1521100&has_balance=0

Поле barcode (где по идее должен быть штрих-код товара) всегда пусто.
В результате, нам сейчас приходится после каждого заказа просить нашего менеджера присылать нам штрих-коды, и вручную их вводить.

Есть ли способ получать штрих-коды товара по API?

api + wordpress

Есть ли возможность привязать api клиент к wordpress?

Реализовать статистику

общее:

  1. общее время работы
  2. общее время ожидания
  3. кол-во циклов ожидания (сбой в апи)

по каждой сущности:

  1. скорость парсинга
  2. кол-во

выводить в коносль

Получение обновлений

У вашего магазина очень много товаров. Обрабатывать полный список "на лету" нет возможности. Подскажите как можно получить список лишь изменившихся и добавленных товаров и категорий?

Команды

Здравствуйте! Выполнил установку клиента через команду composer require "sima-land/api-php-client", установка прошла успешна, но далее в консоли не работают команды, к примеру:
curl -i -H "Accept:application/json" "https://www.sima-land.ru/api/v3/item/"
Ошибка:
Invoke-WebRequest : Missing an argument for parameter 'InFile'. Specify a parameter of type 'System.String' and try again
At line:1 char:6

  • curl -i -H "Accept:application/json" "https://www.sima-land.ru/api/v3/item/"
  •  ~~
    
    • CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
    • FullyQualifiedErrorId : MissingArgument,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

В чем проблема и как решить её?
P.s. OS Windows Server 2012 R2, WampServer

Получить данные товара не в наличии

Предположим, есть товар с артикулом sima land 1521100. Этот товар сейчас не в наличии на sima-land.ru.

Требуется как-то получить по api данные этого товара. Пробовал без результата
https://www.sima-land.ru/api/v3/item/?sid=1521100
а также
https://www.sima-land.ru/api/v3/item/?sid=1521100&is_disabled=1&is_deleted=1

Возможно ли в принципе получить через api данные товара не в наличии по sima артикулу?
Если да, то как это сделать?

Поиск товара по SID API v5

Не увидел в документации возможности поиска товара по SID, как можно было делать в API v.3:
GET https://www.sima-land.ru/api/v3/item?sid=1125295

Впрочем, не увидел возможности вообще как-либо фильтровать результаты. Планируется ли в API v.5 такое реализовывать?

Отдавать дерево категорий в nested set

При загрузке полного дерева категорий, вы отдаете только parent_id, и поэтому дерево приходится строить самостоятельно. При вашем гигантском количестве категорий, серверы клиентов загибаются от нагрузки во время пересчета.

Просьба отдать все необходимые ключи для nested set (left, right, deep, parent).

Не получается получить заголовок Etag в запросах.

Ни через curl, ни через библиотеку никак не могу получить Etag в хедерах.

GET https://www.sima-land.ru/api/v3/item/

Хедеры ответа

Content-Encoding: gzip
Content-Type: application/json; charset=UTF-8
Date: Tue, 01 Nov 2016 05:51:10 GMT
Link: <https://www.sima-land.ru/api/v3/item/?page=1>; rel=self, <https://www.sima-land.ru/api/v3/item/?page=2>; rel=next, <https://www.sima-land.ru/api/v3/item/?page=25484>; rel=last
Server: nginx
Set-Cookie: userSettings=098f88b4af38509ca4193fce26dc09c613d23ee8422d3b7cfa3e5eb678cc7e5ba%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22userSettings%22%3Bi%3A1%3Bs%3A42%3A%22%7B%22sort%22%3A%22%22%2C%22per_page%22%3A20%2C%22currency%22%3A%22RUB%22%7D%22%3B%7D; path=/; HttpOnly
Transfer-Encoding: chunked
X-Pagination-Current-Page: 1
X-Pagination-Page-Count: 25484
X-Pagination-Per-Page: 50
X-Pagination-Total-Count: 1274191
access-control-allow-credentials: true

С чего начать?

Пытаюсь разобраться, но с чего начать? Что конкретно нужно установить, как запустить и куда писать код?

Параметры по умолчанию

Можно как то узнать о параметрах запроса, идентичных тем, что выводятся на сайте?

Например, в категории
https://www.sima-land.ru/igrushki/igrushki-dlya-malchikov/roboty-transformery/transformery/
на сайте отображается 370 товаров

А если же делать запрос парсером по categoty_id = 1763
в файле создаётся 1496 строк сущностей Товар

Ограничения API v5

Приветствую. Методом научного тыка установил, что https://www.sima-land.ru/api/v5/item?p=n&view=brief. Принимает 249 запросов в секунду, потом выбивает в 403. Сколько нужно ждать пока не ясно (чаще всего 5 секунд достаточно, но иногда приходится ждать больше). В документации по v5 нет ни строчки об этом.
Подскажите какие лимиты у v5 и добавьте это в хелп

Не полностью выгружаются товары

Здравствуйте! Использую такой код для парсинга, но он выгружает не все товары, которые в наличии, а только около 257 тысяч вместо 484 тысяч
$categoryStorage = new \SimaLand\API\Parser\Csv(['filename'=>$path_category]);
$categoryList = new \SimaLand\API\Entities\CategoryList($client,['getParams'=>['with_adult'=>1]]);
$parser->addEntity($categoryList, $categoryStorage);

$itemStorage = new \SimaLand\API\Parser\Csv(['filename'=>$path_item]);
$itemList = new \SimaLand\API\Entities\ItemList($client,['getParams'=>['with_adult'=>1, 'has_balance'=>1, 'has_photo'=>1, 'is_gift'=>0]]);
$parser->addEntity($itemList,$itemStorage);

$parser->reset();
$parser->run();

Вопрос по версиям АПИ

Здравствуйте.
Сейчас интеграция реализована на api v2, получили письмо насчет его закрытия.

Что лучше, перейти на v3 или сразу на v5?

И вопрос по v5:
Насколько я понял, там нет возможности получать рубрики первого уровня, подрубрики рубрик, а только весь список.
Предполагается, что сначала выгружается весь список рубрик и товаров, а потом локально формируется дерево каталога (по path)?
И как предполагается определять последний Номер страницы (p) - увеличивать до тех пор пока не вернется ошибка?

Как получить фото товара

Предположим, что я получил ссылки на фото товара из
https://www.sima-land.ru/api/v3/item/?sid=1816492

<photos>
<item>
<url_part>
https://cdn2.static1-sima-land.com/items/1569976/0/
</url_part>
<version>0</version>
</item>
<item>
<url_part>
https://cdn2.static1-sima-land.com/items/1569976/1/
</url_part>
<version>0</version>
</item>
</photos>

Каким образом теперь получить фото из ссылок наподобие
https://cdn2.static1-sima-land.com/items/1569976/0/
?

Эти фото не открываются просто по ссылке, пишут 403 forbidden.
Попробовал получить через curl с авторизацией через логин и пароль на sima-land - без результата.

$saveto = DIR_IMAGE . 'f23134.jpg';
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'mylogin*:mypass*');
$raw=curl_exec($ch);
curl_close ($ch);
if(file_exists($saveto)){
  unlink($saveto);
}
$fp = fopen($saveto,'x');
fwrite($fp, $raw);
fclose($fp); 

Каким образом автоматически получить актуальные фото товара (который может быть не в наличии на sima-land) без водяных знаков sima-land?

Интерфейс API

Прошу мне помочь, т.к. я не совсем программист, но освоить могу хоть что.
Подскажите с чего нужно начать, чтобы настроить работу интерфейса API на моем сайте?

  1. Как правильно сформировать запрос на определенные категории товаров?
  2. Куда нужно писать запрос?
  3. Каким должен быть ответ на запрос?
  4. Что делать с ответом на запрос?

Реализовать возможность загрузки всех товаров в категории с потомками или без них

Сейчас вообще не понятно как сделать выгрузку всех товаров из определенной категории.
В api v3 это можно, но там нет параметра, чтобы не загружать потомков. Для нормальной работы нужны оба варианта загрузки.

В readme поместить только информацию о быстром старте, с лучшими опциями

Остальную документацию (Авторизация, Запрос к API, Асинхронные запросы к API, Парсер) перенести в директорию ./doc.
Будет намного понятнее как все просто и круто, а если кто хочет подробностей посмотрит подробную документацию.

при выгрузке товаров в csv поля съезжают

пример:

id=>1404354
sid=>1382535
uid=>d49acaa4-f55f-11e5-80c0-00155d65b108
name=>"Ежедневникъ" 280 стр (красный) 14,5 х 21 см
...
photos=>{"id":356,"name":"Индия","full_name":"Республика Индия","alpha2":"IN"}
country=>
offer=>0
discountPercent=>https://st-sima.r.worldssl.net/items/1404354/0/140.jpg
img=>
hasGift=>
hasGiftAssignee=>1
isNovelty=>/1382535/ezhednevnik-280-str-krasnyy-14-5-h-21-cm/
itemUrl=>

Поведение has_balance

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

Пару дней назад изменилось поведение API v3, а именно поведение параметра has_balance.

Согласно документации:
has_balance - Показывать только товары, которые есть на складе

При значении 1 (которая установлено по умолчанию), возвращались только те товары, которые есть на складе. При значении 0 - возвращались товары без учета наличия.

В данный момент работает так:
has_balance == 0 - ищет товары, которых нет на складе
has_balance == 1 - ищет товары, которые есть на складе

Таким образом, пропала возможность находить товар по SID без учета наличия, приходится делать два запроса.

Например, по запросу товар, который есть на складе, сейчас не возвращается -> https://www.sima-land.ru/api/v3/item/?sid=1552044&has_balance=0.

По возможности - поправьте, пожалуйста. Не удобно делать два запроса.

Спасибо!

Отправка POST запроса

В сущностях, где требуется отправка GET запроса все работает, но для сущности delivery-price необходимо отправлять POST запрос, пробую так

$client = new \SimaLand\API\Rest\Client([
'login' => 'XXX',
'password' => 'XXX',
'pathToken' => 'xxx/xxx',
'baseUrl' => 'https://www.sima-land.ru/api/v3',
]);

$request = new \SimaLand\API\Rest\Request([
  'method' => 'POST',
  'entity' => 'delivery-price',
  'postParams' => [
    'settlement_id' => 'XXX',
    'items' => json_encode([])
  ]
]);

$responses = $client->batchQuery([$request]);

Приходит ответ, что параметры settlement_id и items не переданы. И еще вопрос, если в batchQuery передать очень много запросов, они будут отправлены с учетом лимита в 30 запросов в секунду?

Смещение значений в таблице товаров

Есть проблемы при парсинге, некоторые значения товаров, к примеру ид категории, смещаются в другие столбцы, в результате все значения просто смещаются и не соответствуют столбцам

Рекомендации по установке через composer

по рекомендации в установке
composer require "sima-land/api-php-client:~3"

но данная версия не работает с PHP 7.2

Compile Error: Cannot use SimaLand\API\Object as Object because 'Object' is a special class name
Видел что мастер ветке уже исправлена, данная проблема. возможно необходимо поставить ограничения в composer.json на установку при версии php выше 7

Не корректно работают списковые API запросы к сущности "Связь атрибута с товаром" - не учитываются входные параметры

мне нужно получить список свойств товара
делаю запрос по item_id
https://www.sima-land.ru/api/v3/attr-item/?item_id=1255080
получаю первую партию ВСЕГО! списка, со значениями к item_id=1255080 никак не относящимися!

даже по id не пашет
https://www.sima-land.ru/api/v3/attr-item/?id=36450,36451

Какой параметр для изображений?

Здравствуйте! В faq не ясно, как получать фотографии нужного размера через парсер, поэтому возникает вопрос, какой параметр (getParams) нужно передавать для получения необходимого размера фотографии без водяного знака?

Проблема при установке при помощи composer

При изучении документации по адресу https://www.sima-land.ru/api/v3/help/, узнал, что нужно ставить готовую библиотеку при помощи composer библиотеку для работы с API командой
composer require "sima-land/api-php-client": "~3"

Не получается установить библиотеку данной командой, выдает ошибку:

[InvalidArgumentException]
  Could not find a matching version of package ~3. Check the package spelling
  , your version constraint and that the package is available in a stability
  which matches your minimum-stability (stable).

Тесты

в папке /tests/ реализованы тестовые скрипты
как из запускать ?
никакой документации не нашел :(

например, при запуске ItemListTest.php пишет
Fatal error: Class 'SimaLand\API\Tests\BaseCase' not found in /..../tests/ItemListTest.php on line 10

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.