Autenticacion
Todas las peticiones a la API se autentican con tu API Key. La API Key identifica a tu integracion y representa al cliente y a sus contribuyentes habilitados.
Envio de la API Key#
La API Key viaja en la cabecera X-Api-Key de cada peticion:
GET /v1/contexto
X-Api-Key: <tu_api_key>
curl -s "https://staging-api.mynexusapi.com/v1/contexto" \
-H "X-Api-Key: $ECUAFACT_API_KEY"
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-Api-Key", apiKey);
string json = await http.GetStringAsync("https://staging-api.mynexusapi.com/v1/contexto");
import os, requests
r = requests.get(
"https://staging-api.mynexusapi.com/v1/contexto",
headers={"X-Api-Key": os.environ["ECUAFACT_API_KEY"]}, timeout=30)
const res = await fetch('https://staging-api.mynexusapi.com/v1/contexto', {
headers: { 'X-Api-Key': process.env.ECUAFACT_API_KEY }
});
<?php
$ch = curl_init('https://staging-api.mynexusapi.com/v1/contexto');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-Api-Key: ' . getenv('ECUAFACT_API_KEY')],
]);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . ' ' . curl_exec($ch);
HttpRequest peticion = HttpRequest.newBuilder()
.uri(URI.create("https://staging-api.mynexusapi.com/v1/contexto"))
.header("X-Api-Key", System.getenv("ECUAFACT_API_KEY"))
.GET().build();
HttpClient cliente = HttpClient.newHttpClient();
System.out.println(cliente.send(peticion, HttpResponse.BodyHandlers.ofString()).body());
Guarda la API Key como un secreto: no la compartas ni la expongas en el navegador. Si se filtra, genera una nueva desde el portal.
Como obtener tu API Key#
- Si ya tienes acceso al portal del cliente, entra a la seccion Acceso API y crea una API Key. Ahi mismo puedes verla, rotarla y revocarla.
- Si aun no tienes acceso, envia el formulario de solicitud indicando el RUC de la integracion y las direcciones IP de salida que consumiran la API. Con eso se crea la integracion, se habilitan sus contribuyentes y se te entrega la API Key.
Por defecto empiezas en el ambiente de pruebas. La habilitacion de produccion se coordina por el mismo canal.
Restriccion por IP#
Ademas de la API Key, la API valida que la peticion provenga de una direccion registrada. Registra en el portal las IP de salida de tu servidor.
Si tus IP cambian, actualizalas en el portal antes de que se corten las peticiones.
Errores de autenticacion#
| Codigo | HTTP | Cuando ocurre | Que hacer |
|---|---|---|---|
101 |
401 | La cabecera X-Api-Key falta, esta mal escrita o la API Key no existe |
Revisa la cabecera y la API Key |
101 |
401 | La API Key existe pero no esta autorizada para la IP de origen | Registra la IP de salida en el portal |
102 |
403 | Origen de la solicitud no autorizado | Revisa la IP registrada para tu API Key |
103 |
403 | El contribuyente, el tipo de comprobante o el plan no estan habilitados | Habilita el contribuyente o el servicio |
104 |
429 | Demasiados intentos de autenticacion fallidos desde la misma IP | Espera el Retry-After (ve Limite de request) |
El catalogo completo esta en Errores.
Siguientes pasos#
- Ambientes y contribuyentes: elige la URL y el contribuyente.
- Primeros pasos: emite tu primer comprobante.