DropRFID
Cómo FuncionaFlujosHardwarePreciosDesarrolladoresBlog y novedadesGuíasFAQContactoTienda

Documentación para desarrolladores

Lee sesiones, SKU y pedidos mediante REST o GraphQL, o recibe eventos de sesión en tiempo real mediante webhook.

Clientes API

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.

1. Create an API key

Go to Admin → Claves API, click Create API Key, and copy the secret. It is shown only once.

2. Authenticate

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.

Inicio de middleware para copiar y pegar

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.

3. List sessions

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
4. Get one session with RFIDs

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": "..." }
  ]
}
5. Orders

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" }
Create with SKU items
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/orders
Update status
curl -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.

6. Contenedores

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}
Crear con contenido registrado
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/containers

El 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.

Renombrar o reabastecer
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.

7. SKU

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}
Create
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/skus

Usa 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.

Partial update

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>
Delete
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).

8. Rutinas

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
Crear una rutina guiada de recepción
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/routines

Usa 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.

Rate limits

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.

Versioning and stability
  • The public API lives under /api/v1/public/….
  • Breaking changes will ship under a new version prefix (e.g. /v2).
  • New optional fields and new endpoints may be added in-place.
  • Removals will be announced with a deprecation header at least one release cycle ahead.
  • Any route not listed on this page is internal and may change without notice.

Machine-readable spec: https://www.droprfid.com/api/v1/openapi.json

© 2026 DropRFID. Todos los derechos reservados.

GuíasBlog y novedadesSobre NosotrosSoluciones RFID personalizadasPrivacidadeBayAmazonDes Dayton DigitalTérminosContactoÚnetesupport@droprfid.com