ServiciosAutenticación

Autenticación

Los servicios API de Menta brindan todos los recursos necesarios para desarrollar integraciones que permitan operar eficientemente con nuestras plataformas.

Formas de autenticación

Nuestra API ofrece dos métodos de autenticación:

  1. Usuario y Contraseña (Token)
  2. Clave de acceso (API Key)

1. Autenticación con Usuario y Contraseña

Este método requiere credenciales de un usuario válido (por ejemplo de tipo CUSTOMER o MERCHANT), las cuales son enviadas por correo electrónico por el equipo de Menta o generadas desde el Back Office por otro usuario autorizado. Una vez obtenidas, se debe iniciar sesión utilizando estas credenciales para recibir un token de acceso, el cual es necesario para autenticar todas las solicitudes posteriores.

Requisitos

  • Contar con un usuario válido y su contraseña correspondiente.

Resultado

  • Token de autenticación que se debe usar en cada solicitud mientras esté vigente.

Endpoint de autenticación

POST https://api.menta.global/api/v1/login

Ejemplo de solicitud

curl --request POST \
  --url https://api.menta.global/api/v1/login \
  --header 'Content-Type: application/json' \
  --data '{
    "user": "usuario",
    "password": "contraseña"
  }'

Respuesta esperada

{
    "token": {
        "access_token": "example access_token",
        "token_type": "Bearer",
        "expires_in": 86400
        ...
    }
}
ℹ️

El token recibido debe almacenarse de forma segura, ya que permite acceder a todas las funcionalidades habilitadas para el usuario autenticado. Ten en cuenta que el token tiene una fecha de expiración(expires_in). Es fundamental renovarlo antes de que caduque para evitar interrupciones en las operaciones.

ℹ️

Los intentos de login fallidos se cuentan por usuario. Al superar el límite (por defecto 10 intentos en 60 segundos) la respuesta es 429.

Uso del Token de Acceso

El token debe incluirse en la cabecera Authorization de cada petición como un Bearer Token.

Authorization: Bearer example_access_token
Ejemplo:
curl --request GET \
  --url https://api.menta.global/api/v1/users \
  --header 'Authorization: Bearer example_access_token'

2. Autenticación con API Key

Este método te permite conectarte con nuestra plataforma sin tener que usar usuario y contraseña cada vez. En su lugar, se usa una API Key, que funciona como una llave segura.

¿Cómo conseguir tu API Key?

Puedes pedir tu API Key al equipo de Menta o generarla tú mismo si ya tienes acceso como cliente o comercio.

Recomendamos usar un correo exclusivo para esta integración, diferente al que usas para ingresar con usuario y contraseña. Son formas de acceso distintas y no se mezclan.

A) Si eres CLIENTE

Puedes solicitar tu API Key directamente a Menta o generarla tú mismo en pocos pasos usando el token de acceso que vimos anteriormente. A continuación, te compartimos el endpoint que vas a necesitar.

POST  https://api.menta.global/api/v1/api-keys

Ejemplo de solicitud.

¿Es la primera vez que generas una API Key? En ese caso, deberás incluir el siguiente header en tu solicitud.

Authorization: Bearer example_access_token_cliente
curl --request POST \
  --url https://api.menta.global/api/v1/api-keys \
  --header 'Authorization: Bearer example_access_token_cliente' \
  --data '{
    "user": "email_cliente",
    "customer_id": "{id_cliente}"
  }'

¿Ya tienes una API Key disponible? Entonces puedes hacer la solicitud incluyendo el siguiente header.

X-Api-Key: api_key_cliente
curl --request POST \
  --url https://api.menta.global/api/v1/api-keys \
  --header 'X-Api-Key: api_key_cliente' \
  --data '{
    "user": "email_cliente",
    "customer_id": "{id_cliente}"
  }'

Respuesta esperada

{
    "id": "identificador_api_key",
    "api_key": "api_key_cliente",
    "user": "email_cliente",
    "user_type": "CUSTOMER",
    "customer_id": "{id_cliente}"
    ...
}

¿Necesitas crear API Keys para tus comercios? Entonces puedes hacer la solicitud incluyendo el siguiente header.

X-Api-Key: api_key_cliente
curl --request POST \
  --url https://api.menta.global/api/v1/api-keys \
  --header 'X-Api-Key: api_key_cliente' \
  --data '{
      "user": "[email protected]",
      "customer_id": "{id_cliente}",
      "merchant_id": "{id_comercio}"
    }'

B) Si eres COMERCIO

También se puede generar una API Key para comercios, de la misma forma que para clientes.

POST  https://api.menta.global/api/v1/api-keys

Ejemplo de solicitud

¿Es la primera vez que generas una API Key? En ese caso, deberás incluir el siguiente header en tu solicitud.

Authorization: Bearer example_access_token_comercio
curl --request POST \
  --url https://api.menta.global/api/v1/api-keys \
  --header 'Authorization: Bearer example_access_token_comercio' \
  --data '{
      "user": "[email protected]",
      "customer_id": "{id_cliente}",
      "merchant_id": "{id_comercio}"
    }'

¿Ya tienes una API Key disponible? Entonces puedes hacer la solicitud incluyendo el siguiente header.

X-Api-Key: api_key_comercio
curl --request POST \
  --url https://api.menta.global/api/v1/api-keys \
  --header 'X-Api-Key: api_key_comercio' \
  --data '{
      "user": "[email protected]",
      "customer_id": "{id_cliente}",
      "merchant_id": "{id_comercio}"
    }'

Respuesta esperada

{
  "id": "identificador_api_key",
  "api_key": "api_key_comercio",
  "user": "email_comercio",
  "user_type": "MERCHANT",
  "merchant_id": "{id_comercio}",
  "customer_id": "{id_cliente}",
  ...
}
ℹ️

Puedes tener hasta 10 API Keys habilitadas (ENABLED) por usuario. Al superar el límite, la creación responde 422. El email de user debe estar en minúsculas. El valor completo de api_key solo se devuelve al crearla; el listado lo devuelve enmascarado. Al borrar una API Key se hace un borrado lógico y deja de poder usarse para iniciar sesión.

¿Quieres más información sobre cómo gestionar tus API Keys?

a)Si eres CLIENTE

b)Si eres COMERCIO

¿Necesitas ayuda?

📬

Si todavía no tienes tus credenciales o quieres que te ayudemos con la integración, escríbenos a: [email protected]