Consultar una factura
GET
/invoices/{id}
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" \ --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}`, { 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}", 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, 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
id
required
string format: uuid
userId
required
string
customerId
string format: uuid
receiverRfc
required
string
receiverLegalName
required
string
receiverPostalCode
required
string
receiverTaxRegime
required
string
receiverFiscalResidence
string
receiverTaxId
string
receiverEmail
string format: email
receiverInvoiceLanguage
required
string
serie
string
folio
string
satUuid
string
status
required
string
cfdiType
required
string
cfdiUse
required
string
exportacion
required
string
paymentMethod
string
paymentForm
string
currency
required
string
exchangeRate
required
number
exchangeRateDate
string format: date-time
subtotal
required
number
taxTotal
required
number
total
required
number
customerNotes
string
pdfLanguage
required
string
errorMessage
string
issueDate
Fecha de emisión seleccionada, en formato ISO 8601.
string format: date-time
issuedAt
string format: date-time
cancelledAt
string format: date-time
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
items
required
Array<object>
object
id
required
string format: uuid
invoiceId
required
string format: uuid
position
required
integer
productCode
string
unitCode
required
string
description
required
string
quantity
required
number
unitPrice
required
number
amount
required
number
objetoImp
string
vatKind
string
vatTreatment
string
vatSource
string
vatReason
string
isrWithholdingSource
string
isrWithholdingReason
string
suggestedProductCode
string
suggestionConfidence
number
suggestionSource
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