Ryde One es el derecho de transacción
La autorización OAuth no otorga autoridad de transacción. Una membresía Ryde One activa, sí.
Que un cliente conecte su cuenta de Ryde con tu aplicación te autoriza a actuar por él. Eso no le da, por sí solo, derecho a transaccionar mediante software externo. Ese derecho es Ryde One, la membresía pagada del propio cliente: la tiene el cliente, nunca el desarrollador.
Una membresía no puede cubrir a muchos clientes. El derecho se verifica contra la persona cuyo token tienes, en cada llamada que transacciona. No hay sustituto a nivel de aplicación ni de organización.
Qué puede hacer quien no es miembro
Leer, cotizar y hacer seguimiento; nunca crear. La regla es deliberadamente generosa del lado de lectura, para que un agente pueda demostrar valor real y luego explicar la membresía, en vez de chocar con un muro antes de decir algo útil.
| Capacidad | Sin Ryde One | Con Ryde One activo |
|---|---|---|
| Conectar una cuenta Ryde | ✓ | ✓ |
| Consultar estado de membresía | ✓ | ✓ |
| Buscar comercios y leer menús | ✓ | ✓ |
| Ver opciones de viaje y cotizaciones | ✓ | ✓ |
| Cotizar una canasta o una entrega | ✓ | ✓ |
| Buscar proveedores y ver disponibilidad | ✓ | ✓ |
| Seguir un viaje, pedido o reserva existente | ✓ | ✓ |
| Obtener un recibo existente | ✓ | ✓ |
| Cancelar algo ya en curso | ✓ | ✓ |
| Solicitar un viaje nuevo | ✗ | ✓ |
| Hacer un pedido de comida | ✗ | ✓ |
| Solicitar una entrega nueva | ✗ | ✓ |
| Reservar un proveedor de servicios | ✗ | ✓ |
| Crear una tarea | ✗ | ✓ |
| Gasto autónomo sin confirmación | ✗ | planned |
El rechazo
403, no 401: el token está bien, así que refrescarlo o repetir OAuth no ayuda y solo atrapa al cliente en un bucle. El cuerpo trae todo lo necesario para dirigirlo a la solución.
HTTP/1.1 403 Forbidden
X-Ryde-Request-ID: req_9f2c41ab7d0e4c58
{
"error": {
"code": "RYDE_ONE_REQUIRED",
"message": "An active Ryde One membership is required to create this transaction.",
"request_id": "req_9f2c41ab7d0e4c58",
"details": {
"requested_action": "food.order",
"membership_status": "none",
"join_url": "https://www.ryde.us.com/one"
}
}
}
Trátalo como un momento de producto, no como un error. Al cliente se le acaba de mostrar una canasta real y un precio real; lo único que falta es la membresía. Muestra join_url y ofrece continuar después.
Una membresía que vence a mitad de una transacción
Una membresía que vence nunca deja varado a un cliente. Una vez que existe un viaje, pedido, reserva o tarea, leerlo, seguirlo, obtener su recibo y CANCELARLO siguen funcionando sin importar el estado de la membresía. Solo se rechaza crear algo NUEVO. Salir de una transacción no es un privilegio.
Ryde evalúa el derecho contra el reloj, no contra una bandera almacenada, y falla en cerrado. El estado de membresía también aparece como una afirmación informativa en el token de acceso para tu interfaz, pero la plataforma nunca confía en esa afirmación para la verificación: relee el estado en vivo en cada llamada que transacciona, así que un token emitido hace unos minutos no puede pagar un viaje que la membresía ya no cubre.