Ir al contenido
Documentación

Negocio

Emitir la factura de prueba

POST
/v1/business/issue-test-invoice
curl --request POST \
--url https://api.timbro.do/v1/business/issue-test-invoice \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "documentType": "31" }'

Envía un documento TesteCF nuevo y responde 202 cuando no existe uno en proceso o aceptado; si no, responde 200 sin cambiar el negocio. El servidor también lo envía cuando el certificado está activo. Esta operación solo corresponde al modo de prueba.

Media typeapplication/json
object
documentType
Cualquiera de:
string
Valor permitido: 31

El negocio que selecciona la credencial, sus capacidades y los requisitos que faltan.

Media typeapplication/json
Campos y códigos de la respuesta

El negocio que selecciona la credencial, sus capacidades y los requisitos que faltan.

object
object
obligatorio
string
Valor permitido: business
id
obligatorio
string
/^business_[0-9a-hjkmnp-tv-z]{24,}$/
rnc
obligatorio
string
/^[0-9]{9}$/
legalName
obligatorio
string
>= 1 characters
economicActivity
obligatorio
Cualquiera de:
string
>= 1 characters <= 512 characters
revision
obligatorio
integer
capabilities
obligatorio

El live.status de facturas es active solo cuando el certificado digital en vivo está activo y al menos un tipo de e-CF de invoicing.live.documentTypes está ready. Una lista vacía o ilegible nunca es active; los requirements con mode: "live" indican qué falta.

object
payments
obligatorio
object
requested
obligatorio
boolean
test
obligatorio
object
status
obligatorio
Cualquiera de:
string
Valor permitido: active
live
obligatorio
object
status
obligatorio
Cualquiera de:
string
Valor permitido: active
invoices
obligatorio
object
requested
obligatorio
boolean
test
obligatorio
object
status
obligatorio
Cualquiera de:
string
Valor permitido: active
live
obligatorio
object
status
obligatorio
Cualquiera de:
string
Valor permitido: active
fiscalDetails
obligatorio
object
commercialName
obligatorio
Cualquiera de:
string
address
obligatorio
Cualquiera de:
string
location
obligatorio
Cualquiera de:
object
placeId
obligatorio
string
/^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/
catalogReleaseId
obligatorio
string
/^dr_[A-Za-z0-9._-]+$/
municipalityCode
obligatorio
Cualquiera de:
string
/^[0-9]{6}$/
name
obligatorio
string
>= 1 characters <= 160 characters
kind
obligatorio
Cualquiera de:
string
Valor permitido: country
qualityStatus
obligatorio
Cualquiera de:
string
Valor permitido: verified
ancestors
obligatorio

Los lugares que contienen al seleccionado, del más externo al más interno.

Array<object>
<= 32 items
object
placeId
obligatorio
string
/^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/
name
obligatorio
string
>= 1 characters <= 160 characters
kind
obligatorio
Cualquiera de:
string
Valor permitido: country
qualityStatus
obligatorio
Cualquiera de:
string
Valor permitido: verified
phone
obligatorio
Cualquiera de:
string
email
obligatorio
Cualquiera de:
string
defaultIncomeType
obligatorio
Cualquiera de:
string
paymentsProfile
obligatorio
Cualquiera de:

Soporte, dirección y condiciones de entrega que ve el cliente. La razón social y el RNC son los del negocio.

object
displayName
obligatorio
string
>= 2 characters <= 80 characters /^(?=[\s\S]*\p{L})(?=\s*\S(?:[\s\S]*\S){1})(?!\s*(\S)\1*\s*$)[\s\S]+$/
statementDescriptor
obligatorio
string
>= 2 characters <= 22 characters /^(?=[\s\S]*\p{L})(?=\s*\S(?:[\s\S]*\S){1})(?!\s*(\S)\1*\s*$)[\s\S]+$/
permanentAddress
obligatorio

Dirección comercial permanente del comercio vendedor.

object
line1
obligatorio
string
>= 3 characters <= 160 characters /^(?=[\s\S]*\p{L})(?=\s*\S(?:[\s\S]*\S){2})(?!\s*(\S)\1*\s*$)[\s\S]+$/
city
obligatorio
string
>= 2 characters <= 80 characters /^(?=[\s\S]*\p{L})(?=\s*\S(?:[\s\S]*\S){1})(?!\s*(\S)\1*\s*$)[\s\S]+$/
countryCode
obligatorio
string
/^[A-Z]{2}$/
line2
string
>= 1 characters <= 160 characters /\S/
province
string
>= 1 characters <= 80 characters /\S/
postalCode
string
>= 1 characters <= 20 characters /\S/
supportEmail
obligatorio
string format: email
<= 254 characters
supportPhone
obligatorio
string
/^\+[1-9][0-9]{7,14}$/
deliveryPolicy
obligatorio
discriminator: kind
object
kind
obligatorio
string
Valor permitido: not_offered
paymentsProfileOrigin
obligatorio
Cualquiera de:
Cualquiera de:
string
Valor permitido: derived
invoicing
obligatorio
object
test
obligatorio
Cualquiera de:
object
status
obligatorio
string
Valor permitido: unavailable
cause
obligatorio
string
Valor permitido: timbro_unreachable
live
obligatorio
Cualquiera de:
object
status
obligatorio
string
Valor permitido: unavailable
cause
obligatorio
string
Valor permitido: timbro_unreachable
requirements
obligatorio
Array<object>

Algo que debe ocurrir antes de que una capacidad esté activa, y quién actúa sobre ello. Mientras una capacidad está activa, un requisito que de otro modo la bloquearía no bloquea nada y es una advertencia. La facturación en vivo lista como máximo un requisito por clase de causa (legal_issuer_profile_required, signing_certificate_required, sequence_required, sequence_confirmation_pending), cada uno con los documentTypes de e-CF que afecta. Cuando Timbro rechazó el perfil del emisor legal en vivo, la primera entrada es fiscal_details_rejected, con field /fiscalDetails. El merchant es responsable de todos salvo sequence_confirmation_pending, que espera a dgii. default_income_type_required está en desuso y ya no se devuelve: un negocio que factura y no tiene tipo de ingreso guardado lee 01.

object
code
obligatorio
Cualquiera de:
string
Valor permitido: capabilities_required
owner
obligatorio
Cualquiera de:
string
Valor permitido: merchant
blocks
obligatorio
Array
<= 2 items
mode
Cualquiera de:
string
Valor permitido: test
documentTypes

Los tipos de e-CF que este requisito impide emitir, en el orden de los tipos. Ausente cuando aplica a todo el ambiente.

Array
>= 1 items
field

JSON Pointer al campo de esta representación que nombra el requisito.

string
errors
Array<object>
>= 1 items
object
code
obligatorio
string
message
obligatorio
string
onboardingUrl
obligatorio
string format: uri
request-id
obligatorio
string

Identifica esta solicitud. Indícalo cuando contactes a soporte.