Ограничение вызовов API Shopify для частных приложений

Мы разрабатываем частное приложение для использования с нашим магазином Shopify. Чтобы не выходить за пределы API, мы внедрили базовую настраиваемую задержку для каждого вызова API.

Мы начали с задокументированного ограничения API в 500 вызовов каждые 5 минут, что соответствовало задержке в 600 мс на вызов. Однако после 50 вызовов сервер не отвечает на HTTP GET.

Даже после того, как мы увеличили задержку до 1200 мс на вызов API, он все равно не работает после 50 вызовов.

Мы используем Shopify4J в магазине, который находится в пробном периоде (myfirststore-3).

Я просмотрел вики, документы API, форумы и SO, но там нет упоминания о каких-либо других ограничениях, кроме официального ограничения 500/5 минут.

Используем ли мы другой лимит звонков для частных приложений или пробных магазинов?


person Inder    schedule 27.08.2012    source источник
comment
Какой ответ вы получаете в ответ?   -  person John Duff    schedule 27.08.2012
comment
Ответ на 50-й GET: \n0\n См. трассировку из журналов HTTPClient.... DEBUG org.apache.http.headers — ›› GET /admin/products/count.json HTTP/1.1 DEBUG org.apache.http. заголовки - ›› Хост: myfirststore-3.myshopify.com DEBUG org.apache.http.headers — ›› User-Agent: Apache-HttpClient/4.2.1 (java 1.5) DEBUG org.apache.http.headers — ›› Cookie: _secure_session_id=02cc7a4d48dc879ecd7b1a692042b29e DEBUG org.apache.http.wire — ‹‹ [\r][\n] DEBUG org.apache.http.wire — ‹‹ 0[\r][\n] DEBUG org.apache.http .wire - ‹‹ [\r][\n] DEBUG oahicDefaultHttpResponseParser - Мусор в ответ:   -  person Inder    schedule 28.08.2012
comment
На основании этого и наших журналов не похоже, чтобы запрос дошел до нас. Можете ли вы убедиться, что запрос действительно отправляется по сети?   -  person John Duff    schedule 28.08.2012
comment
Джон... Я запустил на своей машине прокси-сервер и подделал имена хостов, чтобы наш код подключался к нему. Из логов прокси я вижу, что GET-запрос происходит. Поскольку проблема в клиентском коде (см. ответ ниже), нам все еще нужно выяснить, где мы сталкиваемся с проблемой. Спасибо, что уделили время просмотру журналов сервера.   -  person Inder    schedule 28.08.2012


Ответы (1)


Кажется, проблема в самой реализации java-клиента. Мы поняли это, добавив все инициализации внутри нашего цикла.

После внесения этого изменения мы смогли выполнять до 500 вызовов API за 5 минут, как указано в документации.

Мы добавили библиотеку apache httpclient в пакет Shopify4J, чтобы заставить ее работать на наших внутренних серверах, и, вероятно, она нуждается в некоторой настройке. Конечно, это не долгосрочное решение нашей проблемы, но оно дает ответ на этот вопрос.

Как только мы выясним проблему в нашем коде, опубликуем комментарий здесь.

person Inder    schedule 28.08.2012