Sandbox / PoC — NOT PRODUCTION · main c36a83abdac6 ·
OpenAPI 3.1.1 (documento golden verificado en CI)
POST/api/v1/issuance/invoices
Emite un e-CF 31 (resultado LOCAL; jamás «aceptado por DGII»).
Orden idempotente de emisión de factura de crédito fiscal. Headers: Idempotency-Key (obligatorio, 8-64 [A-Za-z0-9._:-]), X-Correlation-Id (opcional). Ejemplo ficticio: merchantId "comercio-demo-01", documento con emisor RNC 111111111 y una línea de 100.00.
HTTP
Contenido
202
application/json
400
application/problem+json
401
application/problem+json
403
application/problem+json
404
application/problem+json
409
application/problem+json
413
application/problem+json
422
application/problem+json
503
application/problem+json
POST/api/v1/issuance/credit-notes
Emite una NC e-CF 34 (resultado LOCAL).
Orden idempotente de emisión de nota de crédito con referencia al comprobante afectado. Mismos headers que la emisión 31.
HTTP
Contenido
202
application/json
400
application/problem+json
401
application/problem+json
403
application/problem+json
404
application/problem+json
409
application/problem+json
413
application/problem+json
422
application/problem+json
503
application/problem+json
POST/api/v1/issuance/document-status
Consulta el estado LOCAL del documento (sin DGII).
Operación de LECTURA (segura: sin efectos y sin Idempotency-Key) que viaja por POST únicamente porque los identificadores fiscales jamás van en URL/query (higiene de logs; GET con cuerpo carece de semántica definida en HTTP). Devuelve exclusivamente el estado local del ciclo de vida; la respuesta no es cacheable (Cache-Control: no-store).
HTTP
Contenido
200
application/json
400
application/problem+json
401
application/problem+json
403
application/problem+json
404
application/problem+json
413
application/problem+json
503
application/problem+json
Esquemas
AdjustmentDto
Campo
Tipo
Requerido
Notas
lineNumber
['null', 'integer', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)$; format=int32; el tipo admite null explícito
type
['null', 'string']
Sí
el tipo admite null explícito
billingIndicator
['null', 'string']
Sí
el tipo admite null explícito
amount
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
valueKind
['null', 'string']
Sí
el tipo admite null explícito
declaredPercent
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
description
['null', 'string']
Sí
el tipo admite null explícito
BuyerPartyDto
Campo
Tipo
Requerido
Notas
rnc
['null', 'string']
Sí
el tipo admite null explícito
legalName
['null', 'string']
Sí
el tipo admite null explícito
CreditNoteDocumentDto
Campo
Tipo
Requerido
Notas
issueDate
['null', 'string']
Sí
format=date; el tipo admite null explícito
issuer
object
Sí
buyer
object
Sí
payment
object
Sí
reference
object
Sí
lines
['null', 'array']
Sí
el tipo admite null explícito
incomeType
['null', 'string']
Sí
el tipo admite null explícito
globalAdjustments
['null', 'array']
Sí
el tipo admite null explícito
taxIncludedPricing
['null', 'boolean']
Sí
el tipo admite null explícito
billingPeriod
object
Sí
CreditNoteIssuanceRequestDto
Campo
Tipo
Requerido
Notas
merchantId
['null', 'string']
Sí
el tipo admite null explícito
document
object
Sí
CreditNoteReferenceDto
Campo
Tipo
Requerido
Notas
modifiedNcf
['null', 'string']
Sí
el tipo admite null explícito
modifiedOn
['null', 'string']
Sí
format=date; el tipo admite null explícito
modificationCode
['null', 'string']
Sí
el tipo admite null explícito
reason
['null', 'string']
Sí
el tipo admite null explícito
DocumentStatusRequestDto
Campo
Tipo
Requerido
Notas
merchantId
['null', 'string']
Sí
el tipo admite null explícito
electronicNcf
['null', 'string']
Sí
el tipo admite null explícito
DocumentStatusResponseDto
Campo
Tipo
Requerido
Notas
merchantId
string
Sí
electronicNcf
string
Sí
lifecycleId
string
Sí
format=uuid
fiscalState
string
Sí
technicalState
string
Sí
version
['integer', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)$; format=int32
signedArtifactId
['null', 'string']
Sí
format=uuid; el tipo admite null explícito
attemptCount
['integer', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)$; format=int32
lastFailureReason
['null', 'string']
Sí
el tipo admite null explícito
createdAtUtc
string
Sí
format=date-time
updatedAtUtc
string
Sí
format=date-time
correlationId
string
Sí
InvoiceDocumentDto
Campo
Tipo
Requerido
Notas
issueDate
['null', 'string']
Sí
format=date; el tipo admite null explícito
issuer
object
Sí
buyer
object
Sí
payment
object
Sí
incomeType
['null', 'string']
Sí
el tipo admite null explícito
lines
['null', 'array']
Sí
el tipo admite null explícito
globalAdjustments
['null', 'array']
Sí
el tipo admite null explícito
taxIncludedPricing
['null', 'boolean']
Sí
el tipo admite null explícito
billingPeriod
object
Sí
advancePayment
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
previousBalance
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
InvoiceIssuanceRequestDto
Campo
Tipo
Requerido
Notas
merchantId
['null', 'string']
Sí
el tipo admite null explícito
document
object
Sí
IssuanceResponseDto
Campo
Tipo
Requerido
Notas
outcome
string
Sí
businessRequestId
string
Sí
merchantId
string
Sí
documentType
string
Sí
electronicNcf
string
Sí
lifecycleId
['null', 'string']
Sí
format=uuid; el tipo admite null explícito
fiscalState
['null', 'string']
Sí
el tipo admite null explícito
correlationId
string
Sí
IssuerPartyDto
Campo
Tipo
Requerido
Notas
rnc
['null', 'string']
Sí
el tipo admite null explícito
legalName
['null', 'string']
Sí
el tipo admite null explícito
address
['null', 'string']
Sí
el tipo admite null explícito
LineDto
Campo
Tipo
Requerido
Notas
lineNumber
['null', 'integer', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)$; format=int32; el tipo admite null explícito
billingIndicator
['null', 'string']
Sí
el tipo admite null explícito
description
['null', 'string']
Sí
el tipo admite null explícito
kind
['null', 'string']
Sí
el tipo admite null explícito
quantity
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
unitPrice
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
declaredAmount
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
discountAmount
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
surchargeAmount
['null', 'number', 'string']
Sí
pattern=^-?(?:0|[1-9]\d*)(?:\.\d+)?$; format=double; el tipo admite null explícito
PaymentDto
Campo
Tipo
Requerido
Notas
type
['null', 'string']
Sí
el tipo admite null explícito
deadline
['null', 'string']
Sí
format=date; el tipo admite null explícito
ProblemDetails
Campo
Tipo
Requerido
Notas
type
['null', 'string']
No
opcional: puede omitirse; el tipo admite null explícito
title
['null', 'string']
No
opcional: puede omitirse; el tipo admite null explícito
status
['null', 'integer', 'string']
No
pattern=^-?(?:0|[1-9]\d*)$; format=int32; opcional: puede omitirse; el tipo admite null explícito
detail
['null', 'string']
No
opcional: puede omitirse; el tipo admite null explícito
instance
['null', 'string']
No
opcional: puede omitirse; el tipo admite null explícito