Lee sesiones, SKU y pedidos mediante REST o GraphQL, o recibe eventos de sesión en tiempo real mediante webhook.
Usa el contrato API oficial y los ejemplos de integración de github.com/droprfid/api-client, o genera tu propio cliente desde la especificación OpenAPI.
Empieza con la guía de middleware de API pública, la guía de receptor webhook, o los ejemplos ejecutables para copiar y pegar.
Go to Admin → Claves API, click Create API Key, and copy the secret. It is shown only once.
Pass the key as a Bearer token on every request:
Authorization: Bearer drfid_sk_live_...
Base URL: https://www.droprfid.com/api/v1
Los ejemplos de middleware usan DROP_RFID_API_BASE_URL y DROP_RFID_API_KEY. Consulta la guía de API pública de API-client.
El repositorio público API-client incluye un ejemplo Node sin dependencias con comandos para listar y crear SKU, crear pedidos, listar sesiones, obtener una sesión y generar datos de sesión de demostración cuando esté habilitado.
export DROP_RFID_API_BASE_URL="https://www.droprfid.com/api/v1" export DROP_RFID_API_KEY="drfid_sk_live_replace_me" node examples/node-public-api.mjs list-skus
Abre examples/node-public-api.mjs para ver la versión ejecutable.
Returns every scan session for your organization with embedded device metadata.
GET /api/v1/public/sessions
curl -H "Authorization: Bearer drfid_sk_live_..." \ https://www.droprfid.com/api/v1/public/sessions
Returns the session, its scanned RFID tags, and the device that produced them.
GET /api/v1/public/sessions/{session_id}curl -H "Authorization: Bearer drfid_sk_live_..." \ https://www.droprfid.com/api/v1/public/sessions/<session_id>
{
"id": "...",
"org_id": "...",
"device_id": "...",
"status": "completed",
"created_at": "2026-04-22T09:00:00Z",
"completed_at": "2026-04-22T09:03:12Z",
"device": {
"id": "...",
"name": "Warehouse-01",
"serial_number": "SN-000123",
"status": "active"
},
"rfids": [
{ "rfid_code": "E200470000...", "tid": "...", "rssi": -42, "read_count": 6, "scanned_at": "..." }
]
}Lista, crea, consulta y actualiza pedidos. Los pedidos contienen lineas de SKU con cantidades esperadas.
GET /api/v1/public/orders # optional ?status=pending
POST /api/v1/public/orders # create
GET /api/v1/public/orders/{order_id}
PATCH /api/v1/public/orders/{order_id} # body: { "status": "completed" }curl -X POST -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"order_number": "PO-1042",
"items": [
{ "sku_id": "sku-uuid-1", "expected_quantity": 24 },
{ "sku_id": "sku-uuid-2", "expected_quantity": 6 }
]
}' \
https://www.droprfid.com/api/v1/public/orderscurl -X PATCH -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{"status": "completed"}' \
https://www.droprfid.com/api/v1/public/orders/<order_id>Allowed status values: pending, in_progress, review_required, blocked, completed, cancelled.
Los contenedores son colecciones con nombre que tienen un contenido registrado e identificadores RFID o de código de barras opcionales: una caja etiquetada cuyo contenido puedes recuperar escaneándola. Viven en su propia ruta: los contenedores nunca aparecen en /public/orders y los pedidos nunca aparecen en /public/containers.
GET /api/v1/public/containers # optional ?tag=holiday
POST /api/v1/public/containers # create
GET /api/v1/public/containers/{container_id}
PATCH /api/v1/public/containers/{container_id}curl -X POST -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"display_name": "Christmas decorations — Box 1",
"items": [
{ "sku_id": "sku-uuid-1", "expected_quantity": 12 }
],
"identifiers": [
{ "type": "rfid", "value": "E2004700ABCD" },
{ "type": "barcode", "value": "00123" }
]
}' \
https://www.droprfid.com/api/v1/public/containersEl contenido registrado describe lo que hay en el contenedor. No es prueba de que cada artículo se haya escaneado individualmente y nunca afecta al cumplimiento de pedidos ni al recuento de inventario.
curl -X PATCH -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{"revision": 3, "display_name": "Christmas decorations — Attic"}' \
https://www.droprfid.com/api/v1/public/containers/<container_id>revision es obligatorio en PATCH y debe coincidir con el último valor leído. Una revisión obsoleta devuelve 409 en lugar de sobrescribir en silencio una edición concurrente. Enviar items o identifiers reemplaza esa colección por completo.
Manage the SKU registry — products, variants, and the RFID codes bound to each. GET /skus/{sku_id} returns a SkuDetail with a rfids[] array.
GET /api/v1/public/skus
POST /api/v1/public/skus
GET /api/v1/public/skus/{sku_id}
PATCH /api/v1/public/skus/{sku_id}
DELETE /api/v1/public/skus/{sku_id}curl -X POST -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"sku_code": "TSHIRT-RED-M",
"product_title": "Classic Tee",
"brand": "Aqua",
"color": "Red",
"size": "M",
"barcode": "0123456789012",
"rfids": ["E200470000...", "E200470001..."],
"rfid_ranges": [
{ "start": "1000", "end": "1050", "format": "numeric" },
{ "start": "00000000000000FE", "end": "0000000000000110", "format": "hex" }
]
}' \
https://www.droprfid.com/api/v1/public/skusUsa rfid_ranges para vincular un bloque contiguo de códigos sin enumerarlos uno a uno. Cada entrada tiene start, end y format: "numeric" (enteros en base 10, rellenados con ceros hasta el límite más ancho) o "hex" (exactamente 16 dígitos hexadecimales). Los rangos se expanden en el servidor y se combinan con los rfids que también envíes; un solo rango admite como máximo 10.000 códigos.
All body fields are optional. Only fields you include are written. To clear a field, send an empty string. RFID bindings are managed separately.
curl -X PATCH -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{"product_title": "Classic Tee — Updated", "color": "Crimson"}' \
https://www.droprfid.com/api/v1/public/skus/<sku_id>curl -X DELETE -H "Authorization: Bearer drfid_sk_live_..." \ https://www.droprfid.com/api/v1/public/skus/<sku_id>
Returns 204 No Content on success. Deleting a SKU also removes its RFID bindings (the underlying RFID scan history is retained).
Lista o crea flujos de escaneo guiados, o importa de forma idempotente manifiestos YAML y JSON reutilizables por código de rutina.
GET /api/v1/public/routines POST /api/v1/public/routines POST /api/v1/public/routines/import
curl -X POST -H "Authorization: Bearer drfid_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"code": "inbound_receiving",
"name": "Inbound Receiving",
"description": "Capture a PO and location before scanning",
"enabled": true,
"config": {
"start_fields": [
{
"key": "po_number",
"label": "Purchase order",
"type": "text",
"required": true,
"searchable": true,
"display_in_sessions": true
}
],
"finish_fields": [],
"completion_actions": []
}
}' \
https://www.droprfid.com/api/v1/public/routinesUsa acciones de finalización para enviar webhooks firmados, crear informes o escribir en Shopify con el modo de acción que requiera tu operación.
Every API key is capped at 60 requests/minute and 1,000 requests/hour. All responses include:
X-RateLimit-Limit: 60 X-RateLimit-Remaining: 59 X-RateLimit-Reset: 1761096120
Over-limit requests return 429 Too Many Requests.
/api/v1/public/…./v2).Machine-readable spec: https://www.droprfid.com/api/v1/openapi.json
© 2026 DropRFID. Todos los derechos reservados.