Saltar al contenido principal

Método para enviar documentos (SendDocumentToAuthority)

Este método permite emitir documentos directamente al portal de Gosocket utilizando el servicio POST SendDocumentToAuthority, donde se podrá enviar el archivo de integración con respuesta inmediata (síncrona) por la entidad tributaria.

Por medio de este método, es posible enviar diferentes tipos de estructuras de integración (XML, JSON), para la cual su funcionalidad será transformarlo al UBL representativo de la entidad tributaria de cada país, debidamente firmado y dar una respuesta de su validación previa en tan solo milésimas de segundos.

Para una integración más ágil y escalable, se recomienda utilizar el DTE de integración estándar que utiliza la plataforma, con esto se podría garantizar una integración casi inmediata con nuestros sistemas.


Proceso del método SendDocumentToAuthority

El proceso del método SendDocumentToAuthority, se ve de la siguiente forma de acuerdo con el país:

Países con proceso síncrono

México, Guatemala, Perú, Panamá:

image-20240122-223746.png

  1. El cliente manda la solicitud con los parámetros antes vistos.
  2. La API de Gosocket convierte el DTE recibido en un XML tributario.
  3. Se firma el XML de acuerdo con los criterios configurados previamente.
  4. El XML firmado, se certifica por el PAC/OSE/PT.
  5. El PAC/OSE/PT envía a través de la API una respuesta de aprobación o rechazo con el XML verificado. Esta respuesta se emite de forma síncrona con la solicitud.
  6. La API da la respuesta síncrona con la validación o el rechazo de la solicitud al cliente.
  7. El XML certificado y sus observaciones de aceptación o rechazo, son enviados a la autoridad tributaria.

Colombia, El Salvador:

  • Para el caso de Colombia y El Salvador, el proceso que se sigue es el mismo al anterior, con dos diferencias:

image-20240122-224306.png

a. El XML firmado se envía a la autoridad y ésta da como respuesta al cliente un Acuse de Recibo a través de la API.

b. No participa una figura como el OSE/PAC/PT.


Países con proceso asíncrono

Costa Rica, Ecuador, Chile, República Dominicana

image-20240122-224719.png

  1. El usuario utiliza los mismos parámetros ya vistos para realizar su petición.
  2. Dentro de la API, el documento se transforma en un XML.
  3. El XML entra a firma.
  4. La API manda una respuesta síncrona al usuario que contiene el XML verificado junto con las observaciones para corrección que se obtenga. Esto de acuerdo con los parámetros actualizados dentro de la API de Gosocket.
  5. El usuario recibe el XML firmado, así como las observaciones que arrojó la API al momento de emitir la respuesta.
  6. Paralelamente, la API envía a la autoridad tributaria el XML firmado para su procesamiento de acuerdo con su normativa. La autoridad tributaria, a su vez, envía como respuesta el acuse del documento a la API.
  7. Desde la API el usuario puede gestionar la generación de PDF, la distribución del documento y la descarga de reportes.
  8. El servidor actualizará el estado del documento en la API periódicamente.

Proceso síncrono / asíncrono

Argentina

image-20250225-231817.png

  1. El usuario utiliza los parámetros para realizar su petición con los distintivos que se explican en el siguiente apartado.
  2. Dentro de la API, el documento se transforma en un XML.
  3. Si en el request, se envió el valor False en el parámetro async, la API manda una respuesta al usuario que contiene el XML verificado junto con las observaciones para corrección que se obtenga. Cuando el valor del parámetro async en el request es True, la API responderá que el documento se recibió y esperará en la cola hasta llegar al consecutivo para ser enviado a la Entidad Tributaria. El servidor actualizará el estado del documento en la API periódicamente.
  4. Desde la API el usuario puede gestionar la generación de PDF, la distribución del documento y la descarga de reportes.

Para conectarse a esta funcionalidad será necesario que ingrese la URL de acuerdo con el ambiente a consumir:

PRODUCCIÓNhttps://developers.gosocket.net/api/v1/Document/SendDocumentToAuthority
SANDBOXhttps://developers-sbx.gosocket.net/api/v1/Document/SendDocumentToAuthority

