Empezar

Autenticación

Usuario y contraseña en cada petición, con autenticación básica de HTTP. Sin tokens que caduquen ni pasos extra.

Cómo va

Cada petición lleva la cabecera Authorization: Basic con usuario:contraseña en base64. Todos los clientes HTTP la arman solos: en cURL es -u, en Python auth=.

HTTP
POST /api/TimbrarCfdiObj HTTP/1.1
Host: pruebas.timbrado.idea15.com
Authorization: Basic dHUtdXN1YXJpbzp0dS1jb250cmFzZcOxYQ==
Content-Type: application/json

Por compatibilidad con el servicio anterior también se aceptan user y password dentro del cuerpo. No hacen falta; si mandas user, tiene que ser el mismo de la cabecera.

Si algo no cuadra

CódigoHTTPQué significa
102401Usuario o contraseña inválidos, o la cuenta está desactivada.
102429Diez intentos fallidos en cinco minutos para ese usuario desde tu IP (o cien de cualquier usuario). Espera los segundos de Retry-After.

Tu cuenta no paga los errores de otros

Una cuenta que ya entró bien nunca se frena, aunque otro sistema se equivoque de contraseña desde la misma IP.

Buenas prácticas

  • Guárdalas como secreto de tu servidor (variables de entorno, un gestor de secretos), nunca en el código ni en el repositorio.
  • Nunca en el navegador ni en una app de teléfono: el servicio no acepta llamadas desde páginas web, a propósito.
  • Una cuenta por sistema (tu ERP, tu tienda, cada sucursal): así cambias la contraseña de uno sin tocar a los demás.
  • Sólo por HTTPS. El host de pruebas es https://pruebas.timbrado.idea15.com y el de producción https://timbrado.idea15.com.