Catálogo
Listar tus productos, leer sus variantes y revalidar existencias antes de crear una orden.
El catálogo que devuelve el API es el tuyo: los productos que agregaste a tu tienda, con tu precio de venta y tu costo. Esta guía explica qué significa cada dato y cómo usarlo; los parámetros y esquemas exactos están en la referencia de cada endpoint.
Listar productos
curl -X GET '{BASE_URL}/integrations/v1/products?limit=50&page=1&active=true' \
-H 'X-Drop-Key: …' -H 'X-Drop-Timestamp: …' \
-H 'X-Drop-Nonce: …' -H 'X-Drop-Signature: …'| Filtro | Notas |
|---|---|
search | Busca por nombre o SKU |
vendorId | Solo los productos de ese proveedor |
origin | vendor (productos de proveedor) o seller_owned (tus productos propios). Sin el filtro vienen los dos |
active | Default true. Poné false para ver los dados de baja |
page, limit | Paginación, ver Formato de las respuestas |
El listado viene ordenado por fecha de alta, del más reciente al más antiguo.
Lo que conviene tener claro de cada ítem:
| Campo | Notas |
|---|---|
id | El identificador que va en items[].catalogId al crear una orden, si el producto no tiene variantes. Si las tiene, se usa el id de la variante |
price | Lo que cobrás vos a tu cliente final. Es el mismo número que la columna "Precio" del catálogo en la app |
cost | Lo que pagás vos al proveedor, por unidad. Es la columna "Costo proveedor" de la app. Si tenés un costo negociado para ese producto, viene ese. En un producto propio es 0 |
suggestedPrice | Precio de venta sugerido por el proveedor. Es una sugerencia: el precio que cobrás es price. 0 si no se definió |
currency | Par nombre/símbolo del país del producto, no un código ISO |
stock | Consultarlo no lo reserva: entre que consultás y creás la orden puede cambiar |
visibility | private significa que el producto está reservado en exclusiva para vos, y entonces cost y stock son los pactados para vos. price no cambia: siempre es tu precio de venta |
origin | vendor si es un producto de proveedor que guardaste en tu catálogo; seller_owned si es un producto propio tuyo. Un producto propio no tiene proveedor: cost es 0 y vendorId viene vacío |
active | false en un producto dado de baja. Crear una orden con uno inactivo devuelve 400 |
sellerId | Tu identificador de dropshipper. Es el mismo en todos los ítems, porque el catálogo que devuelve el API es el tuyo |
hasVariants | Si es true, pedí el detalle: el listado no incluye las variantes |
Tus productos propios, los que creás en la pestaña "Productos propios" de la app, aparecen en el catálogo apenas los creás, sin necesidad de sincronizarlos con Shopify. Se piden y se venden igual que cualquier otro ítem.
Referencia: GET /products.
Cómo calcular tu margen
Tu margen por unidad es price − cost. No uses suggestedPrice: es solo una
sugerencia del proveedor.
Cuando agregás un producto a tu catálogo, Drop te calcula un price inicial.
Podés cambiarlo cuando quieras desde la plataforma de Drop. Ese precio inicial
ya incluye el envío y algunas comisiones, así que price − cost es un margen
bruto, no tu ganancia final. Para calcular la ganancia real de cada pedido,
usá el costo de envío y la comisión que trae la orden: ver
Costos de la orden.
Detalle de un producto
Devuelve los mismos campos del listado más variants.
Con variantes, el id que va en la orden es el de la variante
variants[].id es el que va en items[].catalogId, no el del producto padre.
productVariantId es la variante del proveedor de la que sale y no se usa
para crear órdenes.
Cada variante trae su propio price (lo que cobrás por esa variante), cost,
stock y active.
Referencia: GET /products/{id}.
Existencias en lote
Pensado para revalidar justo antes de crear una orden. Acepta ids de producto y de variante mezclados, hasta 100 por llamada, y omite los que no existen en vez de fallar el lote entero.
curl -X GET '{BASE_URL}/integrations/v1/products/stock?ids=65b0…c1&ids=65b0…01' \
-H 'X-Drop-Key: …' -H 'X-Drop-Timestamp: …' \
-H 'X-Drop-Nonce: …' -H 'X-Drop-Signature: …'Un id que no existe no aparece en la respuesta: compará contra los que
mandaste en lugar de asumir que el arreglo viene completo. isInStock es
quantity > 0, está por comodidad.
Recordá firmar ids con claves repetidas, no con corchetes (ver
Cadena canónica).
Referencia: GET /products/stock.