API REST

Inicio rápido

Crea enlaces en una respuesta inmediata y recupera un lote con curl.

1. Obtén las credenciales

Crea una clave API personal en Cuenta → Referidos → Claves API. Cópiala cuando se muestre y proporciónala a tu script como NINJABUY_API_KEY; mantenla privada.

Para una aplicación que actúe en nombre de otros clientes de NinjaBuy, usa OAuth.

2. Crea enlaces con respuesta inmediata

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"}'

Hasta 100 entradas devuelven 200 con results, warnings y request_id. Cada resultado tiene un input y un status; un resultado ok incluye la url con atribución y el code. Revisa cada fila: el éxito HTTP no significa que se hayan convertido todas las entradas. Consulta Enlaces.

3. Inicia un lote

Más de 100 entradas se procesan automáticamente en segundo plano, con un máximo de 2.000 por solicitud. Para probar un trabajo con un solo enlace, establece async en 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}'

La respuesta es 202. Location indica una ruta relativa como /api/v1/jobs/JOB_ID; Retry-After: 5 indica cuándo consultar el estado. El cuerpo contiene job.id, job.status, job.total y job.poll_after_seconds.

4. Lee los resultados por cursor

Usa el identificador del trabajo de esa respuesta. Omite cursor en la primera solicitud:

curl -sS "https://www.ninjabuy.com/api/v1/jobs/JOB_ID" \
  -H "Authorization: Bearer $NINJABUY_API_KEY"

En cada solicitud posterior, envía el cursor recibido que no sea nulo sin modificarlo:

curl -sS "https://www.ninjabuy.com/api/v1/jobs/JOB_ID?cursor=RETURNED_CURSOR" \
  -H "Authorization: Bearer $NINJABUY_API_KEY"

Lee los results de cada página. Si has_more es true, recupera la siguiente página. Si es false pero el trabajo está queued o running, espera poll_after_seconds y vuelve a consultar con el cursor guardado. Termina cuando el trabajo esté done o failed y hayas leído todas las páginas. Consulta Trabajos y Errores.

Próximos pasos

Convierte una hoja de Google o un archivo XLSX/CSV subido con Hojas de cálculo, o encuentra productos con Búsqueda.