Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAccesos e invitaciones
Dispositivo

Responder invitación de ubicación

Permite aceptar o rechazar una invitación personal a una ubicación desde Notificaciones. Al aceptar, Antylogic activa la ubicación y asegura la pertenencia a la organización; al rechazar, elimina la invitación pendiente si todavía no estaba aceptada.

En este artículo

Esta guía cubre la decisión personal del usuario invitado a una ubicación. El flujo se realiza desde el panel de Notificaciones y no permite responder por otra persona, cambiar roles ni editar datos de usuario.

En el demo ES, el ejemplo se documenta con Grupo Marea Demo, Demo Marea y Marea Mercado. La ruta devuelve `204 No Content`, por lo que el resultado se verifica con la desaparición de la invitación y la recarga de ubicaciones aceptadas.

Antes de empezar

  • El usuario debe haber iniciado sesión en Antylogic.
  • Debe existir una invitación pendiente a una ubicación para el usuario actual.
  • Para documentar el flujo desde la interfaz, debe existir una notificación `location_invite` visible en Notificaciones.
  • En el runtime demo ES, la captura requiere preparar temporalmente una invitación para Demo Marea a Marea Mercado y limpiarla al terminar.

Instrucciones

  1. 1.

    Abrir las notificaciones personales

    Desde la cabecera de la aplicación, abre el menú de usuario y entra en `Notificaciones`. La app carga las notificaciones de la cuenta actual con `GET /api/app/me/notifications?page_size=50`.

  2. 2.

    Revisar la invitación

    Comprueba que la invitación corresponde a Marea Mercado dentro de Grupo Marea Demo. La decisión se toma desde las acciones de la notificación: `Aceptar` o `Rechazar`.

  3. 3.

    Aceptar la invitación

    Pulsa `Aceptar` y confirma en el modal `Aceptar invitación`. La app envía `PUT /api/app/me/locations/{locationId}` con `status` igual a `accepted` para activar la membresía de ubicación del usuario actual.

  4. 4.

    Rechazar la invitación

    Si el usuario no debe incorporarse a esa ubicación, pulsa `Rechazar` y confirma en el modal. La app envía la misma ruta con `status` igual a `rejected`; si la relación seguía invitada, se elimina.

  5. 5.

    Comprobar el resultado

    Después de aceptar o rechazar, revisa que la invitación ya no aparece en Notificaciones. Si se aceptó, la ubicación debe aparecer entre las ubicaciones disponibles cuando la app recargue sus datos.

Validaciones y límites

  • La ruta solo admite `PUT`; otros métodos sobre `/api/app/me/locations/{locationId}` devuelven `405 Method Not Allowed`.
  • El body debe ser JSON válido con `status`, y solo se aceptan `accepted` o `rejected` después de normalizar el valor.
  • La operación usa el usuario autenticado: no acepta `user_id`, `org_id`, `location_id` ni roles en el payload.
  • La ubicación debe existir y debe haber una membresía propia del usuario para esa ubicación.
  • Al aceptar, `user_locations` pasa a `accepted` y la organización asociada queda aceptada si no existía o seguía invitada.
  • Al rechazar, no se guarda un estado `rejected`; si la membresía seguía `invited`, se borra la relación pendiente.
  • Si la membresía de ubicación ya estaba aceptada, un rechazo posterior no borra esa pertenencia aceptada.
  • La documentación existente menciona `{locationMembershipId}`, pero la implementación usa ese segmento como `{locationId}`.
  • La interfaz actual prioriza la respuesta de organización cuando la notificación trae `organization`; una captura fiel de esta ruta puede requerir un fixture específico de documentación.

Resultado esperado

Al aceptar, Demo Marea queda con acceso aceptado a Marea Mercado, la organización necesaria queda aceptada si hacía falta y la notificación `location_invite` se elimina. Al rechazar, la invitación pendiente desaparece y no se persiste ningún estado `rejected`.