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

# Cadastro e publicação

> Como cadastrar integradora e app na CW App Store: campos obrigatórios, URLs, permissões, webhooks, ambientes e processo de aprovação.

O cadastro de integradoras e apps é realizado pelo time de Suporte de Integrações da Cardápio Web. Toda solicitação de cadastro ou alteração deve ser enviada para `integracao@cardapioweb.com`.

## Ambientes e etapas do processo

O cadastro de integradoras e apps é feito de forma **independente** em Sandbox e em Produção. O processo segue esta ordem:

<Steps>
  <Step title="Cadastro em Sandbox">
    Envie os dados da integradora (se ainda não cadastrada) e do app para o
    ambiente de Sandbox. Após o cadastro, você receberá o `client_id` e o
    `webhook_token` (se aplicável) de Sandbox para iniciar a integração e os
    testes.
  </Step>

  <Step title="Integração e testes">
    Realize a integração utilizando as credenciais de Sandbox e valide o
    funcionamento. Para apps que serão **públicos** no marketplace, grave um
    vídeo demonstrando a integração e envie ao nosso time junto com a
    solicitação de liberação em Produção.
  </Step>

  <Step title="Aprovação e credenciais de Produção">
    Após a análise e aprovação, o `client_id` e o `webhook_token` de Produção
    são enviados pelo nosso time. O processo de aprovação pode levar até **7
    dias corridos**.
  </Step>
</Steps>

## Cadastro da integradora

A **integradora** é a empresa parceira responsável pelos apps publicados. O cadastro da integradora é pré-requisito para o cadastro de qualquer app.

| Campo         | Descrição                                     |
| ------------- | --------------------------------------------- |
| **Nome**      | Nome da empresa integradora                   |
| **Documento** | CNPJ da empresa integradora                   |
| **E-mail**    | E-mail de contato oficial com a integradora   |
| **Telefone**  | Telefone de contato oficial com a integradora |
| **Site**      | URL do site da integradora                    |
| **Descrição** | Breve descrição da empresa integradora        |

<Accordion title="Template de e-mail para cadastro de integradora">
  ```text theme={null}
  Assunto: Cadastro de integradora - [Nome da empresa]

  Olá, equipe de integrações da Cardápio Web,

  Gostaria de solicitar o cadastro da nossa integradora.

  --- DADOS DA INTEGRADORA ---

  Nome:
  CNPJ:
  E-mail:
  Telefone:
  Site:
  Descrição:

  ---

  Fico à disposição para dúvidas.
  Atenciosamente,
  [Seu nome]

  ```
</Accordion>

## Cadastro do app

O cadastro da integradora é pré-requisito para o cadastro de apps. Cada app é composto por dados de **catálogo** (como aparece na CW App Store) e dados **técnicos** (como o app se conecta à plataforma).

### Informações básicas

| Campo                  | Descrição                                                                    |
| ---------------------- | ---------------------------------------------------------------------------- |
| **Nome**               | Nome exibido no marketplace (até 40 caracteres)                              |
| **Logo**               | Logo do app (PNG, JPG ou JPEG)                                               |
| **Categoria**          | Marketing, Vendas, Gestão ou Logística.                                      |
| **Descrição curta**    | Breve descrição do app para listagem (até 300 caracteres)                    |
| **Descrição completa** | Descrição detalhada do app para página no marketplace (até 3.000 caracteres) |
| **Imagens**            | Imagens ilustrativas do app (até 5 imagens, PNG, JPG ou JPEG)                |

<Frame>
  <img src="https://mintcdn.com/cardpioweb/CWZ8ry1Pa5-WyAhG/images/detalhes-app.png?fit=max&auto=format&n=CWZ8ry1Pa5-WyAhG&q=85&s=a05a62df618686f4e21a08c728856d2f" alt="Página de detalhes de um app no marketplace da Cardápio Web" width="1366" height="768" data-path="images/detalhes-app.png" />
</Frame>

### URLs do app

| Campo                                      | Descrição                                                                                                                                                                                                                                                                                                        |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Redirect URI** (`redirect_url`)          | URL de callback do fluxo OAuth. Após o estabelecimento autorizar a instalação, o Proprietário é redirecionado para esta URL com o código de autorização. **Atenção:** ao implementar o OAuth, o parâmetro `redirect_uri` deve ser **idêntico** ao valor informado aqui (protocolo, domínio, path e barra final). |
| **URL de instalação** (`installation_url`) | Destino do botão **Instalar** no marketplace: para onde o Proprietário é direcionado ao clicar em **Instalar**, já logado na Cardápio Web. Recomendamos uma página de **onboarding** ou **cadastro** no seu sistema.                                                                                             |
| **URL de login** (`login_url`)             | Destino do botão **Acessar** após o app instalado. Geralmente o painel autenticado do parceiro no seu sistema.                                                                                                                                                                                                   |

