Como desarrollador trabajando en aplicaciones de Shopify, necesitarás usar la API de Shopify en algún momento. La API te permite hacer cosas como descargar el inventario de productos o modificar el tema de una tienda. Esta guía paso a paso te ayudará a empezar a utilizar la API de Shopify. En este artículo aprenderás: Qué información de la tienda necesitarás para empezar, cómo obtener tu código de acceso y canjearlo por un token de tienda, o cómo hacer llamadas a la API.
Muchos vendedores en Shopify necesitan ayuda para incorporar funciones adicionales a su tienda. O tal vez seas un desarrollador que tiene una gran idea para una nueva aplicación (app) que ayudaría a los propietarios de tiendas a vender mejor. Sea cual sea tu caso, es muy probable que necesites usar la API de Shopify. La API te permite hacer cosas como descargar el inventario de productos de una tienda o modificar el tema de la tienda.
En este artículo, vamos a ver lo que se necesita para obtener acceso a una tienda en particular y hacer llamadas a la API. Suponemos que tienes al menos algunos conocimientos de programación. Utilizaré PHP para presentar los ejemplos, pero puedes utilizar casi cualquier lenguaje de programación para lograr todas las funcionalidades que se describen.
Crea aplicaciones para vendedores de Shopify
Ya sea porque quieras crear aplicaciones para la Tienda Apps de Shopify, ofrecer servicios privados de desarrollo de aplicaciones, o estés buscando formas de hacer crecer tu base de usuarios, el Programa de Socios de Shopify te preparará para el éxito. Únete gratis y accede a recursos educativos, entornos de previsualización para desarrolladores y oportunidades de compartir ingresos recurrentes.
Tipos de aplicaciones
En Shopify, existen dos tipos de aplicaciones: privadas y públicas. Las aplicaciones privadas están restringidas a una sola tienda y suelen estar destinadas a los propietarios de tiendas que desean ampliar la funcionalidad de sus propios negocios. Las aplicaciones públicas, como ya habrás adivinado, son aplicaciones que se ofrecen a todos los propietarios de tiendas y no se limitan a una sola. Por ejemplo, todas las aplicaciones que aparecen en la Shopify App Store son aplicaciones públicas. En este artículo nos centraremos en las aplicaciones públicas, pero la parte técnica de ambas es la misma.
También te puede interesar: 4 consejos para crear una app de Shopify que venda.
Antes de empezar
En esta guía te acompañaremos paso a paso para poner en funcionamiento tu aplicación y en comunicación con la API de Shopify. Antes de continuar, tendrás que hacer lo siguiente (si aún no lo has hecho):
- Regístrate para obtener una cuenta de partner de Shopify. ¡Es gratis!
- Cuando inicies sesión, sigue adelante y crea las claves API de tu aplicación aquí.
La mayoría de las opciones se explican por sí solas, sin embargo, cuando llegues al campo de URL de devolución de llamada de aplicación, tendrás que introducir el nombre de dominio en el que estás trabajando. Shopify solo enviará tokens a este dominio. Por ejemplo, si estás trabajando de manera local en tu ordenador, es posible que quieras establecerlo de momento en http://localhost/.
- Después de iniciar sesión, haz clic en Aplicaciones en la barra de navegación de la izquierda y selecciona Crear Aplicación.
Ponle el nombre que quieras a tu aplicación. Para la URL de la aplicación, introduce el dominio en el que estás trabajando seguido de /install.php. Si estás trabajando localmente en tu ordenador, deberás introducir http://localhost/install.php. Es posible que necesites añadir un número de puerto si tu servidor no funciona en el puerto 80 (por ejemplo, http://localhost:8888/install.php).
- Una vez creada la aplicación, accede a la pestaña Información de la aplicación. En Whitelisted Redirect URL(s), deberás añadir el mismo dominio que en el paso 3, esta vez junto a /generate_token.php. Por ejemplo, si estás trabajando de forma local en tu ordenador, deberás añadir http://localhost/generate_token.php.
- Desplázate hasta la parte inferior de esta ventana y anota tu clave API y tu clave secreta API. Necesitarás estas credenciales para seguir los ejemplos.
Descarga mi ejemplo de código PHP. Todo mi código de ejemplo que encontrarás a continuación está sacado de estos scripts. El código del ejemplo está escrito en un estilo procedimental para facilitar el aprendizaje de los conceptos básicos. En un entorno de producción, seguramente querrás añadir más comprobaciones y optimizaciones.
Ya que hablamos de URLs, aprende más sobre qué es una URL canónica y por qué son tan importantes.
Generar un access token
Para empezar a trabajar con los datos de la tienda utilizando la API de Shopify, debes estar autenticado por la tienda. Esto significa que el propietario de la tienda debe instalar y aprobar tu aplicación para obtener determinados permisos (por ejemplo, para crear nuevos productos). Esto se hace utilizando un proceso llamado OAuth, que es un método muy seguro y común para la comunicación entre aplicaciones. Sé que parece complicado, pero no te preocupes, cualquiera puede dominarlo rápidamente.
En este artículo, vamos a utilizar OAuth para construir una URL especial donde el usuario puede aprobar su aplicación y, finalmente, generar un token especial que se puede utilizar para acceder a la tienda correspondiente a través de la API en el futuro. A continuación encontrarás un diagrama de flujo con todos los pasos necesarios para lograrlo.
Paso 1: Recopilación de información sobre la tienda
Cuando un vendedor de Shopify solicita instalar tu aplicación a través de la Shopify App Store, se enviará una solicitud a la URL de tu aplicación con el parámetro de la tienda (shop) añadido. El valor del parámetro shop será el nombre de dominio myshopify del comerciante, por ejemplo
http://localhost/install.php?shop=johns-apparel.myshopify.com.
Podemos imitar esta solicitud de instalación simplemente pegando esta URL en la barra de direcciones de nuestro navegador mientras nuestro servidor está en funcionamiento, sustituyendo el valor de shop por el dominio de tu tienda en desarrollo de Shopify.
Paso 2: Autorización de instalación
Una vez que tengas la URL “myshopify.com” del propietario de la tienda, tendrás que redirigir al usuario a una URL en la que puedan aprobar tu aplicación. El formato de esta URL es el siguiente:
https://{shop}.myshopify.com/admin/oauth/authorize?client_id={api_key}&scope={scopes}&redirect_uri={redirect_uri}
{shop} El subdominio “myshopify.com” URL que te ha proporcionado el usuario.
{api_key} La clave API que se te proporcionó, según lo indicado anteriormente.
{scopes} Esta es una lista de permisos que solicitas que autorice el propietario de la tienda.
Para este ejemplo vamos a querer la capacidad de leer los pedidos y modificar los productos, por lo que solicito read_orders y write_products. Consulta la lista completa de scopes y sus definiciones (en inglés).
{redirect_uri} La URL a la que se debe redirigir al usuario a continuación. Esta es la dirección del script que generará el token, como se describe en el paso 3 a continuación.
Ejemplo de código PHP
Paso 3: Capturar el código de acceso
Si el usuario ha aprobado la instalación, se devolverá junto a un código de autorización en la URL como una cadena de consulta. Por ejemplo:
La parte antes del “?” coincide con la variable $redirect_uri que habías incluido.
Después del “?”, hay varios parámetros que deberían haberse incluido como “code”, “hmac”, y “timestamp”. El parámetro “code” es tu código de autorización que utilizarás para la parte del proceso OAuth. Los otros dos parámetros se utilizan para validar que la solicitud proviene en efecto de Shopify. Vamos a trabajar en eso primero:
Paso 3.b: Validación de datos
¿Qué pasa si un hacker intenta enviar una solicitud a tu servidor con el formato anterior? ¿Cómo sabes si es realmente de Shopify o si es otra persona con malas intenciones? Por eso se proporcionan el “hmac” y el “timestamp”. Calculando el resumen HMAC SHA256, podemos compararlo con el parámetro hmac entrante y determinar si la solicitud es legítima.
Ejemplo de código PHP
Vamos a seguir adelante mediante el uso de este valor “code” para obtener un access token para la tienda. Para ello, ejecutaremos nuestra primera llamada a la API.
Paso 4: Canjear el código de acceso por el token de la tienda
Ya tenemos todo lo necesario para generar el token de la aplicación: la clave API de la aplicación, las credenciales de la clave secreta de la aplicación y el código de acceso.
Shopify tiene un endpoint especial de llamada a la API que puedes utilizar para “intercambiar” tu código de acceso con el token permanente de la API de la tienda:
/admin/oauth/access_token
Ejemplo de código PHP
En el código anterior, estamos publicando en los servidores de Shopify y luego almacenando el token generado por OAuth para demo-shop.myshopify.com en la variable $token. Recuerda, esto es como la contraseña de esta tienda, así que querrás guardar este token en un lugar muy seguro.
Paso 5: Realizar llamadas a la API
Si has llegado hasta aquí, significa que ya has pasado por lo más difícil. Ahora, puedes realizar llamadas a la API de la tienda siempre que hayas sido previamente aprobado para el scope correspondiente. Si no es así, tendrás que obtener un nuevo token con los permisos necesarios siguiendo los pasos anteriores.
En resumen, cada llamada a la API necesitará los siguientes detalles:
- Token API de la tienda
- URL de la tienda “myshopify.com”
- El endpoint de la API al que llamar junto con cualquier parámetro especial.
En esta guía, uno de los permisos (scopes) para los que hemos solicitado acceso es para la lectura de la información de productos; intentémoslo ahora. El endpoint que necesitarás para eso es /admin/products.json.
Ejemplo de código PHP
Si todo se ha procesado correctamente, la variable $products debería contener una cadena JSON parecida a:
En el JSON devuelto, solo tengo un producto, que es el número de identificación 370733088. Supongamos que queremos modificar este producto; así que continuando con este código, pondremos programáticamente este ID en una variable para poder trabajar con él.
Bien, ahora tenemos el número de ID almacenado en la variable $product_id. Imaginemos que quiero modificar el título de este producto. Después de todo, el título actual, “test”, no es muy fácil de usar. Necesitarás usar esa variable $product_id para que Shopify sepa qué producto estás modificando…
En el array $modify_data tenemos toda la información necesaria que estamos enviando a Shopify Este array se convierte en JSON en nuestra función shopify_call(). Para futuras referencias, los requisitos para esta llamada a la API se enumeran en los documentos de la API de Shopify. También puedes notar que nuestro método de transacción de datos es PUT. Esto le indica a Shopify que estamos modificando datos en lugar de descargarlos o eliminarlos.
Si esta llamada a la API se ha realizado correctamente, obtendrá una cadena JSON de tus actualizaciones en la variable $modified_product_response:
Como puedes ver, el título del producto se ha actualizado para que coincida con lo que enviamos en la variable $modify_data. Shopify ha hecho que su API sea muy predecible y consistente. Esto significa que, en adelante, puedes trabajar con la mayoría de los endpoints de la API de forma similar.
Hacer llamadas a la API sobre la marcha
Cuando desarrollo para Shopify, ahorro mucho tiempo utilizando una GUI para hacer llamadas a la API. De esta forma no tengo que escribir un montón de código PHP antes de estar seguro de que la API contiene los datos que necesito. A continuación te ofrecemos algunas buenas opciones (en inglés):
- RapidAPI (Mac) - Gratis
- Postman (Windows & Web-Based) - Gratis - $14 - $29 - $49
- Insomnia (Desktop) - Gratis - $5 - $12 - $45
También te puede interesar: Por qué deberías crear aplicaciones que solucionen los problemas de los comerciantes.
La práctica hace al maestro
Después de un poco de práctica creo que estarás de acuerdo en que la API de Shopify es a la vez flexible y de fácil acceso. Se puede hacer mucho con ella, y su compatibilidad con diversos endpoints no hace más que aumentar. Estoy impaciente por ver lo que se te ocurre.
Si tienes alguna pregunta, puedes encontrarme en la Comunidad de Shopify o publicarla en los comentarios que aparecen a continuación.
¿Quieres saber más sobre cómo crear aplicaciones para Shopify? Echa un vistazo a esta información sobre el desarrollo de aplicaciones de Shopify. Encuentra más artículos en inglés en: Shopify Partners.
Más información
- Cómo desarrollar una aplicación de Shopify en una semana
- ¿Qué es Shopify y cómo funciona? Guía completa en español
- Desarrollo de tiendas- Todo lo que un Shopify Partner necesita saber
- ¿Qué impuestos tengo que pagar si tengo una tienda online?
- Cómo construir una sección de productos relacionados personalizable
- 5 maneras de mejorar la seguridad de tu tienda online y proteger los datos de tus clientes
- ¿Cómo crear un botón de llamada a la acción clicable para tu tema de Shopify?
- Qué es Liquid, el lenguaje para la creación de plantillas en Shopify
- Shopify en Puerto Rico- Workshop y MeetUp
- 5 cosas que debes saber para formar alianzas estratégicas exitosas