Límites de integraciones nativas
Customer App puede mostrar experiencias que dependen de las capacidades del dispositivo, servicios de Ordering.co o servicios externos. Que algo exista en el código fuente no demuestra que la integración esté configurada, disponible, autorizada o pueda completarse.
Una integración tiene varios controles
Trata cada control como una decisión independiente. Pasar uno no implica pasar el siguiente.
| Control | Responsable | Qué establece |
|---|---|---|
| Inclusión en la versión | Responsables de versión y plataforma nativa | La variante de App aprobada contiene el código previsto de la integración. |
| Configuración pública | Responsables de producto y configuración | La experiencia actual puede mostrar un punto de entrada a la integración. |
| Propósito y consentimiento | Responsables de privacidad y producto | El uso de datos previsto está permitido para el propósito actual. |
| Capacidad y permiso del dispositivo | Sistema operativo | El dispositivo puede presentar o permitir una capacidad de plataforma. |
| Autorización de cuenta y recurso | Servicios de Ordering.co | El cliente actual puede acceder al recurso exacto de Ordering.co. |
| Transferencia externa | Servicio externo | El servicio aceptó una solicitud o presentó su propia experiencia. |
| Resolución de Ordering.co | Servicios de Ordering.co | El resultado autorizado de la aplicación se concilió de manera duradera. |
| Cierre de sesión, retirada o cambio de proyecto | Responsables de App, Ordering.co y servicio externo | Las identidades, tokens, callbacks y estados en caché anteriores dejaron de aplicarse. |
El resultado de un permiso no es consentimiento. Un control configurado no es autorización. El éxito de un servicio externo no equivale a una resolución de Ordering.co.
Clases de integración
| Clase de integración | Responsabilidad de Customer App | Responsabilidad del servicio Ordering.co | Responsabilidad externa o del dispositivo |
|---|---|---|---|
| Analítica y publicidad | Iniciar solo después del control de propósito aprobado; minimizar datos de eventos; detener y limpiar el estado cuando se requiera. | Definir los eventos permitidos y la minimización de datos. | Recibir solo eventos aprobados y cumplir su contrato de retención y eliminación. |
| Fraude y riesgo | Recopilar solo la señal aprobada del dispositivo o cuenta para una acción apta. | Vincular la señal al cliente y transacción autorizados sin tratarla como autoridad de pago. | Evaluar la señal y devolver un resultado de riesgo acotado. |
| Soporte al cliente | Abrir soporte solo después de una acción explícita del cliente y una comprobación de identidad actual. | Atestiguar la identidad para soporte y limitar el contexto de cuenta compartido. | Presentar la experiencia de soporte y terminar la sesión identificada cuando se solicite. |
| Notificaciones push | Mantener separados los estados de permisos, preferencias, instalación y navegación. | Vincular la instalación con la App, proyecto, cuenta y propósito actuales; minimizar el contenido de las notificaciones. | El sistema operativo controla permisos y presentación; el servicio de transporte controla la entrega. |
| Mapas y ubicación | Solicitar ubicación solo en un momento aprobado y minimizar las coordenadas que salen de la App. | Devolver solo los datos autorizados de ubicación y negocio necesarios para el recorrido actual. | El sistema operativo controla el permiso de ubicación; los servicios de mapas controlan geocodificación, mapas e indicaciones. |
| Inicio de sesión social | Mostrar la opción de proveedor y pasar a Ordering.co una prueba opaca del proveedor. | Verificar la prueba, vincular la cuenta correcta y emitir la sesión de Ordering.co. | Autenticar la cuenta externa y devolver el resultado del proveedor. |
| Pagos | Mostrar un método apto y pasar solo resultados opacos aprobados por el proveedor. | Vincular cliente, carrito, comercio, importe, moneda, callback y resolución final del pedido. | El sistema operativo o servicio de pago controla la recopilación, el desafío y la autorización del proveedor. |
| Medios | Previsualizar y confirmar la imagen o adjunto previsto antes de una carga autorizada. | Validar destino, tipo, tamaño, audiencia y política de retención. | El sistema operativo controla el selector; el servicio multimedia controla el almacenamiento y la transformación. |
Los contratos específicos de pagos, inicio de sesión social y notificaciones push definen límites adicionales. No hacen opcionales los otros controles.
Contrato del ciclo de vida
Una integración necesita un ciclo de vida completo, no solo una llamada de inicialización:
- Resolver la variante aprobada de App, proyecto, cuenta, propósito y recurso.
- Mantener la integración inactiva hasta superar todos los controles obligatorios.
- Vincular callbacks y estado en caché a esa generación exacta del ciclo de vida.
- Ignorar los resultados tardíos después del cierre de sesión, retirada, cambio de cuenta/proyecto o salida de la pantalla.
- Eliminar o rotar la identidad externa, instalación, token, listener y estado local cuando termine el ciclo.
- Volver a autorizar los datos sensibles de Ordering.co antes de usar un callback del proveedor para navegar o mostrar detalles.
La inicialización correcta no demuestra que se haya limpiado el estado. Ocultar la interfaz del servicio externo no demuestra que se hayan eliminado su identidad, trabajo en cola ni datos almacenados.
Límite de configuración
Usa únicamente un contrato aprobado de configuración pública para decidir si se puede presentar un punto de entrada. No deduzcas habilitación durante la ejecución a partir de una importación de paquete, entrada del manifiesto nativo, marcador de posición de compilación, constante del código fuente, clave del proveedor u otra experiencia de Customer App.
La configuración no debe proporcionar autorización de aplicación, identidad de cliente, resultado de pago ni consentimiento de permisos. Considera no disponible una configuración pública ausente, obsoleta, mal formada o no reconocida hasta que la valide la persona responsable.
Verifica sin contactar a un proveedor
Un plan de verificación seguro sustituye cada límite externo antes de montar la pantalla de Customer App. Debe demostrar:
- cero llamadas a servicios externos antes del control aprobado;
- cero llamadas después de retirar consentimiento, cerrar sesión o cambiar de cuenta/proyecto;
- ningún dato real de cliente, ubicación, mensaje, medio, pago ni dispositivo;
- una única generación vigente de identidad y callback, ignorando los resultados tardíos;
- ausencia de secretos, tokens, identificadores privados o cargas de proveedores en registros o resultados;
- un estado local no disponible o de error si el proveedor está denegado o ausente;
- limpieza de listeners, temporizadores, trabajo en cola, identidad en caché y estado de prueba reservado.
La disponibilidad, entrega, desafío o resolución de un proveedor requiere una prueba de integración autorizada por separado. No forma parte de la verificación de documentación.
Diagnostica por estado observable
Empieza con la persona responsable del estado visible. No uses una capa para deducir el estado de otra.
| Estado observable | Primera persona responsable | Disposición segura |
|---|---|---|
| Falta un punto de entrada previsto | Responsables de versión, producto y configuración pública | Mantén la integración no disponible; no deduzcas una caída del proveedor. |
| El permiso del dispositivo se deniega o bloquea | Responsables del sistema operativo y plataforma nativa | Muestra un estado local no disponible; no solicites repetidamente ni contactes al proveedor. |
| El control está visible, pero la transferencia no está disponible | Responsables de producto, autorización de Ordering.co y servicio externo | Vuelve a comprobar cada control por separado; visibilidad no es derecho de acceso ni disponibilidad. |
| Se devolvió la transferencia externa, pero la App sigue pendiente | Responsable de resolución de Ordering.co | Mantén el resultado como pendiente o desconocido; no repitas la acción externa. |
| Cambió la cuenta o proyecto durante la transferencia | Responsables de sesión y ciclo de vida de la integración | Descarta el resultado anterior y limpia sus callbacks, identidad y estado reservado. |
| Cerrar sesión o retirar consentimiento deja activa la integración | Responsables de privacidad e identidad del proveedor | Mantén bloqueada la integración hasta demostrar que se desmontó. |
| Aparece un destino, mensaje o recurso multimedia inesperado | Responsables de rutas, seguridad de contenido y medios | Falla de forma segura sin abrirlo, mostrarlo ni reenviarlo. |
| Un proveedor sustituido devuelve error durante la verificación | Responsable de integración | Verifica el error local y la limpieza; no cambies a un proveedor en vivo. |
Vuelve a validar cuando cambien las responsabilidades
Repite la revisión de responsabilidad y ciclo de vida tras cambios en:
- la autoridad de App, shared-components, servicio de Ordering.co o artefacto de versión;
- dependencias nativas, manifiestos, permisos, esquemas o variantes de compilación;
- filtrado de configuración pública, elegibilidad de integración o selección de proyecto/sitio;
- propósitos de consentimiento, versión de política, retirada o minimización de datos;
- cuenta, sesión, instalación del dispositivo, token, callback o desmontaje del proyecto;
- límites de mapas/ubicación, medios, soporte, analítica, fraude/riesgo, funciones sociales, pagos o push;
- destinos externos, interpretación de callbacks, reintento/recuperación o resolución de Ordering.co; o
- registros, capturas, diagnósticos, retención, eliminación o reglas de redacción.
Límite de la documentación pública
La documentación pública puede identificar la capa responsable, el estado previo a una acción y los controles requeridos. No debe incluir valores de configuración, credenciales, tokens, identificadores privados, cargas de proveedores, formatos de callbacks, endpoints en vivo ni instrucciones para probar una cuenta real de cliente o proveedor.
Para conocer límites específicos, consulta Límites de configuración y experiencia, Opciones de consentimiento y privacidad, Plataforma y accesibilidad, Límites de pagos, Límites del inicio de sesión social y Límites de notificaciones push.