Armazenamento local
Updated: 12 de dez de 2025
Com o armazenamento local, você tem uma camada adicional de controle no gerenciamento de dados e pode especificar onde os dados das suas mensagens são armazenados em repouso. Caso sua empresa seja de um setor regulamentado (como finanças, organizações governamentais ou serviços de saúde), talvez você prefira que os dados em repouso das mensagens sejam armazenados em um país específico devido às políticas regulatórias ou da empresa.
Como funciona o armazenamento local
O armazenamento local é controlado por uma configuração habilitada ou desabilitada no nível do número de telefone comercial do WhatsApp. Tanto a API de Nuvem quanto a API de MM Lite são compatíveis com o armazenamento local. A configuração será aplicada a qualquer mensagem enviada por meio dessas APIs se o armazenamento estiver habilitado.
Quando o armazenamento local está habilitado, as seguintes restrições são aplicadas ao conteúdo de mensagens para um número de telefone comercial:
- Dados em uso: quando o conteúdo da mensagem é enviado ou recebido pela API de Nuvem ou pela API de MM Lite, ele pode ser armazenado nos data centers da Meta em todo o mundo durante o processamento.
- Dados em repouso: após o período de dados em uso, o conteúdo da mensagem é excluído dos data centers da Meta fora da região de armazenamento local especificada e persiste apenas nos data centers dentro da região de armazenamento local selecionada. O período de dados em uso é diferente para a API de Nuvem e a API de MM Lite, conforme especificado abaixo:
- Ao usar o armazenamento local na API de Nuvem, o período de dados em uso é de até 60 minutos.
- Ao usar o armazenamento local na API de MM Lite, o período de dados em uso é de até 90 minutos.
O armazenamento local se aplica ao conteúdo de mensagens (texto e mídia) enviadas e/ou recebidas por meio da API de Nuvem e da API de MM Lite. Os seguintes conteúdos de mensagem estão no escopo do recurso de armazenamento local:
- Mensagens de texto: carga de texto (corpo da mensagem)
- Mensagens de mídia: carga de mídia (áudio, documento, imagem ou vídeo)
- Mensagens de modelo (modelo estático + parâmetros passados na hora de envio da mensagem): componentes com carga de texto/mídia
Além disso, um conjunto limitado de atributos de metadados é incluído no conteúdo da mensagem armazenado localmente. Assim, é possível associar a carga da mensagem criptografada à mensagem originalmente processada e auditar a localização. Os metadados armazenados são protegidos com tokens e criptografia.
- Os arquivos de mídia enviados por um número de telefone comercial com armazenamento local habilitado só poderão ser acessados por esse número de telefone específico e não poderão ser compartilhados com outros números associados à empresa.
Como habilitar o armazenamento local
Etapa 1: habilitar o armazenamento local no número de telefone
O armazenamento local só poderá ser habilitado ou desabilitado em números de telefone comerciais do WhatsApp que estiverem em um estado não registrado. Caso o número de telefone esteja registrado, será preciso cancelar o registro e registrá-lo novamente com o armazenamento local habilitado.
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/settings
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_ENABLED",
"data_localization_region": "<COUNTRY_CODE>"
}
}
Defina
<COUNTRY_CODE> como o
código do país do local onde os dados em repouso devem ser armazenados.
Em caso de sucesso, <SUCCESS> será definido como true.
curl 'https://graph.facebook.com/v25.0/106540352242922/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_ENABLED",
"data_localization_region": "BR"
}
}'
Etapa 2: registrar o número
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register
{
"messaging_product": "whatsapp",
"pin": "<TWO_STEP_PIN>"
}
Defina <TWO_STEP_PIN> como o PIN de confirmação em duas etapas desejado para o número de telefone comercial.
Em caso de sucesso, <SUCCESS> será definido como true.
curl 'https://graph.facebook.com/v21.0/v25.0/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"pin": "123456"
}'
Como obter as configurações do armazenamento local
curl 'https://graph.facebook.com/v25.0/179776755229976/settings' \
-H 'Authorization: Bearer EAAJB...'
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_ENABLED",
"data_localization_region": "BR"
}
}
Como desabilitar o armazenamento local
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID/>settings
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_DISABLED"
}
}
Defina
<COUNTRY_CODE> como o
código do país do local onde os dados em repouso devem ser armazenados.
Em caso de sucesso, <SUCCESS> será definido como true.
curl 'https://graph.facebook.com/v25.0/106540352242922/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_DISABLED"
}
}'
Como habilitar o armazenamento local com a versão 20 e anteriores
Para habilitar o armazenamento local em um número de telefone comercial não registrado usando a v20.0 ou versões anteriores da API:
Etapa 1: consultar o status de verificação
Use o ponto de extremidade
GET /<WHATSAPP_BUSINESS_PHONE_NUMBER> e solicite o campo
code_verification_status. Se o status de verificação de código for
VERIFIED, pule para a etapa 4. Caso contrário, prossiga para a etapa 2.
Etapa 2: solicite um código de verificação
Use o ponto de extremidade
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/request_code para solicitar um código de verificação. Em caso de sucesso, a API responderá com
true e um código de verificação será enviado ao número de telefone comercial por meio do método especificado no parâmetro
code_method.
Por exemplo, essa consulta solicita que um código de verificação seja enviado via SMS em inglês (localidade nos EUA).
curl -X POST 'https://graph.facebook.com/v20.0/110200345501442/request_code?code_method=SMS&language=en_US' \
-H 'Authorization: Bearer EAAJB...'
Use o código na mensagem entregue na próxima etapa.
Etapa 3: verificar o número de telefone comercial
Por exemplo:
curl -X POST 'https://graph.facebook.com/v20.0/110200345501442/verify_code?code=123830' \
-H 'Authorization: Bearer EAAJB...'
Etapa 4: registrar o número de telefone comercial
Essa solicitação habilita o armazenamento local em um número de telefone comercial e define o país onde os dados devem ser armazenados (por exemplo, Índia):
curl 'https://graph.facebook.com/v20.0/110200345501442/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"pin": "123456",
"data_localization_region": "IN"
}'
Como desabilitar o armazenamento local usando a versão 20 e anteriores
Por exemplo:
curl -X POST 'https://graph.facebook.com/v25.0/110200345501442/deregister' \
-H 'Authorization: Bearer EAAJB...'
Vale ressaltar que isso cancelará o registro do número de telefone comercial e impedirá o uso dele com a API de Nuvem do WhatsApp. Se quiser continuar usando o número com a API de Nuvem, mas sem o armazenamento local habilitado, você deverá registrá-lo novamente sem incluir o parâmetro data_localization_region.
P. Quais são os caminhos de migração para mover um número de telefone para a versão da API de Nuvem com armazenamento local?
Aceitamos todos os caminhos de migração para a versão da API de Nuvem com armazenamento local, incluindo:
- Migrar um número existente da API Local para a versão da API de Nuvem com armazenamento local
- Migrar um número existente da API de Nuvem para a versão com armazenamento local
- Habilitar um número novo na API de Nuvem com armazenamento local
Em todos esses casos, é necessário enviar uma solicitação POST ao ponto de extremidade
/register para o número de telefone selecionado, especificando o país no qual os dados devem ser localizados em um novo parâmetro
data_localization_region.
P. A migração traz algum risco? Haverá um período de inatividade?
Não existem riscos. Esse processo é semelhante ao da migração da API Local para a API de Nuvem. Consulte nossa
documentação para desenvolvedores neste link. Normalmente, o tempo de inatividade é inferior a 5 minutos e não é preciso verificar o número de telefone comercial outra vez.
P. Há algum tempo de inatividade associado à habilitação do armazenamento local para um número de telefone comercial?
Se o número de telefone comercial já estiver registrado, será necessário excluí-lo e registrá-lo novamente com o armazenamento local habilitado. Esse processo costuma levar menos de cinco minutos. Não é necessária uma nova verificação do número de telefone comercial enquanto isso.