Descargar el PDF en base64
GET
/invoices/{id}/pdf
FACTUCAT_API_URL="${FACTUCAT_API_URL:-https://sandbox.factucat.com/api/v1}"
curl --fail-with-body --request GET \ --url "$FACTUCAT_API_URL/invoices/$DOCUMENT_ID/pdf" \ --header "X-API-Key: $FACTUCAT_API_KEY"const baseUrl = process.env.FACTUCAT_API_URL || "https://sandbox.factucat.com/api/v1"const id = process.env.DOCUMENT_IDconst response = await fetch(`${baseUrl}/invoices/${id}/pdf`, { method: "GET", headers: { 'X-API-Key': process.env.FACTUCAT_API_KEY, },})const text = await response.text()if (!response.ok) throw new Error(`HTTP ${response.status}: ${text}`)console.log(JSON.parse(text))import jsonimport osimport urllib.errorimport urllib.request
base_url = os.environ.get("FACTUCAT_API_URL", "https://sandbox.factucat.com/api/v1")id = os.environ["DOCUMENT_ID"]request = urllib.request.Request( f"{base_url}/invoices/{id}/pdf", method="GET", headers={ "X-API-Key": os.environ["FACTUCAT_API_KEY"], },)try: with urllib.request.urlopen(request) as response: text = response.read().decode("utf-8")except urllib.error.HTTPError as error: raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8')}") from errorprint(json.loads(text))package main
import ( "fmt" "io" "net/http" "os")
func main() { baseURL := os.Getenv("FACTUCAT_API_URL") if baseURL == "" { baseURL = "https://sandbox.factucat.com/api/v1" } id := os.Getenv("DOCUMENT_ID") request, err := http.NewRequest("GET", baseURL + "/invoices/" + id + "/pdf", nil) if err != nil { panic(err) } request.Header.Set("X-API-Key", os.Getenv("FACTUCAT_API_KEY")) response, err := http.DefaultClient.Do(request) if err != nil { panic(err) } defer response.Body.Close() text, _ := io.ReadAll(response.Body) if response.StatusCode < 200 || response.StatusCode >= 300 { panic(fmt.Sprintf("HTTP %d: %s", response.StatusCode, text)) } fmt.Print(string(text))}Authorizations
Sección titulada «Authorizations»Parameters
Sección titulada «Parameters»Path Parameters
Sección titulada «Path Parameters»id
required
string format: uuid
Responses
Sección titulada «Responses»Operación exitosa
Media typeapplication/json
object
data
required
object
fileName
required
string
mimeType
required
string
base64
required
string
meta
required
object
requestId
required
string
idempotencyKey
string
pagination
object
limit
required
integer
offset
required
integer
hasMore
required
boolean
nextCursor
string | null
Datos inválidos
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
API key ausente, inválida o de otro ambiente
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Plan inactivo o permisos insuficientes
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Recurso no encontrado
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Método no permitido
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Conflicto o solicitud en curso. error.reason es opcional; duplicate_rfc indica que ya existe un cliente con ese RFC en la cuenta; stamp_in_progress indica que el documento se está timbrando: consúltalo antes de reintentar.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Límite de solicitudes alcanzado
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Headers
Sección titulada «Headers»Retry-After
integer
Segundos antes de reintentar.
Error interno
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
PAC temporalmente no disponible
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string