Credenciales de prueba
¿Querés probar la API de Fixed? Solicitá tus credenciales de prueba escribiendo a info@fixed.uy.
API para que integradores externos (apps de terceros, POS, e-commerce, etc.) emitan y consulten comprobantes fiscales en Fixed.
Cómo probar con Swagger
Paso 1 — Entendé en qué ambiente estás
Fixed tiene dos ambientes separados:
📍 La URL base de producción es: https://southamerica-east1-fixedproduccion-fiv2q.cloudfunctions.net/apiFixed.
Paso 2 — Conseguí tus credenciales
- Entrá a https://acceso.fixed.uy con tus datos de acceso que usás para Fixed.
- Una vez dentro, dirigite a este link: https://acceso.fixed.uy/accesoAPI.
🧪 ¿Es la primera vez que tu empresa prueba en Testing - Sandbox? Antes de seguir, escribinos por el chat de ayuda o a soporte@fixed.uy pidiendo que habilitemos tu empresa en ese ambiente — es un paso único que hace el equipo de Fixed. Recién después de eso vas a poder generar tu clave de Testing en el paso siguiente. Para Producción no hace falta este paso.
- En la sección del ambiente que corresponda (Producción o Testing), escribí un nombre corto para identificar la clave (por ejemplo "Mi primera API Key") y hacé clic en "Generar API Key".
- Te van a figurar dos códigos: x-api-key y x-api-secret.
⚠️ Copiá los dos códigos ya que Fixed no los vuelve a mostrar. Si los perdés, hay que generar una clave nueva.
Paso 3 — Autenticate en esta página
- Un poco más abajo en esta misma página (después de toda esta descripción, al lado de donde dice Servers) vas a encontrar un botón verde que dice Authorize, con un dibujo de candado 🔓.
- Hacé clic ahí.
- Se abre una ventana con dos casilleros: pegá tu x-api-key en el primero y tu x-api-secret en el segundo.
- Hacé clic en Authorize dentro de esa ventana, y después en Close para cerrarla.
Paso 4 — Probá un endpoint
- Más abajo en esta página vas a ver una lista de acciones posibles (por ejemplo
POST /ventaCrear). Hacé clic en cualquiera para desplegarla. - Adentro, hacé clic en el botón Try it out.
- Va a aparecer un cuadro de texto con un ejemplo ya armado. Si ves un desplegable llamado Examples, podés elegir entre varios casos distintos (venta simple, con cliente, en dólares, a crédito, etc.).
- Podés dejarlo como está para probar, o editar los valores a mano.
- Hacé clic en Execute (más abajo) y mirá la respuesta que aparece debajo.
No necesitás configurar el RUT ni identificadores internos de empresa. El servidor asocia automáticamente tus credenciales con tu empresa en Fixed según el par api-key / api-secret.
¿Tenés dudas?
Escribinos por el chat de ayuda de Fixed o a soporte@fixed.uy.
Flujo recomendado de integración
POST /validarCredenciales — verificar que las credenciales sean válidas antes de comenzar.POST /localesListado — obtener locales disponibles (opcional; necesario si la empresa tiene más de uno).POST /serviciosRubrosListado — obtener rubros existentes (opcional; se crean automáticamente al emitir).POST /consultarRUTDGI — consultar razón social, domicilio fiscal y tipo de contribuyente de un RUT en DGI (opcional; útil para prellenar los datos del cliente antes de emitir).POST /obtenerProximoNumero — consultar la serie y el próximo número que se usaría para un tipo de comprobante (opcional, solo informativo; no reserva el número).POST /ventaCrear — emitir el CFE. El campo tasaIva de cada línea debe ser el valor cfeDgi de la tasa (p.ej. "Basic", "Min", "Exe"). La respuesta incluye:urlA4: comprobante A4 en PDF.urlTicket: ticket térmico en PDF (formato estrecho).htmlTicket: ticket en HTML (útil para preview o impresión web).
POST /imprimirCFE — regenerar URLs e HTML de un CFE ya emitido si se necesitan nuevamente.POST /ventaConsulta / POST /consultaFacturacionDia — consultar estado o listar comprobantes.POST /ventaDevolucionTotalCrear — emitir nota de crédito por devolución total.
Códigos de error
Cada respuesta de error trae un codigoError corto además de una descripcion en texto libre. Un mismo código puede significar cosas distintas según el endpoint (por ejemplo E02 es "moneda incorrecta" en /ventaCrear pero "empresa no encontrada" en otros) — siempre hay que interpretarlo junto con el endpoint que lo devolvió, no de forma aislada.
Comunes a cualquier endpoint
| Código | Significado |
|---|
| A01 | Faltan las credenciales (x-api-key / x-api-secret) |
| A02 | x-api-key inválida o inactiva |
| A03 | x-api-secret inválido |
| A04 | Error interno validando credenciales |
| A05 | La API pública está desactivada temporalmente |
| A06 | El plan de la empresa no incluye acceso a la API |
| V01 | El body enviado no cumple con el formato esperado (tipo de dato incorrecto, campo obligatorio faltante, o campo no reconocido) |
| V02 | Error inesperado no capturado por el endpoint |
POST /ventaCrear
| Código | Significado |
|---|
| E02 | Moneda incorrecta |
| E03 | Empresa no encontrada |
| E04 | Sin firma electrónica vigente |
| E05 | Sin CAE disponible |
| E08 | Formato de fecha inválido, debe ser dd/mm/aaaa |
| E15 | totalAPagar no coincide con el total calculado |
| E16 | montoBruto no puede ser 2 |
| E18 | Datos de cliente inválidos para el tipo de documento indicado |
| E19 | Venta > 5000 UI sin identificar al cliente por RUT |
| E20 | formaDePago inválida |
| E21 | cotizacion inválida (debe ser mayor a 0) |
| E22 | Ya hay una emisión en curso con esa idempotencyKey |
| E23 | Esa idempotencyKey ya fue usada con datos distintos |
| X01-X05 | Error inesperado generando la venta (ver descripcion para el detalle) |
POST /ventaDevolucionTotalCrear
| Código | Significado |
|---|
| E03 | Empresa no encontrada |
| E04 | Sin firma electrónica vigente |
| E05 | Sin CAE disponible |
| E08 | Formato de fecha inválido, debe ser dd/mm/aaaa |
| E10 | Venta original no encontrada |
| E11 | La venta original fue rechazada por DGI, no se puede emitir una NC sobre ella |
| E17 | totalADevolver no coincide con el total de la factura original |
| E22 | Ya hay una emisión en curso con esa idempotencyKey |
| E23 | Esa idempotencyKey ya fue usada con datos distintos |
| X03-X06 | Error inesperado generando la devolución (ver descripcion para el detalle) |
POST /ventaConsulta y POST /imprimirCFE
| Código | Significado |
|---|
| C03 | Empresa no encontrada |
| C08 | El idCFE no existe para la empresa |
POST /consultaFacturacionDia
| Código | Significado |
|---|
| E02 | Empresa no encontrada |
| E08 | Formato de fecha inválido, debe ser dd/mm/aaaa |
POST /obtenerProximoNumero
| Código | Significado |
|---|
| E01 | Empresa no encontrada |
| E02 | No existe un CAE disponible para ese tipo de comprobante |
| E04 | tipoDocumento inválido |
POST /consultarCFERecibidos
| Código | Significado |
|---|
| E01 | Empresa no encontrada |
| E02 | El rango entre fechaDesde y fechaHasta supera los 31 días |
| E03 | fechaDesde es mayor a fechaHasta |
| E04 | Formato de fecha inválido, debe ser dd/mm/aaaa |
POST /consultarRUTDGI
| Código | Significado |
|---|
| E01 | Empresa no encontrada |
| E02 | Sin firma electrónica vigente |
| E03 | RUT no encontrado en DGI |
| E04 | Se superó el límite de 20 consultas por minuto |
POST /clienteMostrar, POST /localesListado, POST /serviciosRubrosListado
| Código | Significado |
|---|
| E02 | Empresa no encontrada |
POST /serviciosRubrosAgregarEditar
| Código | Significado |
|---|
| E01 | accion inválida (debe ser "agregar" o "editar") |
| E02 | Empresa no encontrada |