# Login

Una vez que su cuenta esté lista para usar la API de comerciantes, el primer paso será autenticarse. Este proceso de autenticación requiere el envío de una solicitud POST al punto final de inicio de sesión. Mencionado abajo. Esta solicitud debe incluir la clave de acceso (correo electrónico) y la clave secreta (contraseña) en formato JSON para validar y establecer las credenciales del usuario.

<mark style="color:orange;">`POST STAGING`</mark> [`https://merchants-api-stg.tupayonline.com/v1/auth/login`](https://merchants-api-stg.tupayonline.com/v1/auth/login)

<mark style="color:orange;">`POST PRODUCCION`</mark> [`https://merchants-api.tupayonline.com/v1/auth/login`](https://merchants-api-stg.tupayonline.com/v1/auth/login)

#### Request Body

<table><thead><tr><th width="119">Name</th><th width="87">Type</th><th>Description</th></tr></thead><tbody><tr><td>accessKey<mark style="color:red;">*</mark></td><td>string</td><td>Dirección de correo electrónico del usuario de API configurada</td></tr><tr><td>secretKey<mark style="color:red;">*</mark></td><td>string</td><td>Contraseña del usuario API configurado</td></tr></tbody></table>

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

```postman_json
{
    "accessKey":"test@tupaypagos.com",
    "secretKey":"test@"
}
```

{% endtab %}

{% tab title="Response" %}

```postman_json
{
    "idUser": 11946,
    "username": "paul.quiroz@aedificium.pe",
    "idMerchant": 23287,
    "transferEnabled": false,
    "uploadVoucherEnabled": false,
    "displayReferralFee": true,
    "displayReferralFeeOption": "SEPARATE",
    "firstTimeKyc": false,
    "hasWallet": false,
    "hasRolling": false
}
```

{% endtab %}
{% endtabs %}

> Asegúrese de agregar en el encabezado de la solicitud el siguiente valor: Content-Type: application/json

### <mark style="color:green;">BEARER\_TOKEN cookie</mark>

La respuesta incluirá un campo de encabezado llamado Set-Cookie. Este campo en particular llevará una cookie etiquetada como **BEARER\_TOKEN** que debe enviarse de regreso al servidor en todas las siguientes solicitudes para permanecer conectado.

Ejemplo de cookie en el encabezado con el valor BEARER\_TOKEN:

```
cookie: BEARER_TOKEN=U3dcUx8IRJ5nLjb0WYM4cHa3qHFqnrqAk
```

Consulte esta [página](https://developer.mozilla.org/es/docs/Web/HTTP/Cookies) para obtener más información sobre las cookies.

***

A continuación se describen los puntos finales para cada tipo de transacciones.

Para enviar solicitudes, asegúrese de incluir el BEARER\_TOKEN obtenido del punto final de inicio de sesión en el campo del encabezado de autenticación de las solicitudes. Puedes usarlo de las siguientes maneras:

**Como parte del encabezado:**

```
Authorization: Bearer U3dcUx8IRJ5nLjb0WYM4cHa3qHFqnrqAk
```

**O como cookie:**

```
cookie: BEARER_TOKEN=U3dcUx8IRJ5nLjb0WYM4cHa3qHFqnrqAk
```

Hay ciertos parámetros que puede enviar en la solicitud GET request. Éstos parámetros vienen en pares de nombres y valores conocidos como name-value. Se agregan a la URL después de un signo de “?”, y se pueden utilizar múltiples parámetros, separados por un signo “&”. El nombre y el valor siempre se separan mediante un signo “=”.

La sintaxis es la siguiente (ejemplos):

**Staging**

```
https://merchants-api-stg.tupayonline.com/v1/cashouts?page=0&from=1577836800&to=1580515200 
```

**Producción**&#x20;

```
https://merchants-api.tupayonline.com/v1/cashouts?page=0&from=1577836800&to=1580515200
```

{% hint style="info" %}
Los valores "from" y "to" siguen el formato unixTimeStamp, permitiendo una diferencia máxima de hasta 60 días entre ellos. El valor "from" no puede exceder el valor "to".
{% endhint %}

Una respuesta básica tiene el siguiente formato:

```json
{
 "data": [],
 "page": 0,
 "rows": 0,
 "maxRows": 50
 }
```

* El campo de datos es una matriz que contendrá múltiples objetos JSON, uno para cada transacción. Cada uno con sus propios detalles.
* La respuesta de estos puntos finales puede mostrar un máximo de 50 registros por página. En caso de que haya más de 50 registros, deberá solicitar la página siguiente utilizando el parámetro de página en la solicitud GET. Comience siempre con la página = 0.
* El campo de filas indica cuántas transacciones devolvió la solicitud.
* El campo maxRows muestra el número máximo de transacciones que una solicitud puede recuperar. En caso de que las "filas" sean iguales a "maxRows", debe realizar otra solicitud especificando la página más una. Repita esto hasta que el valor de las filas sea menor que el de maxRows.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tupayonline.com/documentacion-de-la-api/conciliacion/login.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
