# Criação, ativação e bloqueio de login

Este recurso permite:

* Ativar/Criar um usuário;
* Desativar a autenticação;
* Disponibilizar um link de acesso autenticado a Trakto.

### Requisitos para uso do recurso

Para utilizar este recurso, é necessário:

* Chave de secreta válida;
* Realizar o login utilizando um usuário do tipo "integração" através do endpoint[ /auth/signin-integration](https://trakto-1.gitbook.io/trakto-api/api-auth/authenticating-an-integration)
* Utilizar o `access_token`, disponibilizado no endpoint de login via integração, no header da requisição por meio de [Bearer Authorization](https://swagger.io/docs/specification/authentication/bearer-authentication/),

## Ativar ou desativar o usuário

<mark style="color:green;">`POST`</mark> `https://api.trakto.io/auth/webhook`

#### Headers

| Name          | Type   | Description             |
| ------------- | ------ | ----------------------- |
| Authorization | string | Bearer \<access\_token> |

#### Request Body

| Name                   | Type    | Description                                                                                                                                                          |
| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| approved\_terms\_use   | boolean | Determina se, durante o primeiro acesso, o usuário deverá aprovar os termos de uso da plataforma . Utilize o valor "false" quando for necessária a aprovação.        |
| force\_reset\_password | boolean | Determina se, durante o primeiro acesso, o usuário necessita realizar a definição de uma senha. Determine o valor "true" caso o usuário necessite redefinir a senha. |
| secret\_key            | string  | Chave secreta e única de integração                                                                                                                                  |
| action                 | string  | Define se o usuário será ativado/reativado ou desativado na plataforma. Os valores disponíveis para uso são: "activate" e "deactivate".                              |
| activation\_email      | string  | Email da conta do usuário para ativação ou desativação.                                                                                                              |

{% tabs %}
{% tab title="200 " %}

```javascript
{
    "id": "ODtFsOciz72",
    "products": [
        "9juxRxx4488a"
    ],
    "email": "email@email.com",
    "force_reset_password": true,
    "role": "user",
    "can_authenticate": true,
    "approved_terms_use": true,
    "redirect_url": "https://dashboard.trakto.io/auth/i/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXJyZW50X3Byb2ZpbGUiOnsicHJvZHVjdCI6eyJpZCI6InJiSXRjeEo5anV4Ukg2UmpoNEU2In0sImN1cnJlbnRfbG9jYWxlIjoicHQtQlIifSwicHJvZmlsZXMiOlt7InByb2R1Y3QiOnsiaWQiOiJyYkl0Y3hKOWp1eFJINlJqaDRFNiJ9fV0sInN1YiI6InVaWnZWT0R0RnNPY2l6N01UMDM3MG1TT3lmZjIiLCJyb2xlIjoidXNlciIsImNvbnRleHQiOiJpbnRlZ3JhdGlvbiIsImlhdCI6MTYyMzA4NzA0OCwiZXhwIjoxNjIzMTMwMjQ4fQ.DlWp4mTpCPXD97/true"
}
```

{% endtab %}
{% endtabs %}

**Valores disponíveis para o atributo "action"**

| **Ação**   | Definição                                                                                                                                                                                 |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| activate   | <p>Determina a ativação de uma conta dentro da plataforma da Trakto. </p><p>Caso o usuário não exista na plataforma, será criada automaticamente</p><p> uma nova conta na plataforma </p> |
| deactivate | Impossibilita e bloqueia o login do usuário.                                                                                                                                              |

#### Descrição da resposta retornada

| Atributo                         | Descrição                                                                                                                                                   | Tipo           |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| id                               | Identificador único do usuário                                                                                                                              | string         |
| products                         | Identificadores únicos a qual o usuário pertence. Geralmente definido com ID das versões whitelabel da plataforma                                           | array\<string> |
| email                            | Email de login do usuário                                                                                                                                   | string         |
| force\_reset\_password           | Identifica se o usuário deverá redefinir a senha durante o primeiro acesso a plataforma                                                                     | boolean        |
| can\_authenticate                | Define se o usuário pode autenticar-se no produto, ou seja, ou se está com acesso bloqueado a plataforma                                                    | boolean        |
| approved\_term&#x73;*\_*&#x75;se | Identifica se é necessário o usuário realizar a aprovação dos termos de uso da plataforma durante o primeiro acesso                                         | boolean        |
| redirect\_url                    | Link que pode ser utilizado para redirecionar o usuário para a dashboard Trakto. O link permite com que o usuário já tenha acesso autenticado na plataforma | string         |
