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

# Desenvolvedores

> Guia do desenvolvedor para integrar o OneSignal: configuração de SDK, referência de API, identidade de usuário e testes em mobile e web.

Este guia ajuda os desenvolvedores a integrar o OneSignal em aplicativos móveis e web. Siga as seções em ordem para uma configuração inicial ou vá diretamente para a área necessária.

1. [**Primeiros passos**](#get-started) — acesse seu App OneSignal e encontre suas chaves de API
2. [**Configurar canais de mensagens**](#set-up-messaging-channels) — instale o SDK e configure os canais
3. [**Referência de SDK e API**](#sdk-and-api-reference) — documentação detalhada de métodos, classes e endpoints
4. [**Usuários e identidade**](#users-and-identity) — identifique Usuários, gerencie Assinaturas e proteja o acesso
5. [**Tutoriais**](#tutorials) — guias passo a passo para casos de uso comuns
6. [**Testes e depuração**](#testing-and-debugging) — verifique sua integração antes de ir ao ar
7. [**Análises e webhooks**](#analytics-and-webhooks) — acompanhe o desempenho e receba eventos de mensagens no servidor

***

## Primeiros passos

Se sua equipe já tem uma conta OneSignal, peça a um administrador para [convidá-lo](./manage-team-members) à Organização. Caso contrário, [crie uma conta](https://onesignal.com) para começar.

Seu App OneSignal é onde os dados de usuários e mensagens ficam armazenados. Cada App tem seu próprio App ID, chaves de API e canais de mensagens. Você pode ter vários Apps em uma única Organização para diferentes projetos ou ambientes.

<Columns cols={2}>
  <Card title="Apps, Organizações e contas" icon="building" href="./apps-organizations">
    Como Apps, Organizações e contas se relacionam entre si.
  </Card>

  <Card title="Chaves e IDs" icon="key" href="./keys-and-ids">
    Encontre seu App ID, chave de API REST e Organization ID para autenticação.
  </Card>

  <Card title="Adicionar Membros da Equipe" icon="user-plus" href="./manage-team-members">
    Convide desenvolvedores e atribua funções dentro da sua Organização.
  </Card>

  <Card title="Uso e Cobrança" icon="credit-card" href="./billing-faq">
    Cobrança, faturas e detalhes de uso.
  </Card>
</Columns>

***

## Configurar canais de mensagens

Instale o SDK do OneSignal para criar e rastrear o engajamento dos usuários em suas plataformas. Cada canal de mensagens tem seu próprio guia de configuração cobrindo credenciais, inicialização do SDK e tutoriais.

<Columns cols={3}>
  <Card title="Configuração do SDK móvel" icon="mobile" href="./mobile-sdk-setup">
    Configuração do SDK para iOS, Android, Huawei e Amazon. Habilita notificações push, mensagens in-app e Live Activities.
  </Card>

  <Card title="Push web" icon="globe" href="./web-sdk-setup">
    Instalação do Web SDK e configuração de notificações push do navegador.
  </Card>

  <Card title="Email" icon="envelope" href="./email-setup">
    Configuração do canal de email e verificação do domínio do remetente.
  </Card>

  <Card title="Mensagens in-app" icon="window-maximize" href="./in-app-messages-setup">
    Exiba mensagens ricas e interativas dentro do seu aplicativo móvel.
  </Card>

  <Card title="SMS" icon="comment-sms" href="./sms-messaging">
    Configuração do canal SMS e registro na operadora.
  </Card>

  <Card title="RCS" icon="message" href="./rcs-messaging">
    Mensagens ricas com conteúdo de marca e confirmações de leitura.
  </Card>

  <Card title="Live Activities" icon="tower-broadcast" href="./live-activities">
    Atualizações dinâmicas da tela de bloqueio do iOS. Recursos semelhantes disponíveis para Android.
  </Card>
</Columns>

***

## Referência de SDK e API

Documentação detalhada para SDKs de cliente, SDKs de servidor e a API REST.

<Columns cols={2}>
  <Card title="Referência de SDK móvel" icon="mobile" href="./mobile-sdk-reference">
    Métodos, classes e event hooks para SDKs de iOS, Android e multiplataforma.
  </Card>

  <Card title="Referência de SDK web" icon="globe" href="./web-sdk-reference">
    Inicialização, gerenciamento de Usuários, métodos de Assinatura e gatilhos personalizados.
  </Card>

  <Card title="Referência de SDK de servidor" icon="server" href="./server-sdk-reference">
    Instale e configure SDKs de servidor para Node.js, Python, Java, Go, PHP, Ruby, C# e Rust.
  </Card>

  <Card title="Visão geral da API REST" icon="code" href="/reference/rest-api-overview">
    Endpoints, autenticação, limites de taxa e formatos de requisição/resposta.
  </Card>

  <Card title="Mensagens transacionais" icon="paper-plane" href="./transactional-messages">
    Envie OTPs, recibos e alertas urgentes via API com dados personalizados.
  </Card>

  <Card title="SDKs de servidor no GitHub" icon="github" href="https://github.com/OneSignal/sdks#server-sdks">
    Código-fonte e exemplos para todas as bibliotecas de SDK de servidor.
  </Card>
</Columns>

***

## Usuários e identidade

O OneSignal atribui a cada pessoa um **OneSignal ID** e rastreia seus dispositivos, endereços de email e números de telefone como **Assinaturas**. Os Usuários são anônimos até você chamar `login` com um **External ID** para identificá-los. Identificar Usuários unifica suas Assinaturas em todos os canais e dispositivos.

<Columns cols={2}>
  <Card title="Usuários" icon="users" href="./users">
    Modelo de Usuário, External ID, Usuários anônimos vs. identificados e login/logout.
  </Card>

  <Card title="Assinaturas" icon="address-book" href="./subscriptions">
    Dispositivos, endereços de email e números de telefone que recebem suas mensagens.
  </Card>

  <Card title="Verificação de identidade" icon="shield-halved" href="./identity-verification">
    Exige JWTs gerados pelo servidor para evitar a personificação de Usuários.
  </Card>

  <Card title="Aliases" icon="fingerprint" href="./aliases">
    Mapeie identificadores personalizados para Usuários para rastreamento multiplataforma e integrações.
  </Card>

  <Card title="Tags" icon="tags" href="./add-user-data-tags">
    Defina dados chave-valor nos Usuários para personalização e segmentação.
  </Card>

  <Card title="Eventos personalizados" icon="bolt" href="./custom-events">
    Rastreie ações de Usuários para acionar Jornadas ou potencializar análises.
  </Card>
</Columns>

***

## Tutoriais

Guias passo a passo para implementar casos de uso comuns de mensagens com o OneSignal.

<Card title="Tutoriais e casos de uso" icon="graduation-cap" href="./tutorials">
  Navegue pelos guias de implementação para carrinhos abandonados, fluxos de integração, campanhas de reengajamento e mais.
</Card>

***

## Testes e depuração

Verifique se sua integração funciona antes de enviar para toda sua audiência.

<Tip>
  Sempre teste primeiro com [Assinaturas de teste](./test-users). Isso permite verificar entrega, renderização e deep links sem afetar Usuários reais.
</Tip>

<Columns cols={2}>
  <Card title="Assinaturas de teste" icon="vial" href="./test-users">
    Encontre e configure Assinaturas de teste para push, email e SMS.
  </Card>

  <Card title="Logs de depuração" icon="bug" href="./capturing-a-debug-log">
    Capture logs detalhados do SDK de aplicativos móveis para solução de problemas.
  </Card>

  <Card title="Solução de problemas móvel" icon="mobile" href="./mobile-troubleshooting">
    Resolva problemas comuns de entrega push, APNS e mensagens in-app.
  </Card>

  <Card title="Solução de problemas web" icon="globe" href="./troubleshooting-web-push">
    Corrija problemas de service worker, compatibilidade de navegador e push web.
  </Card>
</Columns>

***

## Análises e webhooks

Acompanhe o desempenho das mensagens e receba eventos de mensagens no lado do servidor para análises, automação ou sincronização com sistemas externos.

<Columns cols={2}>
  <Card title="Event Streams" icon="signal-stream" href="./event-streams">
    Transmita cliques, aberturas, recebimentos e outros eventos de mensagens para seu data warehouse em tempo real.
  </Card>

  <Card title="Webhooks de Jornada" icon="route" href="./journeys-webhook">
    Envie requisições HTTP para seu servidor a partir das etapas da Jornada.
  </Card>

  <Card title="Webhooks push web" icon="link" href="./webhooks">
    Callbacks HTTP para eventos de exibição, clique e descarte de push web.
  </Card>
</Columns>

***

## Perguntas frequentes

### Como autentico requisições à API REST?

Inclua sua chave de API REST no cabeçalho `Authorization` como um token Bearer: `Authorization: Key YOUR_REST_API_KEY`. Encontre sua chave em **Configurações > Chaves e IDs** no painel do OneSignal. Consulte [Chaves e IDs](./keys-and-ids) para detalhes.

### Qual é a diferença entre SDKs de cliente e SDKs de servidor?

Os **SDKs de cliente** (mobile e web) são executados no seu app no dispositivo do Usuário. Eles gerenciam o registro de Assinaturas, prompts de permissão, mensagens in-app e identificação de Usuário via `login`. Os **SDKs de servidor** são executados no seu backend e chamam a API REST para enviar mensagens, gerenciar Usuários e exportar dados.

### Como identifico Usuários em vários dispositivos?

Chame `OneSignal.login("your_external_id")` em cada dispositivo após o Usuário fazer login. O OneSignal une todas as Assinaturas com o mesmo External ID sob um único Usuário. Consulte [Usuários](./users#external-id) para detalhes de implementação.

### Preciso configurar a verificação de identidade?

A verificação de identidade é opcional, mas fortemente recomendada para apps em produção. Sem ela, qualquer cliente pode chamar `login` com um External ID arbitrário. Habilitar a [verificação de identidade](./identity-verification) requer atualizar o SDK do OneSignal para usar um JWT gerado pelo servidor, evitando personificação.

***

<Info>
  Need help?

  Chat with our Support team or email `support@onesignal.com`

  Please include:

  * Details of the issue you're experiencing and steps to reproduce if available
  * Your OneSignal App ID
  * The External ID or Subscription ID if applicable
  * The URL to the message you tested in the OneSignal Dashboard if applicable
  * Any relevant [logs or error messages](/docs/en/capturing-a-debug-log)

  We're happy to help!
</Info>
