---
title: Exportar produtos do Shopify para ficheiro CSV
date: 2025-03-28
categories:
  - ai
  - data-integration
  - json
  - xml
tags:
  - ai-assistants
  - data-mapping
  - json-editor
  - pdf
  - xml-editor
description: As ferramentas gráficas do MapForce facilitam a exportação de dados do Shopify e a sua escrita em outros formatos, como XML, bases de dados ou Excel.
---
Status: #blog

Tags:  #mapforce #shopify

Categories: [data-integration](/blog/pt/category/data-integration.md) | [etl](/blog/pt/category/etl.md) 
# Exportar produtos do Shopify para ficheiro CSV

A Shopify é uma plataforma de comércio eletrónico extremamente popular, utilizada por empresas de retalho de todos os tamanhos. Embora a Shopify ofereça ferramentas fáceis de usar para configurar e gerir uma loja online, a gestão da grande quantidade de dados que ocorrem nos bastidores, como catálogos de produtos, informações dos clientes, registos de encomendas e inventário, pode rapidamente tornar-se complexa.

As empresas frequentemente precisam integrar os dados do Shopify com bases de dados internas, sistemas ERP, sistemas de gestão de relacionamento com o cliente (CRM), data warehouses ou outras plataformas, para otimizar as operações, realizar análises mais aprofundadas ou suportar fluxos de trabalho automatizados.

É aqui que uma ferramenta de mapeamento de dados com suporte para a Shopify se torna essencial, permitindo que as empresas transformem, mapeiem e transfiram dados entre a Shopify e outros sistemas de forma eficiente e precisa.

Vamos analisar um exemplo de um cenário comum: a extração de dados de produtos do Shopify para um ficheiro CSV, utilizando ferramentas visuais no MapForce.

![Artigo do blog da Shopify](/blog/images/Shopify_CSV1_blog.jpg)

<!--more-->
## How Can You Get Data Out of Shopify?

Embora a Shopify forneça as ferramentas que as empresas precisam para configurar e gerir as suas lojas online, obter os dados necessários para outras tarefas a partir da plataforma pode ser um pouco mais complicado.

