Cambiar el email o el teléfono
Pedir el cambio del email o del teléfono del cliente y confirmarlo con el código enviado al valor nuevo.
Cómo funciona
- Pide el cambio con
users/change, indicando el valor nuevo. - El código de 6 cifras llega al valor nuevo: al correo nuevo o al teléfono nuevo.
- Confirma el cambio con el código en
users/validate.
La cuenta no cambia hasta que se confirma. El código vale 30 minutos. Pedir el cambio otra vez genera un código nuevo.
Pide el token del cliente y admite 10 peticiones por minuto.
Pedir el cambio
POST /api/v1/ecommerce/users/change/{type}
| Parámetro | Dónde | Cuándo | Reglas |
|---|---|---|---|
type |
Ruta | Siempre | email o phone |
email |
Cuerpo | Con type = email |
Email válido, máximo 200 caracteres |
phone |
Cuerpo | Con type = phone |
Exactamente 9 cifras |
{ "email": "[email protected]" }
Respuesta
{
"success": true,
"message": "Se ha enviado un código a la siguiente cuenta de correo electrónico [email protected], revise y siga las instrucciones por favor.",
"data": null
}
Si algo sale mal
| HTTP | code | Cuándo | Qué hacer |
|---|---|---|---|
| 400 | BAD_REQUEST |
type no es email ni phone |
Usa uno de los dos |
| 422 | VALIDATION_ERROR |
Falta el valor o no tiene el formato correcto | Corrige el campo que indica errors |
| 409 | EMAIL_ALREADY_IN_USE |
Ese email ya lo usa otra cuenta | Pide al cliente otro email |
| 409 | PHONE_ALREADY_IN_USE |
Ese teléfono ya lo usa un cliente del mismo país, incluido el propio cliente | Pide al cliente otro teléfono |
| 500 | INTERNAL_ERROR |
No se pudo enviar el correo o el SMS | Reintenta. Si se repite, reporta la reference |
Confirmar el cambio
POST /api/v1/ecommerce/users/validate/{type}
| Parámetro | Dónde | Cuándo | Reglas |
|---|---|---|---|
type |
Ruta | Siempre | email o phone, el mismo que al pedir el cambio |
email |
Cuerpo | Con type = email |
El email nuevo, el mismo que al pedir el cambio |
phone |
Cuerpo | Con type = phone |
El teléfono nuevo, exactamente 9 cifras |
code |
Cuerpo | Siempre | Las 6 cifras recibidas |
{ "email": "[email protected]", "code": "482913" }
El código admite 3 intentos fallidos; en el cuarto, la solicitud se anula y hay que pedir el cambio otra vez. Justo antes de guardar se vuelve a comprobar que nadie haya ocupado el email o el teléfono mientras tanto. Si el valor aún no estaba verificado, queda verificado con el cambio.
Respuesta
{ "success": true, "message": "El correo electrónico se ha actualizado de forma correcta.", "data": null }
Si algo sale mal
| HTTP | code | Cuándo | Qué hacer |
|---|---|---|---|
| 400 | BAD_REQUEST |
type no es email ni phone |
Usa uno de los dos |
| 422 | VALIDATION_ERROR |
Falta el valor o el código, o no tienen el formato correcto. No gasta intento | Corrige el campo que indica errors |
| 404 | VERIFICATION_NOT_FOUND |
No hay una solicitud de cambio para ese valor, o ya se anuló | Pide el cambio otra vez |
| 422 | VERIFICATION_EXPIRED |
Pasaron más de 30 minutos | Pide el cambio otra vez |
| 422 | VERIFICATION_CODE_INVALID |
El código es incorrecto. Gasta un intento | Revisa el código |
| 422 | VERIFICATION_TOO_MANY_ATTEMPTS |
Se agotaron los 3 intentos | Pide el cambio otra vez |
| 409 | EMAIL_ALREADY_IN_USE |
Otra cuenta se quedó con ese email mientras tanto | Pide al cliente otro email |
| 409 | PHONE_ALREADY_IN_USE |
Otro cliente se quedó con ese teléfono mientras tanto | Pide al cliente otro teléfono |