Saltar al contenido

En desarrolloPróximamente

Docs

REST API + MCP — todo documentado.

Spec OpenAPI 3.1, 16 herramientas, webhooks RGPD, límites por plan. La referencia para integrar PackMate.

Inicio rápido

Cinco minutos hasta la primera petición

De la instalación a tu primera llamada API autenticada. Funciona para REST y MCP.

  1. 1

    Instalar PackMate en Shopify

    Clic «Instalar» en App Store. PackMate funciona en cada plan, puedes empezar en Free.

  2. 2

    Generar clave API

    Configuración → API & MCP → Generar. Prefijo pm_live_ o pm_test_ para sandbox.

    pm_live_4f3a8b9c2d1e...
  3. 3

    Primera petición

    Usa curl o cliente HTTP. Header X-API-Key autentica cada petición.

    curl https://packmate.shop/api/v1/health \
      -H 'X-API-Key: pm_live_…'
  4. 4

    Siguiente: MCP

    Para IA, la misma clave funciona para servidor MCP. Ver /ai para Claude / ChatGPT.

Autenticación

Claves API, scopes, rotación

PackMate usa claves API con header X-API-Key. SHA-256 hashed, scopeadas, rotación en un clic.

Formato de clave

Dos prefijos: pm_live_ producción, pm_test_ sandbox. Body 32 caracteres base62.

pm_live_4f3a8b9c2d1e7f6a5b4c3d2e1f0a9b8c

Formato de header

Envía la clave en X-API-Key. Bearer en Authorization también acepto.

X-API-Key: pm_live_…
# o
Authorization: Bearer pm_live_…

Rotación

Genera nueva clave, intercambia, revoca la antigua. Hasta 5 claves activas por tienda.

DELETE /api/v1/keys/:key_id
Response: 204 No Content

Scopes

Claves full read+write por defecto. Scoped keys en roadmap.

scope: read_only | label_only | full
Límites de tasa

Los límites escalan con tu plan

Límites por minuto y burst. Bursts suavizados por token bucket. Planes Custom negocian.

PlanReq / minBurstConcurrente
Free601205
Basic12024010
Pro30060025
Business600120050
Customneg.neg.neg.
Desliza para ver más

Al alcanzar el límite, obtienes 429 con header Retry-After. El header indica cuántos segundos esperar.

Códigos de error

Qué significa cuando algo falla

Semántica HTTP estándar con cuerpos de error PackMate. Cada error incluye código y mensaje.

CódigoSignificadoAcción
400
Bad request — cuerpo o query mal formadoVerifica la forma contra la spec OpenAPI.
401
No autorizado — clave API faltante o inválidaEnvía header X-API-Key con clave pm_live_ válida.
402
Pago requerido — límite alcanzadoUpgrade o espera al próximo ciclo. Bulk-Reconciliation tras upgrade.
403
Prohibido — función fuera del planSolo query_carrier_rates es plan-gated (Custom).
404
No encontrado — recurso no existeVerifica el ID. Pedido puede no estar sincronizado aún.
422
No procesable — validación semántica fallidaLee error.message — típicamente dimensiones faltantes.
429
Demasiadas peticiones — límite alcanzadoBack-off via header Retry-After.
500
Error interno — bug nuestroRetry una vez, luego email a support@packmate.shop con request_id.
503
Servicio no disponible — mantenimiento o BDRetry con backoff exponencial. Status en status.packmate.shop.
Desliza para ver más
Error cliente (4xx)Error servidor (5xx)
Webhooks

RGPD + ciclo de vida webhooks

PackMate registra seis webhooks Shopify. Cuatro obligatorios RGPD, dos operativos. Firmados HMAC-SHA256.

customers/redactRequerido

Cliente solicita eliminación. PackMate anonimiza en 30 días.

customers/data_requestRequerido

Cliente solicita exportación. PackMate compila en 30 días.

shop/redactRequerido

Shopify lo envía unas 48 horas después de desinstalar. PackMate elimina entonces todos los datos de la tienda de su base de datos.

app/uninstalledRequerido

La aplicación se desinstaló. PackMate marca la tienda como desinstalada, revoca sus claves API y finaliza la suscripción. Los datos se eliminan con shop/redact.

products/updateOpcional

Producto cambiado — PackMate refresca dimensiones cacheadas.

app/scopes_updateOpcional

Scopes cambiados — PackMate solicita re-autorización.

Todos los webhooks firmados HMAC-SHA256 con tu app secret. Verifica X-Shopify-Hmac-SHA256.

¿Listo para integrar? Genera una clave.

Instala, genera clave, ejecuta primera petición — en menos de cinco minutos.