¿Cómo funciona el método SendDocumentToAuthority?

Para realizar la petición, el método tiene los siguientes parámetros en formato JSON con la siguiente estructura:

SendDocumentToAuthority (request)
ParámetroTipoDescripciónValores permitidos
FileContent*StringParámetro para incluir el archivo a certificarArchivo XML en formato Json o base 64. Archivo JSON en formato Json o base 64.
Async*BooleanTipo de respuesta de la APIfalse (Síncrono) true (Asíncrono) false (síncrono) para consumir el método de esta forma, es necesario que se use el consecutivo actual para el documento dentro del xml del documento en base 64
Mapping*StringCódigo de mapeo a utilizar para la transformación del documento (generado por Gosocket)Identificador propocionado por Gosocket
Sign*BooleanParámetro para indicar si se tiene que firmar el XML generado. Parámetro para indicar si el documento se transforma.true (firma el documento) false (No firma el documento) true (el documento se transforma)
DefaultCertificate*BooleanParámetro para indicar si se utilizará el certificado default de la plataformatrue (Certificado condigurado en la plataforma false (Certificado configurado en la empresa)

*Requerido


Ejemplo de petición

image-20240122-232603.png

  1. Seleccione el tipo de método. En este caso, se debe seleccionar POST.
  2. Ingrese la URL del método.
  3. Ingrese los parámetros que se muestran en la tabla de información con sus valores correspondientes.
  4. Presione Send.

Nota: Recuerde que antes de utilizar el método, debe realizar su autenticación dentro de la pestaña Authorization.


Ejemplo de respuesta

image-20240122-232715.png


JSON Ejemplo de respuesta en petición de proceso síncrono

image-20250225-232459.png

Nota: Para consumir el método de esta forma, es necesario que se use el consecutivo actual para el documento dentro del xml del documento en base 64 cuando se envía el request.


JSON ejemplo de respuesta en petición de proceso asíncorno

image-20250226-194148.png

Nota: Cuando se consume el método de esta forma, el consecutivo que se use dentro del xml del documento se evaluará y esperará en la cola hasta llegar al consecutivo para ser enviado a la Entidad Tributaria.


JSON Ejemplo de respuesta

{
"Success": true,
"GlobalDocumentId": "fc089d3b-ab79-13f3-65e6-8cd2275e1922",
"CountryDocumentId": "96A01B7C-22FC-4594-8857-E79FA1CB0845",
"OtherData": 
{
"AuthorityTimeStamp": "2026-01-29T16:37:03",
"ReceivedStamp": "20263EB3DE66966946C8B33B896714456DF8CREY",
"Country": "sv",
"Certifier": "DGI"
},
"Messages": [],
"ResponseValue": "ew0KCSJ2ZXJzaW9uIjogMiwNCgkiYW1iaWVudGUiOiAiMDAiLA0KCSJ2ZXJzaW9uQXBwIjogMiwNCgkiZXN0YWRvIjogIlBST0NFU0FETyIsDQoJImNvZGlnb0dlbmVyYWNpb24iOiAiOTZBMDFCN0MtMjJGQy00NTk0LTg4NTctRTc5RkExQ0IwODQ1IiwNCgkic2VsbG9SZWNpYmlkbyI6ICIyMDI2M0VCM0RFNjY5NjY5NDZDOEIzM0I4OTY3MTQ0NTZERjhDUkVZIiwNCgkiZmhQcm9jZXNhbWllbnRvIjogIjI5LzAxLzIwMjYgMTY6Mzc6MDMiLA0KCSJjbGFzaWZpY2FNc2ciOiAiMTAiLA0KCSJjb2RpZ29Nc2ciOiAiMDAxIiwNCgkiZGVzY3JpcGNpb25Nc2ciOiAiUkVDSUJJRE8iLA0KCSJvYnNlcnZhY2lvbmVzIjogW10NCn0",
"Code": "001",
"Description": "RECIBIDO",
"ErrorException": null
}

JSON Ejemplo de ResponseValue decodificado:

{
"version": 2,
"ambiente": "00",
"versionApp": 2,
"estado": "PROCESADO",
"codigoGeneracion": "96A01B7C-22FC-4594-8857-E79FA1CB0845",
"selloRecibido": "20263EB3DE66966946C8B33B896714456DF8CREY",
"fhProcesamiento": "29/01/2026 16:37:03",
"clasificaMsg": "10",
"codigoMsg": "001",
"descripcionMsg": "RECIBIDO",
"observaciones": []
}

Para interpretar correctamente sus resultados, tome en cuenta lo siguiente:

SendDocumentToAuthority (response)
ParámetroTipoDescripciónEjemplo posibles valores
SuccessBooleanParámetro que indica si el documento se procesó correctamente.MX CO GT PE PA true (documento aceptado por entidad tributaria) CL CR EC DOM* AR true (documento procesado correctamente y enviado a la entidad tributaria) false (documento con problema durante el proceso del mismo o fue rechazado por una entidad tributaria)
GlobalDocumentIdStringIdentificación de documento en Gosocket.UUID de 36 caracteres alfanuméricos xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
CountryDocumentIdStringIdentificador fiscal del documento a nivel país, conocido también como CUFE, CLAVE, UUID, IDVer tabla Estructura Country Document ID
Other DataStringCampo dinámico para relacionar información del envío del documento. Puede cambiar por país como se muestra en la tabla OtherData. Campo no obligatorio.Al ser un campo dinámico tiene la siguiente estructura: "OtherData": {"additionalProp1": "string", "additionalProp2": "string" }, Este campo puede ir de 0 a N propiedades. El campo xmlauthorization muestra el XML en base 64 del autorización de la ARCA para el documento. Dentro del campo Response Arca, se muestra la respuesta de la Entidad Tributaria.
MessagesArrayEn caso de que haya errores u observaciones de la entidad tributaria, se mostrará en esta sección.
ResponseValueStringRespuesta de la autoridad. Respuesta de la DGI en base 64XML Certificado (Documento certificado) Devolución de XML enviado (XML con error) CO Application response
CodeStringCódigo de respuesta del proceso.Ejemplo: 200 (OK), 503 (Time Out), 99, 7 (error) 001: Recibido
DescriptionStringDescripción del estado de la petición o del error generado.Ejemplo: 200 "La factura número XX, ha sido aceptada" 503 "Timeout envio certificador" 200 "Procesado Correctamente." x"Validación contiene errores en campos mandatorios." 7 "Error in input Parameters(One or more errors occurred.)" 200 "Null" -> Cuando el documento se generó exitosamente. 001: Recibido
ErrorExceptionArraySe describe la información de la excepción en caso de un error debido a una excepción en el proceso.

Nota: Esta es una interpretación genérica, es decir, la interpretación podría variar dependiendo del país.


En el parámetro OtherData, por ejemplo se pueden encontrar las siguientes propiedades:

OtherData
PaísPropiedades OtherData
ArgentinaSíncrono {        "ResponseArca": "PEZFS…"        "XmlAuthorization": "PQMDI…"     } Asíncrono {        "Country": "ar"        "Certifier": "ARCA"        "AuthorityTimeStamp": "21/02/2025  14:45:12" }
Chile{         "Country": "cl",         "Certifier": "SII"     }
Colombia{         "Country": "co",         "Certifier": "DIAN",         "AuthorityTimeStamp": "15/07/2022 15:42:06",         "BarCodeText": "https...",         "Folio": "990001015",         "NumeroInterno": "01015",         "Serie": "SETP"     }
Costa Rica{         "Country": "cr",         "Certifier": "MH"     }
Ecuador{         "Country": "ec",         "Certifier": "SRI"     }
Guatemala{       "Country": "gt",       "Certifier": "Megaprint",       "AuthorityTimeStamp": "15/07/2022 15:00:15",       "Number": "3558819305",       "Series": "557AC19C",       "BarCodeText": "https…"    }
México{       "Country": "mx",       "AuthorityTimeStamp": "15/07/2022 15:54:12",       "Certifier": "GRUPO YACORD",       "BarCodeText": "https…",       "NoCertificado": "22345754",       "RFCEmisor": "EKU9003173C1",       "RFCReceptor": "CAVR781231UU2"    }
Panamá{         "Country": "pa",         "Certifier": "ebi",         "AuthorityTimeStamp": "7/6/2022 11:00:56 PM",         "BarCodeText": "https…"     }
Perú{         "Country": "pe",            "AuthorityTimeStamp": "15/07/2022 15:42:06",         "BarCodeText": "20556695548
El Salvador{     "AuthorityTimeStamp": "2026-01-29T16:37:03",     "ReceivedStamp": "20263EB3DE66966946C8B33B896715556DF7CREY",     "Country": "sv",     "Certifier": "DGI" }

Nota: Al ser un campo dinámico, puede ir de 0 a N propiedades.


El campo OtherData se llenará de acuerdo con el país:

OtherData
PaísEjemploCampoValor
ArgentinaSíncrono {        "ResponseArca": "PEZFS…"        "XmlAuthorization": "PQMDI…"     } Asíncrono {        "Country": "ar"        "Certifier": "ARCA"        "AuthorityTimeStamp": "21/02/2025  14:45:12" }OtherData.ResponseArcaRespuesta de la Entidad Tributaria en base 64
OtherData.XmlAtuhorizationAutorización de la Entidad Tributaria en base 64
TherData.CountryCódigo del país
OtherData.CertifierEntidad tributaria y/o Certificadora del documento
OtherData.AuthorityTimeStampFecha y Hora de validación del documento
Chile{         "Country": "cl",         "Certifier": "SII"     }OtherData.CountryCódigo del país
OtherData.CertifierEntidad tributaria y/o Certificadora del documento
Colombia{         "Country": "co",         "Certifier": "DIAN",         "AuthorityTimeStamp": "15/07/2022 15:42:06",         "BarCodeText": "https...",         "Folio": "990001015",         "NumeroInterno": "01015",         "Serie": "SETP"     }OtherData.CountryCódigo del país
OtherData.CertifierEntidad tributaria y/o Certificadora del documento
OtherData.AuthorityTimeStampFecha y Hora de validación del documento
OtherData.BarCodeTextValor del código QR
OtherData.FolioNumero fiscal del documento
OtherData.NumeroInternoNumero interno del documento
OtherData.SerieSerie del documento
Costa Rica{         "Country": "cr",         "Certifier": "MH"     }OtherData.CountryCódigo del país
OtherData.CertifierEntidad tributaria
Ecuador{         "Country": "ec",         "Certifier": "SRI"     }OtherData.CountryCódigo del país
OtherData.CertifierEntidad tributaria
Guatemala{       "Country": "gt",       "Certifier": "Megaprint",       "AuthorityTimeStamp": "15/07/2022 15:00:15",       "Number": "3558819305",       "Series": "557AC19C",       "BarCodeText": "https…"    }OtherData.CountryCódigo del país
OtherData.CertifierCertificador del documento
OtherData.AuthorityTimeStampFecha y Hora de validación del documento
OtherData.NumberNumero fiscal del documento
OtherData.SeriesSerie del documento
OtherData.BarCodeTextValor del código QR
México{       "Country": "mx",       "AuthorityTimeStamp": "15/07/2022 15:54:12",       "Certifier": "GRUPO YACORD",       "BarCodeText": "https…",       "NoCertificado": "22345754",       "RFCEmisor": "EKU9003173C1",       "RFCReceptor": "CAVR781231UU2"    }OtherData.CountryCódigo del país
OtherData.AuthorityTimeStampFecha y Hora de validación del documento
OtherData.CertifierCertificador del documento
OtherData.BarCodeTextValor del código QR
OtherData.NoCertificadoNumero fiscal del documento
OtherData.RFCEmisorRFC del emisor del documento
OtherData.RFCReceptorRFC del receptor del documento
Panamá{         "Country": "pa",         "Certifier": "ebi",         "AuthorityTimeStamp": "7/6/2022 11:00:56 PM",         "BarCodeText": "https…"     }OtherData.CountryCódigo del país
OtherData.CertifierCertificador del documento
OtherData.AuthorityTimeStampFecha y Hora de validación del documento.
OtherData.BarCodeTextValor del código QR
Perú{         "Country": "pe",            "AuthorityTimeStamp": "15/07/2022 15:42:06",         "BarCodeText": "2055669554801FAPI
OtherData.AuthorityTimeStampTipo de Envío: * Síncrono: Fecha y Hora de validación del documento. * Asíncrono: Fecha y Hora de procesamiento del documento. Formato: DD/MM/YY HH:MM:SS
OtherData.BarCodeTextValor del código QR
OtherData.OseIdentifierValidador del Documento (SUNAT/OSE)
El SalvadorSíncrono {    "AuthorityTimeStamp": "2026-01-29T16:37:03",     "ReceivedStamp": "20263EB3DE66966946C8B33B896715556DF7CREY",     "Country": "sv",     "Certifier": "DGI" }OtherData. AuthorityTimeStampFecha y Hora de validación del documento
OtherData. ReceivedStampSello de recepción del documento aceptado
OtherData.CountryCódigo del país
OtherData.CertifierEntidad tributaria y/o Certificadora del documento

Características del método SendDocumentToAuthority

  • Para utilizar el mapeo estándar que ya tiene el portal con el DTE genérico, se podrá utilizar el siguiente código de mapping:     11111111-1111-1111-1111-111111111111
  • Para utilizar el FileContent con un archivo de formato JSON, se podrá utilizar la misma estructura de campos del DTE genérico desde el nodo Documento, ya que la API al detectar el formato de archivo JSON, lo convierte a formato XML agregando siempre el nodo raíz <DTE> y luego por medio del mapping genérico lo transforma al XML tributario, por ejemplo:

JSON

{
"Documento": {
"Encabezado": {
"IdDoc": {
"Tipo": "01",
"...": "..."
},
"Emisor": {
"...": "..."
}
},
"Detalle": {
"...": "..."
}
}
}
  • Si se quiere trabajar con una estructura XML o JSON personalizada, se podrá utilizar un código de mapping personalizado. En el caso del formato JSON, se debe tener en cuenta que la raíz que agrega la API al convertir el JSON a XML siempre es <DTE>.
  • Debido a que el ResponseValue es la respuesta de la entidad tributaria, el parámetro solo trae información para los países que emiten el documento de manera síncrona.
  • Para la generación de notas de crédito o débito, todos los documentos referenciados dentro de la misma nota debieron ser autorizados por el mismo PAC.

Envío de mensaje Receptor

Otra forma de utilizar el servicio SendDocumentToAuthority es para emitir el mensaje receptor es a través de la API de Gosocket.

De esta manera, nuestros clientes pueden responder a sus proveedores la aceptación o rechazo del pago de sus documentos.

Funcionamiento del mensaje receptor

Primero, será necesario que el cliente genere la siguiente estructura del mensaje receptor:

<MensajeReceptor xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/mensajeReceptor" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Clave>50611072400310100815000100009010015294251116486634</Clave>
<NumeroCedulaEmisor>3101008150</NumeroCedulaEmisor>
<FechaEmisionDoc>2024-07-11T12:50:37</FechaEmisionDoc>
<Mensaje>1</Mensaje>
<DetalleMensaje>Aprobado comercialmente</DetalleMensaje>
<MontoTotalImpuesto>7099.59000</MontoTotalImpuesto>
<CodigoActividad>512201</CodigoActividad>
<MontoTotalImpuestoAcreditar>0.00000</MontoTotalImpuestoAcreditar>
<TotalFactura>252705.26000</TotalFactura>
<NumeroCedulaReceptor>3101595167</NumeroCedulaReceptor>
<NumeroConsecutivoReceptor>00100009050000000085</NumeroConsecutivoReceptor>
</MensajeReceptor>

Tomando en cuenta los siguientes criterios para estructurar su mensaje receptor:

SendDocumentToAuthority Mensaje receptor (estructura del mensaje en XML)
CampoDescripciónValores permitidos
Clave*Clave del documento al que se genera el acuse50 caracteres numéricos
NumeroCedulaEmisor*Cedula del documento relacionado12 caracteres numéricos
FechaEmisionDoc*Fecha y hora en la que se genera el acuseaaaa-mm-ddThh:mm:ss
Mensaje*Estado de la aprobación 1. Aceptado 2. Aceptado parcialmente 3. Rechazado (este valor va con relación al estado que se arroje dentro del "NumeroConsecutivoReceptor")1 carácter numérico
DetalleMensajeCampo para dar cualquier detalle adicional al mensaje160 caracteres
MontoTotalImpuestoMonto del documento referenciadoHasta 15 números enteros y hasta 5 decimales
CodigoActividadCódigo de actividad que viene dentro del documento referenciadoHasta 18 números enteros y hasta 5 decimales
MontoTotalImpuestoAcreditarTotal del impuesto del documento referenciadoHasta 18 números enteros y hasta 5 decimales
TotalFactura*Total del documento referenciadoHasta 18 números enteros y hasta 5 decimales
NumeroCedulaReceptor*Cédula del receptor del documento relacionado20 caracteres
NumeroConsecutivoReceptorConsecutivo receptor debe ser la concatenación de los siguientes campos (parámetro en el XSLT de este dato es consecutivo): Casa Matriz - 001 (Por defecto). Establecimiento o punto de emisión - 00001 (Por defecto). Estado del mensaje Receptor - 05 (cuando el mensaje sea 1), 06 (cuando el mensaje sea 2) o 07 (cuando el mensaje sea 3). Folio - 0000000001 (Número autoincrementable).

*Requerido

Dentro de la API ingrese los siguientes parámetros:

image-20241127-182724.png

  1. Seleccione el tipo de método. En este caso, se debe seleccionar POST.
  2. Ingrese la URL del método.
  3. Seleccione la pestaña Body y presione en el círculo de selección de x-www-form-urlencoded para ingresar los parámetros y generar la petición.
  4. Ingrese los parámetros que se muestran en la tabla que vemos a continuación con sus valores correspondientes.
  5. Presione Send.

Los parámetros, son los siguientes:

SendDocumentToAuthority Mensaje Receptor (request)
ParámetroTipoDescripciónValores permitidos
fileContentArrayContenido del documento (Mensaje Receptor)
AsyncStringAl ser modelo asíncrono, se envía el valor truetrue
SignStringSe envía el valor true para que sea firmadotrue
defaultCertificateStringDebido a que cada contribuyente debe firmar sus documentos con su propio certificado, se envía el parámetro falsefalse
mappingVacíoEste parámetro debe permanecer vacíoVacío

La repuesta de la API a este request, será la misma que explicamos previamente.

Una vez que el mensaje se registra en los documentos recibidos de Inbox, se adjunta al XML del proveedor y se envía al ministerio de Hacienda para su validación.

image-20241127-182954.png

Desde de la pantalla consulta, podemos ver el ícono  que nos indica que el mensaje receptor está siendo validado y el ícono  que muestra la existencia de adjuntos en el documento, como el mensaje receptor.

Para identificar que el acuse se envió, ingrese al documento verificando en la sección de Adjuntos como se muestra a continuación:

image-20241127-183040.png

Además, el Ministerio de Hacienda responde al mensaje receptor con un Json que contiene la validación y se muestra adjunto dentro de la misma sección.

image-20241127-183110.png

Los clientes con acceso al portal de Gosocket, podrán consultar el mensaje receptor que envió su cliente.

Para revisar el mensaje receptor, será necesario ingresar al documento para descargarlo desde el botón de descarga que se muestra en el registro del adjunto como se muestra en la siguiente imagen:

image-20241127-183145.png


Invalidación

El proceso de invalidación por medio de la API en El Salvador se desarrolla como se muestra a continuación:

image-20240910-222753.png

  1. El usuario manda el DTE a la API.
  2. La API gestiona el documento para transformarlo en un JSON.
  3. Envía el JSON firmado a la Entidad Tributaria.
  4. La Entidad Tributaria emite su aceptación o rechazo sobre la invalidación.
  5. La API comunica al usuario la aceptación o rechazo de la Entidad Tributaria y devuelve el JSON.

Nota: El Mapping de invalidación es 193435a2-ab14-4d10-8f15-a85cf7a14426


Petición de invalidación

Los parámetros para enviar a la API son los siguientes:

SendDocumentToAuthority (request)
ParámetroTipoDescripciónValores permitidos
FileContent*StringParámetro para incluir el archivo de invalidaciónArchivo XML en formato JSON o base 64
Async*BooleanTipo de respuesta de la APItrue (Síncrono)
Mapping*StringCódigo de mapeo a utilizar para la transformación de la invalidación.**Mapping:**f6deb258-6dd1-4d2a-89d1-dccd2495904d
Sign*BooleanParámetro para indicar si se tiene que firmar el JSONtrue (firma el JSON) false (No firma el JSON)
DefaultCertificate*BooleanParámetro para indicar si se utilizará el certificado configurado en la plataforma por la empresa.false (Certificado configurado por la empresa)

*Requerido


Respuesta de la API a la invalidación

La respuesta de la API se mostrará con todos los parámetros mencionados aquí, con los siguientes datos en el parámetro OtherData:

"OtherData": {
"Country": "sv",
"Certifier": "DGI",
"AuthorityTimeStamp": "16/01/2023 11:24:33"
}

Asignación de Folios para emisión por API en Chile

Actualmente manejamos dos Gestores de Folios en Chile:

  • Gestor de Folios 1.0
  • Gestor de Folios 3.0

La API en el método SendDocumentToAuthority es capaz de decidir cuál de las 2 versiones de gestor utilizar, de acuerdo con:

  • El gestor 1.0 utiliza un agente que se envía en el DTE de la petición en la sección de personalizados.
  • ·El gestor 3.0 utiliza un facturador que se envía como parámetro (BillerId) en la petición (request) del método de emisión SendDocumentToAuthority.

Y las siguientes condiciones:

  • Siempre prima el parámetro "BillerId", es decir, si éste tiene valor, se utilizará el gestor de folios 3.0, el sistema busca el facturador en el Gestor de Folios V3.0 para asignar el folio.
  • Cuando el parámetro "BillerId" no se envíe o llegue vacío, y la empresa tenga la configuración de Asignación de folio (Funcionalidad: AsignarFolio - Métodos: MakeDocumentAndSend y AssignNumber), se asigna el folio de forma automática sin necesidad de agente.
  • Cuando el parámetro "BillerId" no se envíe o llegue vacío, y el campo personalizado "CategoryID" tenga valor, el folio se asigna utilizando el gestor de folios 1.0.
  • Cuando el parámetro "BillerId" tenga valor, y adicional el campo personalizado "CategoryID" también tenga valor, prima el parámetro de la petición "BillerId", el sistema busca en el gestor de folios 3.0 y si no encuentra el facturador para asignar el folio, saca el mensaje de error correspondiente.
  • Cuando el parámetro "BillerId" no se envíe o llegue vacío, y tampoco tenga valor el campo personalizado "CategoryID", y la empresa tampoco tenga la configuración de Asignación de folio (Funcionalidad: AsignarFolio - Métodos: MakeDocumentAndSend y AssignNumber) para asignar el folio de forma automática sin necesidad de agente, el método continua con su flujo normal sin asignar folio.
  • Cuando en la API se incluya el parámetro BillerId el sistema entiende que debe ir al GF3.0 a asignar el folio, sin embargo, si se incluye el parámetro ValidateNumber en true, el sistema no solicitará asignar folio, sino que validara el folio que venga diligenciado en el DTE.
  • Si no se envía el nuevo parámetro ValidateNumber o se envía con valor false (teniendo en cuenta que también se envió el parámetro BillerId), el sistema solicitará al GF3.0 asignar el folio.
  • La validación de folio solo aplicará para folios con estado rechazado o con error.
  • Si se solicita validar un folio no asignado, se devolverá un mensaje indicando que no ha sido asignado y no generará el documento, esto porque no podemos generar saltos de folios en el GF3.0.
  • El folio [20692] está dentro de este subrango: DocType [33] - NumberFrom [20687] - NumberTo [20696], sin embargo el folio no ha sido entregado previamente.
  • Si se solicita validar un folio aprobado, se devolverá mensaje indicando que ya se encuentra emitido
  • El folio [20690] ya se encuentra en uso por un documento emitido para el tipo de documento [33]