<Warning>
  Este aviso refere-se apenas ao campo **Redirect URI** (`redirect_url`). Nos
  fluxos OAuth, o mesmo endereço cadastrado aqui é enviado como parâmetro
  `redirect_uri` no redirect para o portal e na troca de token. Qualquer
  diferença (protocolo, domínio, path ou barra final) invalida o fluxo.
</Warning>

### Permissões

Informe ao suporte quais recursos da API o app precisará acessar após a instalação. Cada permissão corresponde a um escopo OAuth. Consulte a [tabela de escopos](/autenticacao/oauth#escopos-e-permissoes). Solicite apenas o que o app realmente utiliza.

### Webhook (opcional)

| Campo                                  | Descrição                                                                                                                                                                 |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **URL de webhook** (`webhook_url`)     | URL para receber eventos da Cardápio Web                                                                                                                                  |
| **Token de webhook** (`webhook_token`) | Gerado automaticamente pelo nosso sistema e retornado pelo time de suporte após o cadastro do app. Enviado no header `X-Webhook-Token` para autenticação das requisições. |

Para comportamento, eventos e troubleshooting, consulte [Visão geral dos webhooks](/webhooks/visao-geral).

### Visibilidade

| Opção       | Comportamento                                                    |
| ----------- | ---------------------------------------------------------------- |
| **Público** | Listado no catálogo para todos os estabelecimentos elegíveis.    |
| **Privado** | Não aparece no catálogo público. O acesso se dá via link direto. |

<Accordion title="Template de e-mail para cadastro de app">
  ```text theme={null}
  Assunto: Cadastro de app - [Nome do app]

  Olá, equipe de integrações da Cardápio Web,

  Gostaria de solicitar o cadastro do seguinte app.

  --- INFORMAÇÕES BÁSICAS ---

  Nome do app:
  Logo (anexar arquivo):
  Categoria:
  Descrição curta:
  Descrição completa:
  Imagens (anexar arquivos):

  --- URLs DO APP ---

  Redirect URI:
  URL de instalação:
  URL de login:

  --- PERMISSÕES ---

  (Liste os escopos OAuth necessários)

  --- WEBHOOK (opcional) ---

  Webhook URL:

  --- VISIBILIDADE ---

  [ ] Público
  [ ] Privado

  ---

  Fico à disposição para dúvidas.
  Atenciosamente,
  [Seu nome]
  ```
</Accordion>

## Aprovação

Após o cadastro em Sandbox, você receberá o `client_id` e o `webhook_token` (se aplicável) do ambiente de Sandbox para dar início à integração e aos testes.

Quando a integração estiver finalizada, para apps que serão **públicos** no marketplace, envie ao nosso time um vídeo demonstrando o funcionamento da integração juntamente com a solicitação de liberação em Produção. Apps **privados** não precisam passar por essa etapa. Após a análise e aprovação, o `client_id` e o `webhook_token` de Produção são enviados pelo nosso time.

O processo de aprovação pode levar até **7 dias corridos**.

### Status do app

| Status         | O que significa                                                                       |
| -------------- | ------------------------------------------------------------------------------------- |
| **Em análise** | Solicitação recebida; o app ainda não pode ser instalado.                             |
| **Aprovado**   | App disponível para instalação no marketplace.                                        |
| **Rejeitado**  | Solicitação negada por não conformidade com os requisitos ou políticas de integração. |

<Warning>
  Um app aprovado pode ter sua aprovação revogada a qualquer momento por mau uso
  ou desrespeito às políticas de integração da Cardápio Web.
</Warning>

## Após a publicação

Para solicitar qualquer alteração após a publicação, envie a solicitação para `integracao@cardapioweb.com` a partir do **e-mail cadastrado no perfil da integradora**. Solicitações enviadas de outros endereços não serão processadas.

Qualquer informação do cadastro pode ser alterada, com duas exceções:

* **Permissões não podem ser removidas**.
* **A adição de novas permissões** exige que os clientes reinstalem o app para liberar os novos escopos (veja [Permissões](#permissoes)).

## Próximos passos

<CardGroup cols={2}>
  <Card title="Instalação e autorização" icon="shield-check" href="/cw-app-store/instalacao-e-autorizacao">
    Fluxo de instalação no portal e gestão após a instalação.
  </Card>

  <Card title="OAuth" icon="key-round" href="/autenticacao/oauth">
    Implementação técnica de autorização, tokens e escopos.
  </Card>

  <Card title="Primeiros passos" icon="play" href="/primeiros-passos">
    Trilha hands-on: Sandbox, OAuth e primeira chamada à API.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/webhooks/visao-geral">
    Eventos em tempo real para apps do marketplace.
  </Card>
</CardGroup>
