Ir al contenido

Autenticación

Todas las requests autenticadas a Pickwise Public API usan Bearer tokens (API Keys) en el header Authorization. Cada key tiene permisos granulares asignados al momento de emitirla.

pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Prefijo pk_live_ identifica que es una key productiva
  • El resto son caracteres aleatorios (40 chars)
  • Inmutable — si necesitás rotarla, Pickwise emite una nueva y desactiva la anterior

Incluir el header Authorization: Bearer <TU_API_KEY> en cada request.

Ventana de terminal
curl https://api-{CLIENTE}.pickwise.com.ar/api/v1/public/products \
-H "Authorization: Bearer pk_live_xxxx"

Cada API Key tiene un subset de los siguientes permisos:

PermisoQué permite
products:readGET /products, GET /products/{externalId}
products:writePOST /products, POST /products/batch
orders:readGET /orders, GET /orders/{externalId}
orders:writePOST /orders, POST /orders/batch, POST /orders/{externalId}/cancel
webhooks:manageTodo el CRUD de webhooks

El endpoint GET /health no requiere ningún permiso (ni siquiera key).

Tu request no incluye una API Key válida.

Causas posibles:

  • Header Authorization ausente
  • Formato incorrecto (ej: Authorization: pk_live_... sin Bearer )
  • Key inválida o revocada
  • Key expirada

Ejemplo de respuesta:

{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "API Key inválida o ausente."
},
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}

Tu API Key es válida, pero no tiene el permiso requerido para ese endpoint.

Ejemplo: intentás hacer POST /products pero tu key solo tiene products:read.

{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "Tu API Key no tiene el permiso products:write."
},
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}

Si recibís 403 sistemáticamente, contactá a soporte para revisar los permisos asignados.

Si tu integración corre desde IPs estáticas conocidas, podés pedir a Pickwise que restrinja tu API Key a un rango específico de IPs. Esto mitiga el impacto si la key se filtra.

Requests desde IPs no permitidas reciben 403 IP_NOT_ALLOWED.

Para habilitarlo, contactá a soporte@lubee.com.ar con la lista de IPs a permitir.