A Shopify disponibilizou historicamente várias APIs e ferramentas concebidas para ajudar os programadores a aceder e exportar dados, mas recentemente padronizou o [**GraphQL**](https://graphql.org/) como o formato de API preferencial. De facto, em breve, exigirá que todas as novas aplicações da Shopify utilizem o GraphQL. A abordagem do GraphQL permite consultas altamente direcionadas, permitindo que os comerciantes solicitem apenas os dados específicos de que necessitam numa única chamada de API, o que melhora o desempenho e reduz qualquer transferência de dados desnecessária.

![Logótipo da Shopify com o símbolo GraphQL](/blog/images/shopify-graphql.png)

A Shopify oferece duas APIs GraphQL principais que ajudam os programadores ou profissionais de TI a aceder aos dados das lojas:

- **API GraphQL da Administração Shopify**: Esta é a API principal para operações no lado do servidor. Permite o acesso a dados da loja, como produtos, encomendas, clientes, stock, informações de envio e muito mais. Os programadores podem utilizar a API GraphQL da Administração para extrair e mapear dados para outros sistemas.

- **API GraphQL para a Loja Online (Storefront API)**: Embora a API Storefront seja utilizada principalmente para criar experiências de compra personalizadas e aplicações front-end, ela também permite o acesso a dados da loja visíveis ao público, como listas de produtos, coleções e processos de pagamento. Isto é especialmente útil para empresas que desejam integrar dados da Shopify em plataformas voltadas para os clientes, como aplicações móveis personalizadas.

## Utilizar o MapForce para integrar dados do Shopify

Os desenvolvedores podem usar o MapForce para [integrar dados do Shopify](https://www.altova.com/pt/mapforce/convert-shopify-graphql) com outros formatos e sistemas, criando mapeamentos personalizados que acedem diretamente a estas APIs GraphQL. Com suporte para o Shopify como fonte ou destino de qualquer projeto de integração de dados, o MapForce funciona como uma ponte, transformando as estruturas de dados do Shopify nos formatos exigidos pela estrutura de dados de destino – ou o contrário.

Para começar, os desenvolvedores devem criar uma **aplicação personalizada** dentro da sua loja Shopify. Uma aplicação personalizada fornece as credenciais e permissões da API necessárias para interagir de forma segura com as APIs da Shopify. Ao contrário das aplicações públicas listadas na **Loja de Aplicações Shopify**, que são oferecidas por parceiros da Shopify para uso geral, as aplicações personalizadas são desenvolvidas especificamente para um caso de uso privado de uma única loja e não estão disponíveis para outras lojas. Isto dá às empresas total controlo sobre a forma como os dados são acedidos e utilizados nos seus projetos de integração de dados ou [projetos ETL](https://www.altova.com/pt/etl).

## Conectar o MapForce a APIs GraphQL

Para integrar dados do Shopify em outros sistemas, utilizando a API GraphQL da administração ou da loja online, existem várias etapas importantes que os proprietários de lojas precisam completar dentro do Shopify:

1. **Permitir o desenvolvimento de aplicações personalizadas** 
	Por padrão, a Shopify restringe a criação de aplicações personalizadas para ajudar a proteger os comerciantes contra acessos não autorizados à API. Antes de criar uma aplicação personalizada, o proprietário da loja ou o administrador devem, primeiramente, ativar o desenvolvimento de aplicações personalizadas nas configurações de administração da Shopify.

2.   **Criar uma aplicação personalizada ("Desenvolver aplicações")**
	Depois de ativar o desenvolvimento de aplicações personalizadas, o próximo passo é criar a própria aplicação. Isto é feito através da secção "**“Desenvolver aplicações”**", onde o proprietário da loja ou o desenvolvedor podem definir uma nova aplicação especificamente para fins de integração com a API.

3.   **Atribuir os níveis de acesso corretos à API**
	A Shopify utiliza permissões detalhadas para controlar a que dados uma aplicação pode aceder. Dependendo da utilização específica da aplicação, será necessário conceder-lhe as permissões adequadas da API de Administração ou da API de Loja (por exemplo, `read_orders`, `write_products`, `read_customers`).

4.   **Instale a aplicação personalizada na loja Shopify**  
	Após a configuração da aplicação e a atribuição das permissões necessárias, esta deve ser instalada diretamente na loja Shopify. Este processo de instalação gera as credenciais da API necessárias, incluindo o token de acesso à API.

5.   **Obter e armazenar o token de acesso à API**  
	O token de acesso fornece um acesso seguro e autenticado às APIs da Shopify. Este token será utilizado pela sua ferramenta externa de mapeamento de dados para autenticar as solicitações da API.

## Mapear os dados do Shopify para um ficheiro CSV 

Agora, vamos analisar um exemplo de mapeamento GraphQL no MapForce. Este projeto de mapeamento satisfaz uma necessidade comum: extrair dados de produtos da Shopify para um ficheiro CSV, para poderem ser carregados noutro sistema, ou simplesmente para serem importados para o Excel para análise.

Ao inserir um componente Shopify num projeto de mapeamento, o MapForce guia-o através do processo de introdução do nome da sua loja, seleção da API de administração ou da API de loja, e introdução do seu token de acesso à API. Em seguida, pode definir as configurações de ligação, configurar as configurações de segurança HTTP (se necessário), adicionar parâmetros de cabeçalho relevantes e criar uma consulta ou uma mutação.

![Configurações da API da Shopify](/blog/images/shopify-api-settings.png)

Para isso, pode construir a consulta GraphQL dinamicamente, selecionando elementos das opções disponíveis no lado direito, o que o guiará durante o processo. Também pode pressionar o botão "Obter Esquema" para pedir ao MapForce que crie automaticamente a definição do esquema JSON para a resposta da API, com base na introspeção do servidor e na consulta GraphQL (e pode guardar uma versão em cache desse esquema localmente para utilização futura ao abrir o mapeamento).

Para este exemplo, vamos usar uma consulta para produtos e vamos especificar quais dados queremos obter para os respetivos nós no lado esquerdo, à medida que construímos a consulta: o ID, o título e as variantes, com o respetivo código SKU e preço. Não vamos abordar todos os detalhes de como o GraphQL funciona neste artigo, mas existem muitos recursos online disponíveis, como [https://graphql.org/learn/](https://graphql.org/learn/) e [https://www.shopify.com/partners/blog/getting-started-with-graphql](https://www.shopify.com/partners/blog/getting-started-with-graphql), que pode usar para saber mais sobre o assunto.

Em seguida, o MapForce insere a chamada do Shopify como um componente gráfico que exibe a estrutura da requisição e da resposta da API.

![Chamada à API da Shopify no MapForce](/blog/images/shopify-api-call.png)

Este é o ponto onde as coisas ficam um pouco mais complexas: como a API GraphQL da Shopify é baseada na paginação e só retorna um determinado número de resultados por cada chamada à API (ou seja, uma página de resultados), teremos de fazer várias chamadas à API para obter todos os resultados da nossa consulta. Vamos fazer isso encapsulando esta chamada à API numa função personalizada que chamamos "getProducts", que podemos então chamar recursivamente se existirem páginas adicionais de resultados a serem obtidas.

É isto que pode ver no canto inferior direito do mapa, dentro da função "getProducts":

![Função MapForce](/blog/images/MapForce-function.png)

Basicamente, quando a primeira chamada à API retornar "verdadeiro" no campo "hasNextPage", vamos chamar a mesma função novamente, de forma recursiva, definindo a variável "$after" para a posição do "endCursor" que foi retornada pela chamada anterior à API. Além disso, vamos fazer uma pausa de 1 segundo entre cada chamada à API para evitar ultrapassar o limite de utilização da API.

E, obviamente, o resultado dessa chamada recursiva à função `getProducts` também é adicionado ao resultado da função `getProducts` principal, de forma que, no final, retornemos todos os resultados para o mapeamento principal.

Ao encapsular a chamada real da API dentro desta função `getProducts`, estamos também a alcançar um design muito elegante e organizado para a parte principal do processo, onde recebemos os resultados da chamada da API e os convertemos no ficheiro CSV resultante:

![Extrair dados do Shopify](/blog/images/Shopify-data-mapping%201.png)

Este projeto de exemplo é fornecido com o MapForce, e pode introduzir o nome da sua loja Shopify e o token de acesso para o executar. Para isso, abra o ficheiro de exemplo "Shopify_ExportAllProducts.mfd" no projeto de exemplos, depois clique duas vezes na função "getProducts" e, finalmente, clique duas vezes no objeto de chamada POST do serviço web. É aqui que precisa de introduzir a URL da sua loja, bem como a cadeia de caracteres correta para o seu token de acesso da Shopify.

Depois de fazer isso, deverá conseguir aceder à aba "Saída" e visualizar uma pré-visualização da lista de todos os seus produtos, que será gerada em formato CSV.

![Dados do Shopify exportados para formato CSV](/blog/images/Shopify-CSV.png)

Pode guardar o resultado diretamente ou implementar este projeto de mapeamento no [MapForce Server para uma automatização de alto desempenho](https://www.altova.com/pt/mapforce-server).


As ferramentas gráficas do MapForce facilitam a exportação de dados do Shopify para o formato CSV, bem como para outros formatos, como XML, bases de dados, Excel e muitos mais.



**Experimente por si mesmo com um [período de teste gratuito de 30 dias do MapForce](https://www.altova.com/pt/mapforce/download).**



Leia mais sobre a integração de dados da Shopify no nosso artigo sobre a criação de uma aplicação móvel para [recolher informações sobre o stock e associá-las à Shopify](https://www.altova.com/blog/updating-shopify-inventory-from-a-mobile-app/) em tempo real.

---

