Files
crewAI/docs/pt-BR/enterprise/integrations/shopify.mdx

393 lines
17 KiB
Plaintext

---
title: Integração com Shopify
description: "Gestão de e-commerce e loja online com integração do Shopify para CrewAI."
icon: "shopify"
mode: "wide"
---
## Visão Geral
Permita que seus agentes gerenciem operações de e-commerce através do Shopify. Gerencie clientes, pedidos, produtos, inventário e análises da loja para otimizar sua empresa online com automação alimentada por IA.
## Pré-requisitos
Antes de utilizar a integração com o Shopify, certifique-se de que você possui:
- Uma conta [CrewAI AMP](https://app.crewai.com) com uma assinatura ativa
- Uma loja Shopify com permissões administrativas adequadas
- Sua loja Shopify conectada através da [página de Integrações](https://app.crewai.com/integrations)
## Configurando a Integração Shopify
### 1. Conecte sua Loja Shopify
1. Acesse [CrewAI AMP Integrações](https://app.crewai.com/crewai_plus/connectors)
2. Encontre **Shopify** na seção Integrações de Autenticação
3. Clique em **Conectar** e complete o fluxo OAuth
4. Conceda as permissões necessárias para gerenciamento de loja e produtos
5. Copie seu Token Enterprise em [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)
### 2. Instale o Pacote Necessário
```bash
uv add crewai-tools
```
### 3. Configuração de variável de ambiente
<Note>
Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>
```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
```
Ou adicione ao seu arquivo `.env`:
```
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
```
## Ferramentas Disponíveis
### **Gerenciamento de Clientes**
<AccordionGroup>
<Accordion title="shopify/get_customers">
**Descrição:** Recupera uma lista de clientes da sua loja Shopify.
**Parâmetros:**
- `customerIds` (string, opcional): Lista de IDs de clientes separada por vírgula para filtrar (exemplo: "207119551, 207119552")
- `createdAtMin` (string, opcional): Retorna somente clientes criados após esta data (ISO ou timestamp Unix)
- `createdAtMax` (string, opcional): Retorna somente clientes criados antes desta data (ISO ou timestamp Unix)
- `updatedAtMin` (string, opcional): Retorna somente clientes atualizados após esta data (ISO ou timestamp Unix)
- `updatedAtMax` (string, opcional): Retorna somente clientes atualizados antes desta data (ISO ou timestamp Unix)
- `limit` (string, opcional): Número máximo de clientes a retornar (padrão 250)
</Accordion>
<Accordion title="shopify/search_customers">
**Descrição:** Pesquise por clientes usando critérios de filtragem avançados.
**Parâmetros:**
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
- `limit` (string, opcional): Número máximo de clientes a retornar (padrão 250)
</Accordion>
<Accordion title="shopify/create_customer">
**Descrição:** Crie um novo cliente em sua loja Shopify.
**Parâmetros:**
- `firstName` (string, obrigatório): Primeiro nome do cliente
- `lastName` (string, obrigatório): Sobrenome do cliente
- `email` (string, obrigatório): Endereço de e-mail do cliente
- `company` (string, opcional): Nome da empresa
- `streetAddressLine1` (string, opcional): Endereço
- `streetAddressLine2` (string, opcional): Complemento do endereço
- `city` (string, opcional): Cidade
- `state` (string, opcional): Estado ou código da província
- `country` (string, opcional): País
- `zipCode` (string, opcional): CEP
- `phone` (string, opcional): Telefone
- `tags` (string, opcional): Tags como array ou lista separada por vírgula
- `note` (string, opcional): Observação sobre o cliente
- `sendEmailInvite` (boolean, opcional): Se deve enviar convite por e-mail
- `metafields` (object, opcional): Metacampos adicionais em formato JSON
</Accordion>
<Accordion title="shopify/update_customer">
**Descrição:** Atualize um cliente existente em sua loja Shopify.
**Parâmetros:**
- `customerId` (string, obrigatório): O ID do cliente a ser atualizado
- `firstName` (string, opcional): Primeiro nome do cliente
- `lastName` (string, opcional): Sobrenome do cliente
- `email` (string, opcional): Endereço de e-mail do cliente
- `company` (string, opcional): Nome da empresa
- `streetAddressLine1` (string, opcional): Endereço
- `streetAddressLine2` (string, opcional): Complemento do endereço
- `city` (string, opcional): Cidade
- `state` (string, opcional): Estado ou código da província
- `country` (string, opcional): País
- `zipCode` (string, opcional): CEP
- `phone` (string, opcional): Telefone
- `tags` (string, opcional): Tags como array ou lista separada por vírgula
- `note` (string, opcional): Observação sobre o cliente
- `sendEmailInvite` (boolean, opcional): Se deve enviar convite por e-mail
- `metafields` (object, opcional): Metacampos adicionais em formato JSON
</Accordion>
</AccordionGroup>
### **Gestão de Pedidos**
<AccordionGroup>
<Accordion title="shopify/get_orders">
**Descrição:** Recupera uma lista de pedidos da sua loja Shopify.
**Parâmetros:**
- `orderIds` (string, opcional): Lista de IDs de pedidos separada por vírgula para filtrar (exemplo: "450789469, 450789470")
- `createdAtMin` (string, opcional): Retorna somente pedidos criados após esta data (ISO ou timestamp Unix)
- `createdAtMax` (string, opcional): Retorna somente pedidos criados antes desta data (ISO ou timestamp Unix)
- `updatedAtMin` (string, opcional): Retorna somente pedidos atualizados após esta data (ISO ou timestamp Unix)
- `updatedAtMax` (string, opcional): Retorna somente pedidos atualizados antes desta data (ISO ou timestamp Unix)
- `limit` (string, opcional): Número máximo de pedidos a retornar (padrão 250)
</Accordion>
<Accordion title="shopify/create_order">
**Descrição:** Crie um novo pedido em sua loja Shopify.
**Parâmetros:**
- `email` (string, obrigatório): Endereço de e-mail do cliente
- `lineItems` (object, obrigatório): Itens do pedido em formato JSON com título, preço, quantidade e variant_id
- `sendReceipt` (boolean, opcional): Se deve enviar recibo do pedido
- `fulfillmentStatus` (string, opcional): Status de atendimento - Opções: fulfilled, null, partial, restocked
- `financialStatus` (string, opcional): Status financeiro - Opções: pending, authorized, partially_paid, paid, partially_refunded, refunded, voided
- `inventoryBehaviour` (string, opcional): Comportamento de inventário - Opções: bypass, decrement_ignoring_policy, decrement_obeying_policy
- `note` (string, opcional): Observação do pedido
</Accordion>
<Accordion title="shopify/update_order">
**Descrição:** Atualize um pedido existente em sua loja Shopify.
**Parâmetros:**
- `orderId` (string, obrigatório): O ID do pedido a ser atualizado
- `email` (string, opcional): Endereço de e-mail do cliente
- `lineItems` (object, opcional): Itens do pedido atualizados em formato JSON
- `sendReceipt` (boolean, opcional): Se deve enviar recibo do pedido
- `fulfillmentStatus` (string, opcional): Status de atendimento - Opções: fulfilled, null, partial, restocked
- `financialStatus` (string, opcional): Status financeiro - Opções: pending, authorized, partially_paid, paid, partially_refunded, refunded, voided
- `inventoryBehaviour` (string, opcional): Comportamento de inventário - Opções: bypass, decrement_ignoring_policy, decrement_obeying_policy
- `note` (string, opcional): Observação do pedido
</Accordion>
<Accordion title="shopify/get_abandoned_carts">
**Descrição:** Recupera carrinhos abandonados da sua loja Shopify.
**Parâmetros:**
- `createdWithInLast` (string, opcional): Restringe os resultados para checkouts criados dentro do período especificado
- `createdAfterId` (string, opcional): Restringe os resultados após o ID especificado
- `status` (string, opcional): Mostra checkouts com o status especificado - Opções: open, closed (padrão open)
- `createdAtMin` (string, opcional): Retorna somente carrinhos criados após esta data (ISO ou timestamp Unix)
- `createdAtMax` (string, opcional): Retorna somente carrinhos criados antes desta data (ISO ou timestamp Unix)
- `limit` (string, opcional): Número máximo de carrinhos a retornar (padrão 250)
</Accordion>
</AccordionGroup>
### **Gestão de Produtos (REST API)**
<AccordionGroup>
<Accordion title="shopify/get_products">
**Descrição:** Recupera uma lista de produtos da sua loja Shopify utilizando a REST API.
**Parâmetros:**
- `productIds` (string, opcional): Lista de IDs de produtos separada por vírgula para filtrar (exemplo: "632910392, 632910393")
- `title` (string, opcional): Filtrar pelo título do produto
- `productType` (string, opcional): Filtrar pelo tipo de produto
- `vendor` (string, opcional): Filtrar por fornecedor
- `status` (string, opcional): Filtrar por status - Opções: active, archived, draft
- `createdAtMin` (string, opcional): Retorna somente produtos criados após esta data (ISO ou timestamp Unix)
- `createdAtMax` (string, opcional): Retorna somente produtos criados antes desta data (ISO ou timestamp Unix)
- `updatedAtMin` (string, opcional): Retorna somente produtos atualizados após esta data (ISO ou timestamp Unix)
- `updatedAtMax` (string, opcional): Retorna somente produtos atualizados antes desta data (ISO ou timestamp Unix)
- `limit` (string, opcional): Número máximo de produtos a retornar (padrão 250)
</Accordion>
<Accordion title="shopify/create_product">
**Descrição:** Crie um novo produto em sua loja Shopify utilizando a REST API.
**Parâmetros:**
- `title` (string, obrigatório): Título do produto
- `productType` (string, obrigatório): Tipo/categoria do produto
- `vendor` (string, obrigatório): Fornecedor do produto
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
- `price` (string, opcional): Preço do produto
- `inventoryPolicy` (string, opcional): Política de estoque - Opções: deny, continue
- `imageUrl` (string, opcional): URL da imagem do produto
- `isPublished` (boolean, opcional): Se o produto está publicado
- `publishToPointToSale` (boolean, opcional): Se deve publicar no ponto de venda
</Accordion>
<Accordion title="shopify/update_product">
**Descrição:** Atualize um produto existente em sua loja Shopify utilizando a REST API.
**Parâmetros:**
- `productId` (string, obrigatório): O ID do produto a ser atualizado
- `title` (string, opcional): Título do produto
- `productType` (string, opcional): Tipo/categoria do produto
- `vendor` (string, opcional): Fornecedor do produto
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
- `price` (string, opcional): Preço do produto
- `inventoryPolicy` (string, opcional): Política de estoque - Opções: deny, continue
- `imageUrl` (string, opcional): URL da imagem do produto
- `isPublished` (boolean, opcional): Se o produto está publicado
- `publishToPointToSale` (boolean, opcional): Se deve publicar no ponto de venda
</Accordion>
</AccordionGroup>
### **Gestão de Produtos (GraphQL)**
<AccordionGroup>
<Accordion title="shopify/get_products_graphql">
**Descrição:** Recupere produtos utilizando filtros avançados do GraphQL.
**Parâmetros:**
- `productFilterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com suporte a campos como id, title, vendor, status, handle, tag, created_at, updated_at, published_at
</Accordion>
<Accordion title="shopify/create_product_graphql">
**Descrição:** Crie um novo produto utilizando a API GraphQL com suporte aprimorado a mídias.
**Parâmetros:**
- `title` (string, obrigatório): Título do produto
- `productType` (string, obrigatório): Tipo/categoria do produto
- `vendor` (string, obrigatório): Fornecedor do produto
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
- `media` (object, opcional): Objetos de mídia com texto alternativo, tipo de conteúdo e URL de origem
- `additionalFields` (object, opcional): Campos adicionais do produto como status, requiresSellingPlan, giftCard
</Accordion>
<Accordion title="shopify/update_product_graphql">
**Descrição:** Atualize um produto existente utilizando a API GraphQL com suporte aprimorado a mídias.
**Parâmetros:**
- `productId` (string, obrigatório): O ID GraphQL do produto a ser atualizado (ex.: "gid://shopify/Product/913144112")
- `title` (string, opcional): Título do produto
- `productType` (string, opcional): Tipo/categoria do produto
- `vendor` (string, opcional): Fornecedor do produto
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
- `media` (object, opcional): Objetos de mídia atualizados com texto alternativo, tipo de conteúdo e URL de origem
- `additionalFields` (object, opcional): Campos adicionais do produto como status, requiresSellingPlan, giftCard
</Accordion>
</AccordionGroup>
## Exemplos de Uso
### Configuração Básica do Agente Shopify
```python
from crewai import Agent, Task, Crew
# Create an agent with Shopify capabilities
shopify_agent = Agent(
role="E-commerce Manager",
goal="Manage online store operations and customer relationships efficiently",
backstory="An AI assistant specialized in e-commerce operations and online store management.",
apps=['shopify']
)
# Task to create a new customer
create_customer_task = Task(
description="Create a new VIP customer Jane Smith with email jane.smith@example.com and phone +1-555-0123",
agent=shopify_agent,
expected_output="Customer created successfully with customer ID"
)
# Run the task
crew = Crew(
agents=[shopify_agent],
tasks=[create_customer_task]
)
crew.kickoff()
```
### Filtrando Ferramentas Específicas do Shopify
```python
store_manager = Agent(
role="Store Manager",
goal="Manage customer orders and product catalog",
backstory="An experienced store manager who handles customer relationships and inventory management.",
apps=['shopify']
)
# Task to manage store operations
store_task = Task(
description="Create a new customer and process their order for 2 Premium Coffee Mugs",
agent=store_manager,
expected_output="Customer created and order processed successfully"
)
crew = Crew(
agents=[store_manager],
tasks=[store_task]
)
crew.kickoff()
```
### Gestão de Produtos com GraphQL
```python
from crewai import Agent, Task, Crew
product_manager = Agent(
role="Product Manager",
goal="Manage product catalog and inventory with advanced GraphQL capabilities",
backstory="An AI assistant that specializes in product management and catalog optimization.",
apps=['shopify']
)
# Task to manage product catalog
catalog_task = Task(
description="""
1. Create a new product "Premium Coffee Mug" from Coffee Co vendor
2. Add high-quality product images and descriptions
3. Search for similar products from the same vendor
4. Update product tags and pricing strategy
""",
agent=product_manager,
expected_output="Product created and catalog optimized successfully"
)
crew = Crew(
agents=[product_manager],
tasks=[catalog_task]
)
crew.kickoff()
```
### Análise de Pedidos e Clientes
```python
from crewai import Agent, Task, Crew
analytics_agent = Agent(
role="E-commerce Analyst",
goal="Analyze customer behavior and order patterns to optimize store performance",
backstory="An analytical AI that excels at extracting insights from e-commerce data.",
apps=['shopify']
)
# Complex task involving multiple operations
analytics_task = Task(
description="""
1. Retrieve recent customer data and order history
2. Identify abandoned carts from the last 7 days
3. Analyze product performance and inventory levels
4. Generate recommendations for customer retention
""",
agent=analytics_agent,
expected_output="Comprehensive e-commerce analytics report with actionable insights"
)
crew = Crew(
agents=[analytics_agent],
tasks=[analytics_task]
)
crew.kickoff()
```
### Precisa de Ajuda?
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
Entre em contato com nossa equipe de suporte para assistência na configuração ou resolução de problemas de integração com o Shopify.
</Card>