Saltar al contenido principal

Verificar código SMS

Verifica el código SMS recibido después de registrar el número telefónico. Si el código es correcto, el teléfono queda habilitado en la cuenta.


✅ Paso 2 del flujo telefónico

Usa el sessionId devuelto por POST /auth/phone/register junto con el código de 6 dígitos recibido por SMS.

POST/auth/phone/verify

Verifica el código SMS asociado a sessionId

📋 Parámetros

sessionIdstringrequerido

ID de sesión devuelto por /auth/phone/register

codestringrequerido

Código SMS de 6 dígitos

📤 Respuesta

{
"event": {
  "code": 1001,
  "message": "Phone verified successfully"
},
"data": {
  "status": "success"
}
}

Requiere autenticación

JWT requerido

Envía un JWT válido:

Authorization: Bearer <accessToken>

Contexto de uso

  1. Solicitar SMS: Registrar número telefónicoPOST /auth/phone/register
  2. Recibir SMS: código de 6 dígitos
  3. Verificar: POST /auth/phone/verify con sessionId + code

Request Body

{
"sessionId": "phone-session-uuid",
"code": "123456"
}

Notas importantes

⏱️ Expiración de la sesión

El sessionId expira cuando la sesión temporal deja de existir (por TTL). En el flujo actual, la sesión se genera en el Paso 1 y es válida por aproximadamente 5 minutos.


Respuestas

✅ Éxito (1001)

Teléfono verificado

{
"event": {
"code": 1001,
"message": "Phone verified successfully"
},
"data": {
"status": "success"
}
}

Qué hacer en frontend:

  • Considera refrescar el perfil del usuario para mostrar el teléfono como verificado/habilitado.

❌ Errores de validación

Campos faltantes (4006)

Si falta sessionId o code:

{
"code": 4006,
"message": "Missing or invalid data"
}

Sesión inválida o expirada (4007)

Si el sessionId no existe o expiró:

{
"code": 4007,
"message": "Session expired or invalid sessionId"
}

Acción: solicitar un nuevo código en POST /auth/phone/register.

Código incorrecto (4005)

Si el código no coincide:

{
"code": 4005,
"message": "Invalid verification code"
}

Usuario no encontrado (4040)

{
"code": 4040,
"message": "User not found"
}

❌ No autorizado (401)

Unauthorized

{
"statusCode": 401,
"message": "Unauthorized"
}

Ejemplo (JavaScript)

async function verifyPhone(accessToken, sessionId, code) {
const res = await fetch('https://api.swapbits.co/auth/phone/verify', {
method: 'POST',
headers: {
Authorization: `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ sessionId, code }),
});

const data = await res.json();

if (res.ok && data?.event?.code === 1001) {
return true;
}

throw new Error(data?.message || data?.event?.message || 'Error verifying phone');
}

Enlaces relacionados