Qué es exactamente la Admin API de Shopify
La Admin API es un conjunto de herramientas técnicas (REST API y GraphQL) que Shopify pone a disposición de desarrolladores para interactuar con tu tienda de forma programática. Mientras que el panel administrativo es visual y manual, la API permite que aplicaciones lean y escriban datos automáticamente.
Funciona bajo el modelo de solicitud-respuesta: tu aplicación envía una petición (por ejemplo, "dame los 50 últimos pedidos"), Shopify procesa esa solicitud y devuelve los datos en formato estructurado (JSON). Todo esto ocurre en milisegundos.
Existen dos sabores técnicos: la REST API (más simple, punto de entrada clásica) y GraphQL (más moderna, eficiente, permite consultas complejas en una sola petición). La mayoría de nuevos desarrollos usan GraphQL, pero REST sigue siendo válida para casos básicos.
Shopify gestiona límites de uso estrictos: tiendas Premium pueden hacer aproximadamente 2 peticiones por segundo, tiendas estándar 1 petición por segundo. Esto previene sobrecarga de servidores y garantiza estabilidad para todos los usuarios.
Casos de uso reales de la Admin API
La Admin API resuelve problemas concretos en operaciones de ecommerce:
**Sincronización de inventario**: Una tienda que vende en Shopify, Amazon y Mercado Libre necesita que el stock sea coherente en las tres plataformas. Con la Admin API, una aplicación puede leer el inventario de Shopify cada hora y actualizar automáticamente los otros canales.
**Integración con ERP**: Una empresa con 500+ SKUs que usa un sistema ERP empresarial (SAP, NetSuite) necesita que cambios en el ERP se reflejen en Shopify automáticamente. La API permite consultar el ERP cada noche, detectar cambios y actualizar precios y stock en Shopify.
**Automatización de flujos de pedidos**: Cuando llega un pedido a Shopify, una aplicación puede capturarlo automáticamente, validar dirección, crear un albarán en el sistema de logística, notificar al almacén y actualizar el cliente, todo sin intervención humana.
**Análisis y reporting personalizados**: Shopify ofrece reportes básicos, pero si necesitas un dashboard personalizado con métricas específicas (margen por cliente, días de inventario, etc.), la API te permite extraer datos brutos y construir tu propio análisis.
**Migración de datos**: Si quieres migrar 10,000 productos de otra plataforma a Shopify, hacerlo manualmente tomaría semanas. Con la Admin API, un script puede crear todos los productos en horas.
Para una tienda española de 2,000 EUR/mes en ventas, esto es especialmente útil si operan en múltiples mercados o usan herramientas externas complejas.
Cómo acceder y autenticarse en la Admin API
Para usar la Admin API necesitas permisos de acceso. Hay dos caminos:
**1. Apps privadas (para tu propia tienda)**: Creas una aplicación privada directamente en tu panel administrativo. Vasa a Configuración > Apps y canales > App y canales de desarrollo > Crear una app. Generas credenciales (API key y API secret) únicas. Este método es ideal si construyes herramientas internas para tu tienda o para un cliente específico. Las credenciales son tokens de autenticación que proteges como una contraseña.
**2. Apps públicas (para vender en la App Store)**: Si quieres construir una aplicación que venda a múltiples tiendas, usas OAuth 2.0. El usuario instala tu app, tu aplicación solicita permisos específicos, y Shopify devuelve un token de acceso temporal. Este método es más seguro porque la contraseña nunca se comparte.
Una vez tienes credenciales, la autenticación es sencilla: incluyes el token en cada solicitud HTTP (en el header Authorization: Bearer token). Shopify verifica que el token es válido y que tiene permisos para esa acción.
Los permisos se definen en el archivo `shopify.app.toml` (apps modernas) o en el dashboard. Puedes dar permisos granulares: "leer productos pero no modificarlos", "acceso a pedidos pero no a clientes", etc. Esto sigue el principio de menor privilegio: cada aplicación solo puede hacer lo mínimo necesario.
Diferencias entre REST API y GraphQL
Shopify ofrece dos dialectos técnicos para la Admin API:
**REST API**: Estructura tradicional basada en recursos. Cada recurso (productos, pedidos, clientes) tiene endpoints específicos. Por ejemplo, GET /api/2024-01/products.json devuelve todos los productos. Es intuitiva si vienes de desarrollo web clásico, pero requiere múltiples solicitudes si necesitas datos relacionados. Si quieres un pedido con todos sus detalles (líneas, cliente, dirección), necesitas hacer 3-4 solicitudes.
**GraphQL**: Lenguaje de consulta moderno donde defines exactamente qué datos necesitas en una única solicitud. Pregunta al servidor: "Dame el ID, título y precio de productos donde el inventario es menor a 10". El servidor devuelve solo eso, nada más. Es más eficiente en ancho de banda y conexión.
**¿Cuál elegir?**: Usa REST si construyes algo simple (crear un producto, listar pedidos). Usa GraphQL si necesitas consultas complejas, múltiples recursos en una sola llamada, o si tu ancho de banda es limitado. GraphQL es más moderno y Shopify la impulsa para nuevos desarrollos.
Ejemplo REST: 2 solicitudes para obtener un pedido con cliente. Ejemplo GraphQL: 1 solicitud con estructura anidada.
Ambas tienen límites de tasa. Shopify también penaliza más las consultas ineficientes en GraphQL, por lo que escribir queries optimizadas es crítico.