Introducción
El proyecto Widget consiste en proporcionar widgets que los desarrolladores pueden personalizar e incorporar a sus aplicaciones.
Al instalar el script de incorporación en la aplicación, se mostrará un botón flotante que, al hacer clic, se expande y hace que los recursos configurados queden disponibles.
En la versión actual, el widget proporciona un Chat (entre el mechant y el consumidor), Notificaciones, Rastreo de orden y el Indicador de status de la tienda, soporte multitienda.Requisitos
Para ejecutar el widget, tu aplicación debe ser compatible con Javascript.Para crear un widget, inicia sesión en el Portal do Desenvolvedor, haz clic en el menú Widgets y luego en Registrar Widget. Llena los campos obligatorios, personaliza el color y la posición y haz clic en Guardar. Después de guardar, haz clic en "Código de incorporación" y copia el código para hacer la instalación.
Instalación
Copia el código de inserción en la <head>
de las páginas del sistema en que el widget debe ser accesible. Después de insertar el código, remplaza el campo merchantIds
con el UUIDs del merchants de tu usuario.<!-- Start of iFood Widget script-->
<script async src="https://widgets.ifood.com.br/widget.js"></script>
<script>
window.addEventListener('load', () => {
iFoodWidget.init({
widgetId: 'widgetUUID',
merchantIds: [
// list of merchant uuids (up to 10)
],
});
});
</script>
<!-- End of iFood Widget script -->
Es posible obtener el UUID del merchant en el Portal do Parceiro en la opción "Configuración de la tienda-> Tienda".TipPuedes utilizar una variable dinámica que puede cambiar según la información de la sesión del usuario de tu aplicación.
Autenticacion y autorizacion
En el primer acceso, el usuario debe autorizar el acceso. Al hacer clic en "Autorizar" se generará un código y un enlace que te redirige al Portal do Parceiro de iFood donde el usuario deberá realizar la autorización. Es necesario iniciar sesión en el Portal do Parceiro para autorizar. Este proceso de autorización es extremadamente importante para garantizar que solo el usuario con permiso en una tienda en particular tenga acceso a la información de esa tienda a través del widget. Es este proceso el que garantiza que ninguna persona malintencionada tenga acceso a los datos sensibles/confidenciales de su cliente en iFood.Perfiles y permisos necesarios para autorizar el widgetPara autorizar en el Portal do Parceiro de iFood, el usuario registrado debe tener acceso a todos las tiendas informadas en el código de incorporación y tener uno de los siguientes perfiles:- "Administrador(a)"
- "Dono(a)"
- "Gestão da rede (antigo Master Franqueado)"
- "Gestão estratégica de 2 ou mais lojas"
- "Dono(a) da franquia (antigo Franqueado)"
- "Franqueado Operação"
- "Franqueado Gestão de Cardápio"
- "Franqueado Gestão de Cardápio e Entrega"
- "Financeiro"
Al hacer clic en el link "Ir a "Portal de socios", el usuario será redirigido al Portal do Parceiro para autorizar. Si el usuario no ha iniciado sesión, será necesario iniciar sesión y luego hacer clic en "Autorizar".
El usuario recibirá un código de autorización que deberá ingresar en el widget. Debe copiar este código, volver a su aplicación, pegar el código de autorización y hacer clic en "Autorizar".Consejos importantes
Token de sesión de widget y caché localAl autorizar el widget se genera un accessToken y un refreshToken que se almacenarán en la caché local. El propio widget se encarga de renovar el token cuando está a punto de caducar, pero es muy importante que este caché local nunca se elimine. Si se elimina el caché, el usuario deberá volver a autorizar el widget.
Validez de sesión El refreshToken es válido por 7 días. Si el usuario no accede al Widget durante más de 7 días, deberá volver a autorizar.
Cierre de sesión del usuario en su aplicación y sesión de WidgetCuando un usuario de su aplicación cierra sesión (en un eventual cambio de turno), le recomendamos que mantenga activa la sesión del widget. Para esto, no elimine el código de inserción de la pantalla de inicio de sesión y no elimine el caché. Con eso, cuando un nuevo usuario inicia sesión en su aplicación, ya tiene acceso al widget sin tener que volver a pasar por todo el proceso de autorización.
Paso a paso
Mire el video a continuación para ver cómo funciona el proceso de autorización:Preguntas frecuentes
Soporte para múltiples comerciantes
Puede incluir de 1 a 10 comerciantes en una sesión de widget. El usuario que realiza el proceso de autorización debe tener acceso a todos los comercios de esta lista, de lo contrario no será posible autorizar el widget.Múltiples pestañasNo es posible tener instancias de widgets en varias pestañas del mismo navegador con diferentes comerciantes. Al autenticar comerciantes en una instancia, todas las demás instancias (incluidas todas las pestañas del navegador) se desautenticarán automáticamente.
Esto no significa que un widget no pueda ser autorizado por varios comerciantes al mismo tiempo, un widget puede haber sido autorizado por N comerciantes y debería continuar funcionando normalmente para todos ellos, siempre que estén en máquinas separadas.Autenticación multidispositivo
Hoy en día el proceso de autorización debe hacerse una vez por dispositivo, ya que el resultado de la autorización solo persiste localmente, por lo que al autorizar el widget en la máquina A, al intentar abrir el mismo widget con el mismo comerciante en la máquina B, el usuario de la máquina B debe realizar el proceso de autorización de forma automática.