Ambientes Live y Test
La API Masivo usa la misma URL y el mismo contrato en los dos ambientes. Lo que cambia es el tipo de API Key que envías:
| Live | Test / Sandbox | |
|---|---|---|
| Prefijo de la llave | tmb_live_ | tmb_test_ |
| PAC | Producción | Pruebas |
| Costo por timbre | 1 timbre del saldo | Sin costo |
| Guarda el CFDI | Sí, en tu cuenta | No |
| RFC del emisor | El RFC de tu cuenta | RFC de prueba del SAT |
| Cancelación | CSD reales | CSD de prueba |
Cómo funciona el modo Test
Cuando la API recibe una llave tmb_test_...:
- Valida que el RFC del emisor sea uno de los RFCs oficiales de prueba del SAT.
- Omite la validación y el consumo de timbres.
- Envía la petición al PAC de pruebas.
- Devuelve el UUID y el XML de prueba.
- No guarda el CFDI en la colección de comprobantes de tu cuenta.
Puedes repetir las pruebas tantas veces como necesites. El modo Test no modifica tu saldo ni tus CFDI reales.
RFCs oficiales de prueba del SAT
En modo Test, el RFC del emisor debe ser uno de estos:
| RFC | Uso |
|---|---|
EKU9003173C9 | Persona moral de pruebas. Es el RFC recomendado para empezar. |
AAA010101AAA | Persona física de pruebas. |
URE180429TM6 | Universidad de pruebas. |
ESI920427880 | Escuela de pruebas. |
Si el RFC del emisor no está en la lista, la API rechaza la petición con HTTP 400:
{
"status": "error",
"message": "En entorno de pruebas solo se permiten RFCs de prueba oficiales del SAT (ej. EKU9003173C9, AAA010101AAA)."
}Usa EKU9003173C9 en el emisor
Si el panel te permite elegir el RFC de la llave de prueba, usa EKU9003173C9. El CFDI de prueba debe llevar ese RFC en Emisor.Rfc, sin importar el RFC de tu cuenta.
Ejemplo de CFDI de prueba
Un CFDI en modo Test debe llevar el RFC de prueba en el emisor. Por ejemplo:
{
"Version": "4.0",
"Serie": "T",
"Folio": "001",
"Fecha": "2026-10-20T10:00:00",
"FormaPago": "01",
"MetodoPago": "PUE",
"LugarExpedicion": "64000",
"Moneda": "MXN",
"TipoDeComprobante": "I",
"Exportacion": "01",
"SubTotal": "1000.00",
"Total": "1160.00",
"Emisor": {
"Rfc": "EKU9003173C9",
"Nombre": "ESCUELA KEMPER URGATE",
"RegimenFiscal": "601"
},
"Receptor": {
"Rfc": "XAXX010101000",
"Nombre": "PUBLICO EN GENERAL",
"DomicilioFiscalReceptor": "64000",
"RegimenFiscalReceptor": "616",
"UsoCFDI": "S01"
},
"Conceptos": [
{
"ClaveProdServ": "84111506",
"Cantidad": "1",
"ClaveUnidad": "E48",
"Descripcion": "Servicio de prueba",
"ValorUnitario": "1000.00",
"Importe": "1000.00",
"ObjetoImp": "02"
}
]
}Cómo cambiar de ambiente
No hay una URL distinta ni un flag adicional. Solo cambia la llave:
Authorization: Bearer tmb_test_tu_api_key_aquio
Authorization: Bearer tmb_live_tu_api_key_aquiCrea ambas llaves desde el panel de Timbra, en API Keys, y usa la que corresponda a cada ejecución.
Pasar de Test a Live
Antes de emitir tu primer CFDI real:
- Verifica que tu RFC y tu régimen fiscal estén configurados en tu cuenta.
- Carga tus CSD reales si vas a cancelar por CSD.
- Comprueba que tengas saldo de timbres o una suscripción activa.
- Cambia la llave
tmb_test_...por unatmb_live_.... - Envía un CFDI de prueba controlado y confirma el UUID y el XML.
En Live, cada CFDI timbrado descuenta un timbre. Consulta Saldo prepagado para entender cómo se consume el saldo.
Aislamiento entre ambientes
El modo se resuelve en cada petición, a partir de la llave. Puedes tener integraciones Live y Test apuntando al mismo servicio al mismo tiempo sin que una afecte a la otra.