Guia de Hoppscotch
Cliente de API en el navegador. No instala nada. Perfecto para pruebas rapidas y compartir requests con un link.
Hoppscotch (antes llamado Postwoman) es un cliente de APIs que vive en tu navegador. No tienes que instalar nada: abres hoppscotch.io y listo. Es la opcion mas rapida si solo quieres hacer una prueba y cerrar el navegador.
Ademas, Hoppscotch puede compartir peticiones por URL. Si quieres que un companero vea exactamente que request estas haciendo, le mandas un link. Util para soporte tecnico: "mira, este es el request que me falla".
La limitacion: al estar en el navegador, tiene restricciones de CORS en algunos casos. Pero para SAT API funciona perfecto porque nuestro server tiene CORS habilitado.
Conceptos que necesitas saber
Web-based
Que corre en el navegador, sin instalacion. Ventaja: cero friccion. Desventaja: necesita internet siempre, no funciona offline.
CORS
Cross-Origin Resource Sharing. Es un mecanismo de seguridad del navegador que bloquea requests entre dominios distintos (ej: hoppscotch.io → api.cfdi4.com) a menos que el servidor lo permita. SAT API tiene CORS abierto para que Hoppscotch funcione.
Share by link
Hoppscotch te da una URL unica con tu request "serializado". Si la pegas en otra pestana, se restaura el request exacto.
WebSocket
Un protocolo que mantiene una conexion abierta entre cliente y servidor. Hoppscotch lo usa para que la UI se actualice en tiempo real cuando llegan respuestas de streaming.
PWA
Progressive Web App. Hoppscotch se puede "instalar" como una app en Chrome/Edge para usarlo offline como si fuera nativo.
Paso a paso
-
1
Que es Hoppscotch y cuando usarlo
Hoppscotch es ideal cuando: 1) quieres probar un endpoint rapido sin instalar nada, 2) necesitas compartir un request con un link, 3) estas en una maquina donde no puedes instalar software (cybercafe, computadora del trabajo). NO es ideal si quieres collections versionadas.
-
2
Abre tu navegador y ve a hoppscotch.io
https://hoppscotch.io. Funciona en Chrome, Firefox, Safari, Edge. No requiere login. Si quieres, puedes instalarlo como PWA desde el icono de "+" en la barra de URL de Chrome.
-
3
Familiarizate con la UI
Izquierda: sidebar con collections. Centro: editor del request (method, URL, headers, body, params). Derecha: response (status, headers, body, tiempo).
-
4
En el sidebar, click derecho en "Collections" > "Import" o usa el icono de importacion
Veras un menu con opciones: "From File", "From URL", "From cURL", "From Insomnia", "From Postman", "From OpenAPI". Elige "From URL".
-
5
Pega https://api.cfdi4.com/docs/openapi-spec y click "Import"
Hoppscotch descarga la spec OpenAPI 3.0. En unos segundos tendras las 33 peticiones organizadas por tag en el sidebar.
-
6
Abre una peticion del sidebar (ej: "POST /api/v1/usuario/datos-fiscales")
La peticion se carga automaticamente en el editor central. Veras: method = POST, URL ya armada, headers vacios por ahora, body con un JSON de ejemplo.
-
7
Ve a la tab "Headers" debajo del URL
Aqui es donde anades los headers HTTP. Necesitas anadir 2: Authorization y Content-Type.
-
8
Anade header "Content-Type: application/json"
En la primera fila vacia, escribe "Content-Type" en la columna "Header" y "application/json" en la columna "Value". Esto le dice al servidor que el body viene en formato JSON.
-
9
Anade header "Authorization: Bearer sat_xxxxxxxxxxxxxxxxxxxx" (tu API key)
En otra fila, "Authorization" y el valor "Bearer " seguido de tu API key de SAT API. Asegurate de que haya un espacio entre "Bearer" y la key.
-
10
Click en el icono de candado al lado del header Authorization para marcarlo como "secret"
Esto hace que Hoppscotch oculte el valor en la UI (mostrara "***"). Util para no mostrar tu API key si alguien ve tu pantalla.
-
11
Click en "Send" (boton verde en la esquina superior derecha del editor)
Hoppscotch envia el request al servidor. En la derecha aparece la respuesta: status code, tiempo en ms, tamano, headers, y body JSON formateado.
-
12
Revisa la respuesta
Status 200 con {"cfdi_codigo": 1, "data": {...}} = exito. Status 4xx/5xx = error. Lee el catalogo de errores en /docs/errores.
-
13
Para guardar la peticion con auth, click en el icono de estrella y "Save as"
Dale un nombre descriptivo. Esto la guarda en tu sidebar para reutilizarla despues.
-
14
Para compartir el request, click en el icono de "Share" arriba a la derecha
Hoppscotch te da una URL tipo https://hoppscotch.io/... con tu request serializado. Si la pegas en otra pestana o se la mandas a alguien, la peticion se restaura.
-
15
Para generar codigo, click en el icono "</>" (Generate Code)
Te da snippets en cURL, Python, JavaScript (fetch/axios), Go, PHP, etc. Elige el lenguaje que uses, copy-paste, y ya tienes codigo listo.
-
16
Para instalar como PWA (opcional), en Chrome click en el "+" en la barra de URL
Te permite usar Hoppscotch como una app nativa, sin la barra del navegador, y con algunos features offline.
Verificar que funciona
Si todo salio bien, deberias ver una respuesta JSON con cfdi_codigo: 1. Si ves error 401, revisa que tu API key este bien copiada (sin espacios al inicio/final).
{
"cfdi_codigo": 1,
"cfdi_texto": "OK",
"data": { ... }
}
Problemas comunes
Error 401: Unauthorized
Tu API key no es valida o no la pusiste bien. Revisa que: 1) Empiece con sat_, 2) No tenga espacios, 3) El RFC este activo en el panel.
Error 403: Forbidden
Tu user-agent es muy generico. Anade -H \"User-Agent: MiApp/1.0\" a tu peticion.
Error 429: Too many requests
Superaste el rate limit (60 req/min). Espera 60 segundos.
Error 500: Internal server error
El upstream del SAT esta teniendo problemas. Reintenta en unos minutos. Si persiste, contactanos.
Error 503: Service unavailable
El sistema esta en mantenimiento. Revisa panel.cfdi4.com para avisos.
No me aparece la coleccion al importar
Asegurate de usar la URL exacta. Algunos clientes requieren la spec OpenAPI, otros la coleccion Postman. Revisa el paso correspondiente.