El almacenamiento local de la API de nube te permite controlar dónde se almacenan en reposo los datos de tus mensajes. Si tu empresa pertenece a un sector regulado, como el de las finanzas, el gubernamental o el de la asistencia sanitaria, es posible que prefieras que los datos de los mensajes se almacenen en reposo en un país específico a causa de las políticas reglamentarias o de la empresa.
El almacenamiento local de la API de nube proporciona una capa adicional de protección de datos mediante la implementación de controles adicionales para administrar los datos. La función de almacenamiento local comprende dos restricciones adicionales en el entorno de ejecución de la API de nube:
Cuando se habilita el almacenamiento local para un número de teléfono de empresa, el almacenamiento local de la API de nube utilizará un almacenamiento localizado en el país especificado para la permanencia del contenido de los mensajes en lugar de usar su almacenamiento predeterminado en los EE. UU.
La función de almacenamiento local complementa otros controles de privacidad y seguridad de la API de nube y permite que los clientes aseguren un mayor nivel de cumplimiento con las normativas locales sobre protección de datos.
La API de nube implementa la localización para el contenido de los mensajes. La función de almacenamiento local cubre los siguientes procesos de mensajes:
La característica de almacenamiento local cubre los siguientes tipos de mensajes:
Además, en el conjunto de datos localizado se incluye un conjunto limitado de atributos de metadatos para asociar correctamente la carga útil de los mensajes localizados cifrados al mensaje procesado originalmente y para auditar el proceso de localización. Los metadatos almacenados están protegidos mediante tokenización y cifrado.
El objetivo de la función de almacenamiento local de la API de nube es permitir que tu empresa controle directamente mediante la configuración de la API de nube dónde se almacenan los datos confidenciales en reposo a la vez que te da la flexibilidad de elegir los lugares de ubicación de los datos a nivel mundial.
Las regiones que admiten el almacenamiento local de la API de nube se detallan en las Condiciones de alojamiento de Meta para la API de nube. Puedes consultar las regiones que están disponibles actualmente para el almacenamiento local en el parámetro data_localization_region
establecido durante el registro del número de teléfono.
El almacenamiento local solo se puede activar o desactivar en números de teléfono sin registrar.
Los archivos multimedia subidos por un número de teléfono con el almacenamiento local activado solo son accesibles para ese número de teléfono específico y no se pueden compartir con otros números de teléfono asociados a la empresa.
Sigue los pasos que se detallan a continuación para activar el almacenamiento local en un número de teléfono de empresa sin registrar con la versión 21.0 de la API o una versión superior. Si estás usando una versión anterior de la API, consulta Activar el almacenamiento local (versión 20 y anteriores).
Utiliza el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/settings para activar el almacenamiento local en el número de teléfono de empresa sin registrar.
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/settings { "storage_configuration": { "status": "IN_COUNTRY_STORAGE_ENABLED", "data_localization_region": "<COUNTRY_CODE>" } }
Establece el valor de <COUNTRY_CODE>
en el código del país donde se deben almacenar los datos en reposo.
{ "success": <SUCCESS> }
Si la operación se realiza correctamente, el valor de <SUCCESS>
se establecerá en true
.
curl 'https://graph.facebook.com/v21.0
/106540352242922/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_ENABLED",
"data_localization_region": "BR"
}
}'
{ "success": true }
Usa el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register para registrar el número de teléfono de empresa.
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register { "messaging_product": "whatsapp", "pin": "<TWO_STEP_PIN>" }
Establece el valor de <TWO_STEP_PIN>
en el PIN de verificación en dos pasos deseado del número de teléfono de empresa.
{ "success": <SUCCESS> }
Si la operación se realiza correctamente, el valor de <SUCCESS>
se establecerá en true
.
curl 'https://graph.facebook.com/v21.0/v21.0
/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"pin": "123456"
}'
{ "success": true }
Utiliza el extremo GET /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/settings para obtener la configuración de almacenamiento local de un número de teléfono de WhatsApp Business. Por ejemplo:
curl 'https://graph.facebook.com/v21.0
/179776755229976/settings' \
-H 'Authorization: Bearer EAAJB...'
Esto devuelve un nodo que representa la configuración de almacenamiento local del número de teléfono de empresa. Por ejemplo:
{ "storage_configuration": { "status": "IN_COUNTRY_STORAGE_ENABLED", "data_localization_region": "BR" } }
Usa el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/settings para desactivar el almacenamiento local en un número de teléfono de empresa sin registrar con la versión 21.0 de la API o una posterior. Si estás usando una versión anterior de la API, consulta Desactivar el almacenamiento local (versión 20 y anteriores).
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID/>settings { "storage_configuration": { "status": "IN_COUNTRY_STORAGE_DISABLED" } }
Establece el valor de <COUNTRY_CODE>
en el código del país donde se deben almacenar los datos en reposo.
{ "success": <SUCCESS> }
Si la operación se realiza correctamente, el valor de <SUCCESS>
se establecerá en true
.
curl 'https://graph.facebook.com/v21.0
/106540352242922/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"storage_configuration": {
"status": "IN_COUNTRY_STORAGE_DISABLED"
}
}'
{ "success": true }
Para activar el almacenamiento local en un número de teléfono de empresa sin registrar con la versión 20.0 de la API o una anterior, haz lo siguiente:
Usa el extremo GET /<WHATSAPP_BUSINESS_PHONE_NUMBER> y solicita el campo code_verification_status
. Si el estado de verificación del código es VERIFIED
, pasa al paso 4. De lo contrario, sigue con el paso 2.
Usa el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/request_code para solicitar un código de verificación. Si la operación se lleva a cabo correctamente, la API responderá con true
y se enviará un código de verificación al número de teléfono de empresa mediante el método especificado en el parámetro code_method
.
Por ejemplo, esta consulta solicita el envío de un código de verificación mediante SMS en inglés (configuración regional de EE. UU.).
curl -X POST 'https://graph.facebook.com/v21.0
/110200345501442/request_code?code_method=SMS&language=en_US' \
-H 'Authorization: Bearer EAAJB...'
Usa el código en el mensaje entregado en el siguiente paso.
Usa el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/verify_code para verificar el número de teléfono de empresa con el código de verificación incluido en el mensaje que has recibido en el paso anterior.
Por ejemplo:
curl -X POST 'https://graph.facebook.com/v21.0
/110200345501442/verify_code?code=123830' \
-H 'Authorization: Bearer EAAJB...'
Usa el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register para registrar el número de teléfono de empresa. Indica el país en el que se deben almacenar los datos en reposo con el parámetro data_localization_region
.
Por ejemplo, esta solicitud activa el almacenamiento local en un número de teléfono de empresa y establece que el país en el que se deben almacenar los datos sea la India:
curl 'https://graph.facebook.com/v21.0
/110200345501442/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"pin": "123456",
"data_localization_region": "IN"
}'
Usa el extremo POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/deregister para desactivar el almacenamiento local en un número de teléfono de empresa con la versión 20.0 de la API o una anterior.
Por ejemplo:
curl -X POST 'https://graph.facebook.com/v21.0
/110200345501442/deregister' \
-H 'Authorization: Bearer EAAJB...'
Ten en cuenta que, de esta forma, se anula el registro del número de teléfono de empresa, por lo que no podrá usarse con la API de nube de WhatsApp. Si quieres seguir usándolo con la API de nube pero sin tener habilitado el almacenamiento local, debes volver a registrarlo sin incluir el parámetro data_localization_region
.
P. ¿Cuáles son las rutas de migración para mover un número de teléfono a la versión de la API de nube con almacenamiento local?
Admitimos todas las rutas de migración a la versión de la API de nube con almacenamiento local, en las que se incluyen:
En todos estos casos, tienes que enviar una solicitud POST al extremo /register del número de teléfono seleccionado y especificar el país de destino en el que se deben localizar los datos en un nuevo parámetro data_localization_region
.
P. ¿La migración conlleva algún riesgo? ¿Hay algún tiempo de inactividad asociado?
La migración no conlleva ningún riesgo; se trata de un proceso parecido al de migrar de la API local a la API de nube. Consulta nuestra documentación para desarrolladores aquí. El tiempo de inactividad suele ser inferior a cinco minutos y no es necesario volver a verificar el número de teléfono de empresa.