Быстрый старт
Создайте ссылки сразу, затем получите результаты пакета с помощью curl.
1. Получите данные доступа
Создайте личный ключ API в разделе Аккаунт → Приглашения → Ключи API. Скопируйте его, когда он появится, и передайте скрипту как NINJABUY_API_KEY; храните его в тайне.
Для приложения, действующего от имени других клиентов NinjaBuy, используйте OAuth.
2. Создайте ссылки сразу
curl -sS https://www.ninjabuy.com/api/v1/links \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "Content-Type: application/json" \
--data '{"links":["https://weidian.com/item.html?itemID=7581746714"],"campaign":"spring-haul","label":"video 3"}'До 100 входных значений возвращают 200 с results, warnings и request_id. Каждый результат содержит input и status; результат ok включает привязанный url и code. Проверяйте каждую строку: успешный HTTP-ответ не означает, что преобразованы все значения. См. Ссылки.
3. Запустите пакет
Более 100 входных значений автоматически обрабатываются в фоне, до 2 000 на запрос. Чтобы попробовать задание с одной ссылкой, задайте async значение true:
curl -sS -D batch-headers.txt https://www.ninjabuy.com/api/v1/links \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "Content-Type: application/json" \
--data '{"links":["https://www.ninjabuy.com/search?q=hoodie"],"async":true}'Ответ имеет статус 202. Location содержит относительный путь, например /api/v1/jobs/JOB_ID; Retry-After: 5 указывает, когда опрашивать задание. Тело содержит job.id, job.status, job.total и job.poll_after_seconds.
4. Читайте результаты по курсору
Используйте идентификатор задания из этого ответа. В первом запросе опустите cursor:
curl -sS "https://www.ninjabuy.com/api/v1/jobs/JOB_ID" \
-H "Authorization: Bearer $NINJABUY_API_KEY"В каждом следующем запросе передавайте полученный курсор без изменений, если он не равен null:
curl -sS "https://www.ninjabuy.com/api/v1/jobs/JOB_ID?cursor=RETURNED_CURSOR" \
-H "Authorization: Bearer $NINJABUY_API_KEY"Читайте results каждой страницы. Если has_more равно true, запрашивайте следующую страницу. Если оно равно false, но задание имеет статус queued или running, подождите poll_after_seconds и опросите снова с сохранённым курсором. Завершайте, когда задание имеет статус done или failed и все страницы прочитаны. См. Задания и Ошибки.
Следующие шаги
Преобразуйте Google-таблицу или загруженный XLSX/CSV через Таблицы либо найдите товары через Поиск.