> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erpulse.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integração com Olist

> Como conectar o Olist ao ERPulse via API V3 para importar pedidos, produtos e notas.

# Integração com Olist

<img src="https://mintcdn.com/erpulse-f63e3bce/SGMU-s2bxJfEKtKF/images/olist.svg?fit=max&auto=format&n=SGMU-s2bxJfEKtKF&q=85&s=58428bad7c450a1f574b50b71fb7762b" alt="Olist" width="400" data-path="images/olist.svg" />

O Olist é um ERP completo para e-commerce. A integração com o ERPulse usa a **API V3** com autenticação **OAuth 2.0** via aplicativo privado.

## Visão geral

O ERPulse integra com o Olist para:

* Importar pedidos de venda automaticamente (polling a cada 15 minutos)
* Sincronizar produtos e clientes
* Imprimir etiquetas térmicas e DANFE
* Sincronizar status de pedidos de volta ao ERP
* Enviar código de rastreamento ao ERP
* Listar transportadoras e formas de envio

<Info>
  A conexão é feita via **aplicativo privado** criado na sua conta Olist. Não há aplicativo público na loja — cada empresa cria o seu.
</Info>

## Pré-requisitos

* Plano **Construa** ou superior no Olist ERP
* Extensão **Gestão de Aplicativos** instalada na conta
* Conta no ERPulse ativa

## Passo 1: Criar o aplicativo no Olist

1. No Olist, acesse **Configurações → Geral → Aplicativos**
2. Clique em **+ Novo aplicativo**
3. Nome: `ERPulse`
4. URL de Redirecionamento: copie o endereço exibido na tela de configuração do ERPulse
5. Clique em **Salvar**

<Warning>
  Cada conta Olist pode ter no máximo **5 aplicativos** configurados.
</Warning>

## Passo 2: Copiar as chaves de acesso

Após salvar, edite o aplicativo novamente e copie:

* **Client ID**
* **Client Secret**

<Warning>
  Estas chaves são sensíveis. Não as divulgue. Se comprometidas, clique em "Gerar novas chaves" no Olist.
</Warning>

## Passo 3: Configurar permissões

Na seção **Permissões** do aplicativo, marque os módulos abaixo com pelo menos **Leitura**:

| Módulo                | Permissão mínima | Para quê                    |
| --------------------- | ---------------- | --------------------------- |
| Contatos e Vendedores | Leitura          | Clientes e fornecedores     |
| Produtos              | Leitura          | Catálogo e preços           |
| Pedidos de Venda      | Leitura + Edição | Importar e atualizar status |
| Notas Fiscais         | Leitura          | DANFE e XML                 |
| Estoque               | Leitura          | Depósitos e saldos          |
| Formas de Envio       | Leitura          | Transportadoras             |
| Separação (Picking)   | Leitura          | Fila de conferência         |

<Info>
  Para sincronizar status e rastreamento de volta ao ERP, marque **Incluir e editar** em Pedidos.
</Info>

## Passo 4: Conectar no ERPulse

1. No ERPulse, acesse **Integrações → Nova Integração**
2. Selecione **Olist**
3. Preencha o **Client ID** e **Client Secret**
4. Defina a **data de início da importação** — pedidos a partir desta data serão importados
5. Clique em **Salvar configuração**
6. Clique em **Autorizar no Olist** — você será redirecionado ao Olist
7. Após autorizar, clique em **Testar conexão**

## Passo 5: Sincronização inicial

Após conectar, a sincronização automática ocorre a cada **15 minutos**. Para a primeira carga:

1. Na lista de integrações, clique na integração Olist
2. Vá na aba **Sincronização**
3. Clique em **Sincronizar agora**
4. Aguarde — produtos e pedidos serão importados

## O que é importado

| Dado                      | Origem       | Frequência                         |
| ------------------------- | ------------ | ---------------------------------- |
| Pedidos                   | Olist API V3 | Polling a cada 15 min              |
| Produtos                  | Olist API V3 | Sincronização manual ou automática |
| Clientes                  | Olist API V3 | Junto com o pedido                 |
| Notas Fiscais (DANFE/XML) | Olist API V3 | Junto com o pedido                 |
| Depósitos                 | Olist API V3 | Sob demanda                        |
| Formas de Envio           | Olist API V3 | Sob demanda                        |

## Sincronização de status (escrita)

O ERPulse envia alterações de status de volta ao Olist quando você:

* Imprime pedidos (configurável em Configurações → Impressão)
* Marca pedidos como faturado
* Envia código de rastreamento

<Info>
  O Olist não oferece webhooks com assinatura criptográfica documentada. Por isso, a integração usa **polling autenticado** em vez de webhooks inbound.
</Info>

## Migrando do Omie

Se você já usa o Omie e está migrando para o Olist:

* **Produtos não são duplicados** — o sync do Olist matcheia por **SKU** e reaproveita o cadastro existente
* **Pedidos antigos** permanecem no histórico vinculados à integração Omie
* **Pedidos novos** chegam via Olist a partir da data de início configurada
* A integração Omie é **desativada** (não deletada) para preservar o histórico

Entre em contato com o suporte (`support@erpulse.ai`) para auxiliar na migração.

## Limites da API

A API V3 do Olist tem limites de requisições por minuto:

| Plano Olist          | Leitura/min | Escrita/min |
| -------------------- | ----------- | ----------- |
| Construa / Crescer   | 30          | 30          |
| Evoluir / Impulsione | 60          | 60          |
| Domine               | 120         | 100         |

O ERPulse respeita esses limites automaticamente. Em caso de excedente (HTTP 429), a sincronização pausa e retoma sozinha.

## Problemas comuns

### Erro 401 (não autorizado)

O access token expirou. Clique em **Autorizar no Olist** novamente para renovar.

### Erro 403 (proibido)

O aplicativo não tem as permissões necessárias. Volte no Olist → Configurações → Aplicativos → ERPulse e marque os módulos necessários.

### Pedidos não chegam

1. Verifique se a **data de início da importação** está correta
2. Verifique se a integração está **ativa** e **sync habilitado**
3. Aguarde o próximo ciclo de polling (15 minutos) ou dispare sync manual

### Produtos duplicados

Os produtos são matcheados por **SKU**. Se um produto veio duplicado:

1. Verifique se o SKU no Olist está preenchido e é igual ao do ERPulse
2. Corrija o SKU no Olist ou no ERPulse
3. Dispare uma nova sincronização
