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/verifyVerifica el código SMS asociado a sessionId
📋 Parámetros
sessionIdstringrequeridoID de sesión devuelto por /auth/phone/register
codestringrequeridoCó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
- Solicitar SMS: Registrar número telefónico —
POST /auth/phone/register - Recibir SMS: código de 6 dígitos
- Verificar:
POST /auth/phone/verifyconsessionId+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
- Registrar número telefónico (Paso 1) - POST /auth/phone/register
- Login - POST /auth/login