# Autenticación Cliente

Este recurso se usa para obtener una autenticación por token para poder usar las API´s de uContact creado para loguearse desde otra aplicación para poder realizar integraciones.

<p class="callout info">Usted puede verificar la [Colección de Postman](https://www.postman.com/dev-clever-ideas/ucontact/request/m41rw3t/getusertoken?tab=overview "getUserToken") para ver un ejemplo y probar con su instancia.</p>

<p class="callout info">Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.</p>

---

### HTTP Request

<table border="1" id="bkmrk-opcion-http-valor-re" style="border-collapse: collapse; width: 100%; height: 59.575px;"><tbody><tr style="height: 29.7875px;"><td class="align-center" style="width: 21.1312%; height: 29.7875px;">**Metodo**</td><td class="align-center" style="width: 78.844%; height: 29.7875px;">**Recurso**</td></tr><tr style="height: 29.7875px;"><td style="width: 21.1312%; height: 29.7875px;">POST</td><td style="width: 78.844%; height: 29.7875px;">/Integra/resources/auth/getUserToken</td></tr></tbody></table>

#### Request Headers

<table border="1" class="align-center" id="bkmrk-parametro-tipo-descr" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px;"><td style="width: 21.1544%; height: 29.7969px;">**Clave**</td><td style="width: 78.9444%; height: 29.7969px;">**Valor**</td></tr><tr><td class="align-left" style="width: 21.1544%;">Content-Type</td><td class="align-left" style="width: 78.9444%;">application/x-www-form-urlencoded</td></tr></tbody></table>

#### Request Body

<table border="1" class="align-center" id="bkmrk-parametro-tipo-descr-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px;"><td style="width: 21.0084%; height: 29.7969px;">**Parametro**</td><td style="width: 24.9629%; height: 29.7969px;">**Tipo**</td><td style="width: 22.002%;">**Requerido**</td><td style="width: 32.1255%; height: 29.7969px;">**Descripción**</td></tr><tr style="height: 29.7969px;"><td class="align-left" style="width: 21.0084%; height: 29.7969px;">user</td><td class="align-left" style="width: 24.9629%; height: 29.7969px;">Texto (String)</td><td style="width: 22.002%;">Si</td><td class="align-left" style="width: 32.1255%; height: 29.7969px;">Nombre de usuario</td></tr><tr><td class="align-left" style="width: 21.0084%;">password</td><td class="align-left" style="width: 24.9629%;">Texto (String)</td><td style="width: 22.002%;">Si</td><td class="align-left" style="width: 32.1255%;">Contraseña del usuario</td></tr></tbody></table>

---

### Ejemplos de codigo

<p class="callout info">Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.</p>

#### HTTP

```HTTP
POST /Integra/resources/auth/getUserToken HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 32

user={{User}}&password={{Password}}
```

<span style="color: #bbbbbb; font-size: 1.4em; font-weight: 400;">cURL</span>

```
curl --location --request POST 'https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'user={{UserName}}' \
--data-urlencode 'password={{PasswordUser}}'
```

##### JavaScript

```JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");

var urlencoded = new URLSearchParams();
urlencoded.append("user", "{{UserName}}");
urlencoded.append("password", "{{PasswordUser}}");

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: urlencoded,
  redirect: 'follow'
};

fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

##### JQuery

```JavaScript
var settings = {
  "url": "https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/x-www-form-urlencoded"
  },
  "data": {
    "user": "{{UserName}}",
    "password": "{{PasswordUser}}"
  }
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
```

##### C#

```C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("user", "{{User}}");
request.AddParameter("password", "{{UserPassword}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
```

##### Java

```Java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "user={{User}}&password={{UserPassword}}");
Request request = new Request.Builder()
  .url("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken")
  .method("POST", body)
  .addHeader("Content-Type", "application/x-www-form-urlencoded")
  .build();
Response response = client.newCall(request).execute();
```

---

### HTTP Response

```
"{{token}}"
```

#### Respuesta de error

```
"0"
```