Comparativa
Usa imports/* cuando…
- Estás haciendo una actualización completa del catálogo desde tu ERP o PIM.
- Los datos ya están en un CSV (o tu pipeline puede producir uno a bajo costo).
- La latencia de reloj no importa: puedes consultar el estado periódicamente.
- Quieres una sobrecarga mínima de solicitudes por fila.
POST /v1/imports/productsPOST /v1/imports/transactionsPOST /v1/imports/competitor_pricesPOST /v1/imports/product_store
Usa /bulk cuando…
- Estás sincronizando deltas desde tu sistema de origen con una programación basada en eventos.
- Quieres un único viaje de ida y vuelta y un resultado inmediato por fila.
- Puedes dar forma a la carga útil como JSON (los registros no provienen de forma natural de un archivo).
- El tamaño del lote está entre cientos y pocos miles.
POST /v1/products/bulkPOST /v1/product_store/bulkPOST /v1/transactions/bulkPOST /v1/competitor_prices/bulk
Usa el registro individual POST /v1/<entity>/{entity_id} cuando…
- Estás reaccionando a un cambio individual en tu sistema de origen (un producto actualizado, una transacción registrada).
- Quieres una semántica de estado fuerte por llamada (
201frente a422directamente). - Necesitas el cuerpo completo de la respuesta para la fila que acabas de escribir.
Un patrón pragmático
La mayoría de las integraciones en producción acaban usando dos de las tres:imports/productsde catálogo completo a diario para absorber todos los cambios del origen.products/bulkoPOST /v1/products/{entity_id}basados en eventos para actualizaciones de baja latencia entre sincronizaciones completas.

