Saltar al contenido principal

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.

ControlResponsableQué establece
Inclusión en la versiónResponsables de versión y plataforma nativaLa variante de App aprobada contiene el código previsto de la integración.
Configuración públicaResponsables de producto y configuraciónLa experiencia actual puede mostrar un punto de entrada a la integración.
Propósito y consentimientoResponsables de privacidad y productoEl uso de datos previsto está permitido para el propósito actual.
Capacidad y permiso del dispositivoSistema operativoEl dispositivo puede presentar o permitir una capacidad de plataforma.
Autorización de cuenta y recursoServicios de Ordering.coEl cliente actual puede acceder al recurso exacto de Ordering.co.
Transferencia externaServicio externoEl servicio aceptó una solicitud o presentó su propia experiencia.
Resolución de Ordering.coServicios de Ordering.coEl resultado autorizado de la aplicación se concilió de manera duradera.
Cierre de sesión, retirada o cambio de proyectoResponsables de App, Ordering.co y servicio externoLas 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ónResponsabilidad de Customer AppResponsabilidad del servicio Ordering.coResponsabilidad externa o del dispositivo
Analítica y publicidadIniciar 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 riesgoRecopilar 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 clienteAbrir 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 pushMantener 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ónSolicitar 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 socialMostrar 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.
PagosMostrar 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.
MediosPrevisualizar 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:

  1. Resolver la variante aprobada de App, proyecto, cuenta, propósito y recurso.
  2. Mantener la integración inactiva hasta superar todos los controles obligatorios.
  3. Vincular callbacks y estado en caché a esa generación exacta del ciclo de vida.
  4. Ignorar los resultados tardíos después del cierre de sesión, retirada, cambio de cuenta/proyecto o salida de la pantalla.
  5. Eliminar o rotar la identidad externa, instalación, token, listener y estado local cuando termine el ciclo.
  6. 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 observablePrimera persona responsableDisposición segura
Falta un punto de entrada previstoResponsables de versión, producto y configuración públicaMantén la integración no disponible; no deduzcas una caída del proveedor.
El permiso del dispositivo se deniega o bloqueaResponsables del sistema operativo y plataforma nativaMuestra un estado local no disponible; no solicites repetidamente ni contactes al proveedor.
El control está visible, pero la transferencia no está disponibleResponsables de producto, autorización de Ordering.co y servicio externoVuelve a comprobar cada control por separado; visibilidad no es derecho de acceso ni disponibilidad.
Se devolvió la transferencia externa, pero la App sigue pendienteResponsable de resolución de Ordering.coMantén el resultado como pendiente o desconocido; no repitas la acción externa.
Cambió la cuenta o proyecto durante la transferenciaResponsables de sesión y ciclo de vida de la integraciónDescarta el resultado anterior y limpia sus callbacks, identidad y estado reservado.
Cerrar sesión o retirar consentimiento deja activa la integraciónResponsables de privacidad e identidad del proveedorMantén bloqueada la integración hasta demostrar que se desmontó.
Aparece un destino, mensaje o recurso multimedia inesperadoResponsables de rutas, seguridad de contenido y mediosFalla de forma segura sin abrirlo, mostrarlo ni reenviarlo.
Un proveedor sustituido devuelve error durante la verificaciónResponsable de integraciónVerifica 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.