# Integração do Gestor com a EZ Commerce

## Download de pedidos

~~~mermaid
sequenceDiagram
    participant Gestor
    participant EZ Commerce
    Gestor->>EZ Commerce: Existem pedidos na fila?
    EZ Commerce-->>+Gestor: Lista de pedidos na fila com todas as informações.
    Note over Gestor, EZ Commerce: Executa o processo de integração...
    Gestor->>-EZ Commerce: Remova o pedido da fila.
    EZ Commerce-->>Gestor: OK, removido.
~~~

## Integração de pedidos

~~~mermaid
graph TB
    existe_pedido{Busca pedido EZ Código}-- Existe -->Carrega
    Carrega-->cabecalho["Preenche cabeçalho e dados do cartão (se houver)"]
    cabecalho-->pagamentos["Atualiza a aba de pagamentos"]
    pagamentos-->erros
    existe_pedido{Busca pedido EZ Código}-- Não Existe -->novo_pedido
    novo_pedido["Cria"]-->cabecalho2["Preenche cabeçalho e dados do cartão (se houver)"]
    cabecalho2-->pagamentos2["Atualiza a aba de pagamentos"]
    pagamentos2-->add_itens["Adiciona Itens"]
    add_itens-->reload_pedido["Salva e recalcula impostos"]
    reload_pedido-->define_transportadora["Define a transportadora"]
    define_transportadora-->armazena_protocolo["Armazena o protocolo de integração"]
    armazena_protocolo-->define_frete["Executa a ação Definir Frete"]
    define_frete-->reload_pedido2["Salva e recalcula impostos"]
    reload_pedido2-->erros{Ocorreu algum erro?}
    erros-- Não -->remove_fila["Remove da fila de integração"]
    erros-- Sim -->exclui_pedido["Exclui o pedido do Gestor"]
    remove_fila-->boleto_cartao{Boleto ou Cartão?}
    boleto_cartao-- Boleto -->Boleto
    boleto_cartao-- Cartão -->Cartão
    Cartão-->capturado{Status Capturado}
    capturado-- Não -->aprova
    capturado-- Sim -->gera_cobranca
    Boleto-->gera_cobranca["Cria Cobranças"]
    gera_cobranca-->aprova["Aprova o Pedido"]
~~~