> ## 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.

# Central de preferências

> Aprenda como implementar uma central de preferências de usuário personalizada em seu aplicativo ou site usando as APIs do OneSignal para gerenciar tópicos de notificação, frequências, canais e configurações de privacidade de dados.

## O que é uma central de preferências?

Uma Central de Preferências é uma página em seu aplicativo ou site que permite aos usuários controlar como e que tipo de mensagens eles recebem de você. Para mais detalhes e razões para criar uma Central de Preferências, consulte [Um Guia para Centrais de Preferências do Usuário](https://onesignal.com/blog/a-guide-to-user-preference-centers).

Este guia explica a configuração técnica necessária para incluir uma central de preferências de usuário em seu aplicativo ou site usando as APIs do OneSignal. Neste guia discutimos como:

* atribuir tópicos, categorias e controles de frequência com [Tags de Dados](./add-user-data-tags)
* coletar novos canais de comunicação (notificações push, email, SMS)
* desabilitar canais de comunicação se o usuário quiser cancelar
* lidar com conformidade de dados
* excluir dados do usuário

## Requisitos

* SDKs Móveis do OneSignal versão 5+ e/ou Web SDK 16+
* Configurar o [External ID ou Alias](./users)
* O OneSignal não fornece nenhuma API para criar o layout da Central de Preferências, apenas as APIs para GET, PATCH e DELETE de Usuários e Assinaturas
  * Se você tem um site e precisa de uma central de preferências simples, experimente nosso [Prompt de Categoria](./permission-requests)

### Leituras adicionais recomendadas

* [Um Guia para Centrais de Preferências do Usuário](https://onesignal.com/blog/a-guide-to-user-preference-centers)
* [Dados Coletados pelo SDK do OneSignal](./data-collected-by-the-onesignal-sdk)
* [Tratamento de Dados Pessoais](./handling-personal-data)

## Configuração

Quando o usuário acessar sua central de preferências, use a API [View user](/reference/view-user) para obter os dados do OneSignal para o usuário com base no `external_id` ou em um alias personalizado que você definiu. Isso fornecerá as `properties` e `subscriptions` do usuário. Os dados úteis incluem, mas não se limitam a:

* `properties`: os dados do usuário
  * `tags` - dados personalizados que você envia para o OneSignal
  * `language` - o código do idioma do usuário
* `subscriptions`: os canais de mensagens e status de assinatura
  * `id` - o ID da Assinatura
  * `type` - `Email`, `SMS`, \*Push (`AndroidPush`, `iOSPush`, `ChromePush`, `SafariPush`, etc)
  * `enabled` - `true` significa inscrito, `false` significa cancelado
  * `token` - o token push, endereço de email ou número de telefone dependendo do tipo de assinatura

<CodeGroup>
  ```json json theme={null}
  {
    "properties": {
      "tags": {
        "finance": "1",
        "tech": "1",
        "sports": "1",
        "breaking-news": "0",
        "entertainment": "0",
        "deals": "0",
        "newsletter-frequency": "weekly",
        "customer_status": "Enterprise",
        "event": "1693411710",
        "first_name": "Jon",
        "last_name": "F"
      },
      "language": "en"
    },
    "subscriptions": [
      {
        "id": "sub_id_1",
        "type": "Email",
        "token": "email@example.com",
        "enabled": true
      },
      {
        "id": "sub_id_2",
        "type": "SMS",
        "token": "1234567890",
        "enabled": true
      },
      {
        "id": "sub_id_3",
        "type": "ChromePush",
        "token": "some_token_here",
        "enabled": true
      }
    ]
  }
  ```
</CodeGroup>

Use os dados fornecidos para preencher a central de preferências conforme necessário.

## Atribuir categorias e controles de frequência

Consulte [Tags de Dados](./add-user-data-tags). Tags são pares chave-valor usados para segmentar e personalizar. Use inteiros codificados como string ou timestamps para habilitar filtragem baseada em intervalo.

Os usuários podem alternar interesses (por exemplo, `sports: 1`) ou definir tags de frequência como `newsletter-frequency: weekly`. Use esses dados em [Segmentos](./segmentation) ou na API [Create notification](/reference/create-message) com filtros.

Para atualizar uma tag, chame a API [Update user](/reference/update-user).

## Coletar novos canais de comunicação

Verifique `subscriptions` para tipo e status habilitado. Mostre `token` apenas para email/SMS, não para push.

<Warning>
  Se as informações de contato existirem no seu sistema mas ainda não no OneSignal, use seu próprio
  banco de dados como alternativa para exibi-las.
</Warning>

### Atualizações de Email e SMS

Use os métodos SDK `addEmail`, `addSms` ou as APIs [Create subscription](/reference/create-subscription) e [Update subscription](/reference/update-subscription). O `id` da assinatura é necessário para atualizações.

### Atualizações de Push

Se push não estiver habilitado, solicite ao usuário.

* Para aplicativos móveis: [Solicitar Permissões Push](./prompt-for-push-permissions)
* Para web: use [Prompt Nativo do Navegador](./permission-requests) ou [Prompt Deslizante](./permission-requests)

## Desabilitar canais de comunicação

Use [Update subscription](/reference/update-subscription) para definir `enabled` como `false`. Alterne para `true` para optar novamente.

## Lidar com conformidade de dados

Evite a inicialização do SDK por padrão e exija consentimento do usuário para inicializar. Consulte [Tratamento de Dados Pessoais](./handling-personal-data).

## Excluir dados do usuário

Use a API [Delete user](/reference/delete-user) para remover completamente um usuário do OneSignal.

***
