# Utilidades del usuario

## Información del usuario

End point: https://api.induxsoft.net/auth/info/

Retorna información de un usuario

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "uid":"correo, teléfono o ID del usuario",
  "apikey":"CLAVE_API"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data":
  {
    ... Campos informativos, incluyendo nombre, teléfono y correo
  }
}
```

## Solicitar reenvío de contraseña por SMS

End point: https://api.induxsoft.net/auth/signup/rsnd-smspwd.dkl

Reenvía la contraseña a través de SMS si inicialmente así fue entregada al usuario y si este nunca ha iniciado sesión.

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
	"uid":"Id del usuario",
    "mobile":"Teléfono móvil (opcional si se desea cambiar)"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data":
  {
    "signupcode": "Código de registro de usuario",
    "sms_sended": true - si el sms se envió,
    "error":"Información de error si sms_sended=false"
  }
}
```
## Solicitar reenvío de confirmación de correo
End point: https://api.induxsoft.net/auth/signup/rsnd-email.dkl

Reenvía el mensaje de confirmación de correo electrónico.

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
	"uid":"Id del usuario, dirección de correo o número de teléfono"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data": null
}
```

## Solicitar recuperación de contraseña

End point: https://api.induxsoft.net/auth/signup/rqst-pwdrec.dkl

Envía un 'Código de solicitud' a la dirección de correo del usuario y un 'Código de seguridad' al teléfono móvil

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
	"uid":"Id del usuario, dirección de correo o número de teléfono"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data": { 
    "email_sended": true,
    "sms_sended": true
  }
}
```

## Cambiar contraseña

End point: https://api.induxsoft.net/auth/signup/change-pwd.dkl

Realiza el cambio de la contraseña del usuario con base en Código de solicitud y Código de seguridad o proporcionando la contraseña actual.

Solicitud con Código de solicitud y de seguridad
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "rcode":"Código de solicitud",
  "scode":"Código de seguridad",
  "pwd":"Nueva contraseña"
}
```

Solicitud con Contraseña actual
```
Method: POST
Content-Type: application/json;charset=utf-8
{
	"uid":"Id del usuario, dirección de correo o número de teléfono",
  "crr":"Contraseña actual",
  "new":"Nueva contraseña"
}
```


Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data": null
}
```


## Solicitar verificación de número de teléfono

End point: https://api.induxsoft.net/auth/signup/rqst-verify-phone.dkl

Envía un código de verificación por SMS al teléfono establecido en el perfil del usuario proporcionando un id de sesión válido.

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "ids":"Id de sesión"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data": { 
    "sms_sended": true,
    "minutes_expire": "Minutos en los que el código de verificación es vigente (constante)",
    "rcode": "Id de la solicitud"
  }
}
```


## Verificar número de teléfono

End point: https://api.induxsoft.net/auth/signup/verify-phone.dkl

Realiza la verificación del número de teléfono proporcionando la id de la solicitud (rcode) y el código de verificación (vcode)

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "rcode": "Id de la solicitud de verificación del número de teléfono",
  "vcode": "Código de verificación"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success": true,
	"data": null
}
```


## Solicitud de cambio de teléfono

End point: https://api.induxsoft.net/auth/signup/rqst-change-phone.dkl

Envía un código de confirmación por SMS al nuevo número que se pretende establecer en el perfil del usuario proporcionando el nuevo número de teléfono y un id de sesión válido

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "ids": "Id de sesión",
  "nnumber": "Nuevo número de teléfono"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success": true,
	"data": { 
    "sms_sended": true,
    "hours_expire": "Horas en los que el código de confirmación es vigente (constante)",
    "rcode": "Id de la solicitud"
  }
}
```


## Cambio de teléfono

End point: https://api.induxsoft.net/auth/signup/change-phone.dkl

Actualiza el teléfono del usuario por el nuevo número agregado en la solicitud de cambio de teléfono proporcionando el id de la solicitud (rcode) y el código de confirmación (ccode)

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "rcode": "Id de la solicitud"
  "ccode": "Código de confirmación",
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success": true,
	"data": null
}
```


## Revertir cambio de teléfono

End point: https://api.induxsoft.net/auth/signup/undo-change-phone.dkl

Deshace el último cambio de número de teléfono realizado por el servicio de cambio de teléfono, estableciendo el número anterior al actual.

Solicitud
```
Method: GET
Content-Type: application/x-www-form-urlencoded
  rcode=Id de la solicitud del cambio de teléfono
```
Respuesta exitosa
```
Content-Type: text/html
<h2>Se revirtieron los cambios de forma exitosa</h2>
```


## Solicitar verificación de correo

End point: https://api.induxsoft.net/auth/signup/rqst-verify-email.dkl

Envía un link de verificación al correo establecido en el perfil del usuario proporcionando un id de sesión válido.

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "ids":"Id de sesión"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success":true,
	"data": { 
    "email_sended": true,
    "days_expire": "Días en los que el link de verificación es vigente (constante)"
  }
}
```


## Verificar correo

End point: https://api.induxsoft.net/auth/signup/verify-email.dkl

Realiza la verificación del correo proporcionando la id de la solicitud (rcode) 

Solicitud
```
Method: GET
Content-Type: application/x-www-form-urlencoded
  rcode=Id de la solicitud de verificación del correo
```
Respuesta exitosa
```
Content-Type: text/html
<h2>El correo del perfil se verificó exitosamente</h2>
```


## Solicitud de cambio de correo

End point: https://api.induxsoft.net/auth/signup/rqst-change-email.dkl

Envía un link con el id de la solcitud y un código por SMS al teléfono del usuario para confirmar el cambio de correo proporcionando el nuevo correo y un id de sesión válido.

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "ids": "Id de sesión",
  "nemail": "Nuevo correo"
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success": true,
	"data": { 
    "email_sended": true,
    "sms_sended": true,
    "hours_expire": "Horas en los que el código de confirmación es vigente (constante)"
  }
}
```


## Cambio de correo

End point: https://api.induxsoft.net/auth/signup/change-email.dkl

Actualiza el correo del usuario por el nuevo agregado en la solicitud de cambio de correo proporcionando el id de la solicitud (rcode) y el código de confirmación (ccode)

Solicitud
```
Method: POST
Content-Type: application/json;charset=utf-8
{
  "rcode": "Id de la solicitud"
  "ccode": "Código de confirmación",
}
```
Respuesta exitosa
```
Content-Type: application/json;charset=utf-8
{
	"success": true,
	"data": null
}
```