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á:

- El cliente manda la solicitud con los parámetros antes vistos.
- La API de Gosocket convierte el DTE recibido en un XML tributario.
- Se firma el XML de acuerdo con los criterios configurados previamente.
- El XML firmado, se certifica por el PAC/OSE/PT.
- 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.
- La API da la respuesta síncrona con la validación o el rechazo de la solicitud al cliente.
- 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:

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

- El usuario utiliza los mismos parámetros ya vistos para realizar su petición.
- Dentro de la API, el documento se transforma en un XML.
- El XML entra a firma.
- 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.
- El usuario recibe el XML firmado, así como las observaciones que arrojó la API al momento de emitir la respuesta.
- 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.
- Desde la API el usuario puede gestionar la generación de PDF, la distribución del documento y la descarga de reportes.
- El servidor actualizará el estado del documento en la API periódicamente.
Proceso síncrono / asíncrono
Argentina

- El usuario utiliza los parámetros para realizar su petición con los distintivos que se explican en el siguiente apartado.
- Dentro de la API, el documento se transforma en un XML.
- 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.
- 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:
https://developers.gosocket.net/api/v1/Document/SendDocumentToAuthorityhttps://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ámetro | Tipo | Descripción | Valores permitidos |
| FileContent* | String | Parámetro para incluir el archivo a certificar | Archivo XML en formato Json o base 64. Archivo JSON en formato Json o base 64. |
| Async* | Boolean | Tipo de respuesta de la API | false (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* | String | Código de mapeo a utilizar para la transformación del documento (generado por Gosocket) | Identificador propocionado por Gosocket |
| Sign* | Boolean | Pará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* | Boolean | Parámetro para indicar si se utilizará el certificado default de la plataforma | true (Certificado condigurado en la plataforma false (Certificado configurado en la empresa) |
*Requerido
Ejemplo de petición

- Seleccione el tipo de método. En este caso, se debe seleccionar POST.
- Ingrese la URL del método.
- Ingrese los parámetros que se muestran en la tabla de información con sus valores correspondientes.
- 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

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

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

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ámetro | Tipo | Descripción | Ejemplo posibles valores |
| Success | Boolean | Pará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) |
| GlobalDocumentId | String | Identificación de documento en Gosocket. | UUID de 36 caracteres alfanuméricos xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| CountryDocumentId | String | Identificador fiscal del documento a nivel país, conocido también como CUFE, CLAVE, UUID, ID | Ver tabla Estructura Country Document ID |
| Other Data | String | Campo 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. |
| Messages | Array | En caso de que haya errores u observaciones de la entidad tributaria, se mostrará en esta sección. | |
| ResponseValue | String | Respuesta de la autoridad. Respuesta de la DGI en base 64 | XML Certificado (Documento certificado) Devolución de XML enviado (XML con error) CO Application response |
| Code | String | Código de respuesta del proceso. | Ejemplo: 200 (OK), 503 (Time Out), 99, 7 (error) 001: Recibido |
| Description | String | Descripció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 |
| ErrorException | Array | Se 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ís | Propiedades OtherData |
| Argentina | Sí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ís | Ejemplo | Campo | Valor |
| Argentina | Síncrono { "ResponseArca": "PEZFS…" "XmlAuthorization": "PQMDI…" } Asíncrono { "Country": "ar" "Certifier": "ARCA" "AuthorityTimeStamp": "21/02/2025 14:45:12" } | OtherData.ResponseArca | Respuesta de la Entidad Tributaria en base 64 |
| OtherData.XmlAtuhorization | Autorización de la Entidad Tributaria en base 64 | ||
| TherData.Country | Código del país | ||
| OtherData.Certifier | Entidad tributaria y/o Certificadora del documento | ||
| OtherData.AuthorityTimeStamp | Fecha y Hora de validación del documento | ||
| Chile | { "Country": "cl", "Certifier": "SII" } | OtherData.Country | Código del país |
| OtherData.Certifier | Entidad 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.Country | Código del país |
| OtherData.Certifier | Entidad tributaria y/o Certificadora del documento | ||
| OtherData.AuthorityTimeStamp | Fecha y Hora de validación del documento | ||
| OtherData.BarCodeText | Valor del código QR | ||
| OtherData.Folio | Numero fiscal del documento | ||
| OtherData.NumeroInterno | Numero interno del documento | ||
| OtherData.Serie | Serie del documento | ||
| Costa Rica | { "Country": "cr", "Certifier": "MH" } | OtherData.Country | Código del país |
| OtherData.Certifier | Entidad tributaria | ||
| Ecuador | { "Country": "ec", "Certifier": "SRI" } | OtherData.Country | Código del país |
| OtherData.Certifier | Entidad tributaria | ||
| Guatemala | { "Country": "gt", "Certifier": "Megaprint", "AuthorityTimeStamp": "15/07/2022 15:00:15", "Number": "3558819305", "Series": "557AC19C", "BarCodeText": "https…" } | OtherData.Country | Código del país |
| OtherData.Certifier | Certificador del documento | ||
| OtherData.AuthorityTimeStamp | Fecha y Hora de validación del documento | ||
| OtherData.Number | Numero fiscal del documento | ||
| OtherData.Series | Serie del documento | ||
| OtherData.BarCodeText | Valor 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.Country | Código del país |
| OtherData.AuthorityTimeStamp | Fecha y Hora de validación del documento | ||
| OtherData.Certifier | Certificador del documento | ||
| OtherData.BarCodeText | Valor del código QR | ||
| OtherData.NoCertificado | Numero fiscal del documento | ||
| OtherData.RFCEmisor | RFC del emisor del documento | ||
| OtherData.RFCReceptor | RFC del receptor del documento | ||
| Panamá | { "Country": "pa", "Certifier": "ebi", "AuthorityTimeStamp": "7/6/2022 11:00:56 PM", "BarCodeText": "https…" } | OtherData.Country | Código del país |
| OtherData.Certifier | Certificador del documento | ||
| OtherData.AuthorityTimeStamp | Fecha y Hora de validación del documento. | ||
| OtherData.BarCodeText | Valor del código QR | ||
| Perú | { "Country": "pe", "AuthorityTimeStamp": "15/07/2022 15:42:06", "BarCodeText": "20556695548 | 01 | FAPI |
| OtherData.AuthorityTimeStamp | Tipo 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.BarCodeText | Valor del código QR | ||
| OtherData.OseIdentifier | Validador del Documento (SUNAT/OSE) | ||
| El Salvador | Síncrono { "AuthorityTimeStamp": "2026-01-29T16:37:03", "ReceivedStamp": "20263EB3DE66966946C8B33B896715556DF7CREY", "Country": "sv", "Certifier": "DGI" } | OtherData. AuthorityTimeStamp | Fecha y Hora de validación del documento |
| OtherData. ReceivedStamp | Sello de recepción del documento aceptado | ||
| OtherData.Country | Código del país | ||
| OtherData.Certifier | Entidad 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) | ||
|---|---|---|
| Campo | Descripción | Valores permitidos |
| Clave* | Clave del documento al que se genera el acuse | 50 caracteres numéricos |
| NumeroCedulaEmisor* | Cedula del documento relacionado | 12 caracteres numéricos |
| FechaEmisionDoc* | Fecha y hora en la que se genera el acuse | aaaa-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 |
| DetalleMensaje | Campo para dar cualquier detalle adicional al mensaje | 160 caracteres |
| MontoTotalImpuesto | Monto del documento referenciado | Hasta 15 números enteros y hasta 5 decimales |
| CodigoActividad | Código de actividad que viene dentro del documento referenciado | Hasta 18 números enteros y hasta 5 decimales |
| MontoTotalImpuestoAcreditar | Total del impuesto del documento referenciado | Hasta 18 números enteros y hasta 5 decimales |
| TotalFactura* | Total del documento referenciado | Hasta 18 números enteros y hasta 5 decimales |
| NumeroCedulaReceptor* | Cédula del receptor del documento relacionado | 20 caracteres |
| NumeroConsecutivoReceptor | Consecutivo 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:

- Seleccione el tipo de método. En este caso, se debe seleccionar POST.
- Ingrese la URL del método.
- 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.
- Ingrese los parámetros que se muestran en la tabla que vemos a continuación con sus valores correspondientes.
- Presione Send.
Los parámetros, son los siguientes:
| SendDocumentToAuthority Mensaje Receptor (request) | |||
|---|---|---|---|
| Parámetro | Tipo | Descripción | Valores permitidos |
| fileContent | Array | Contenido del documento (Mensaje Receptor) | |
| Async | String | Al ser modelo asíncrono, se envía el valor true | true |
| Sign | String | Se envía el valor true para que sea firmado | true |
| defaultCertificate | String | Debido a que cada contribuyente debe firmar sus documentos con su propio certificado, se envía el parámetro false | false |
| mapping | Vacío | Este parámetro debe permanecer vacío | Vací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.

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:

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.

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:

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

- El usuario manda el DTE a la API.
- La API gestiona el documento para transformarlo en un JSON.
- Envía el JSON firmado a la Entidad Tributaria.
- La Entidad Tributaria emite su aceptación o rechazo sobre la invalidación.
- 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ámetro | Tipo | Descripción | Valores permitidos |
| FileContent* | String | Parámetro para incluir el archivo de invalidación | Archivo XML en formato JSON o base 64 |
| Async* | Boolean | Tipo de respuesta de la API | true (Síncrono) |
| Mapping* | String | Código de mapeo a utilizar para la transformación de la invalidación. | **Mapping:**f6deb258-6dd1-4d2a-89d1-dccd2495904d |
| Sign* | Boolean | Parámetro para indicar si se tiene que firmar el JSON | true (firma el JSON) false (No firma el JSON) |
| DefaultCertificate* | Boolean | Pará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]