HomeDocumentaciónAPI EndpointsNovedades
Log In

Proceso de certificación

En esta página encontrarás toda la información necesaria para el proceso de certificación ante la DGII

El proceso de certificación es aquel que permite a una compañía volverse proveedor y receptor electrónico. A continuación, se indica el proceso de certificación en la API:

1. Obtener la información necesaria para la postulación

Para iniciar el proceso de certificación, se debe comenzar con la postulación y para esto es necesario obtener la información de Alanube y la información de las url de recepción.

Para obtener la información de Alanube, se puede consumir el endpoint https://api.alanube.co/dom/v1/provider-info, donde se obtendrá la siguiente información y será necesaria para llenar en el portal de la DGII:

{
    "data": {
        "softwareType": {
            "description": "Tipo de software",
            "value": "EXTERNO"
        },
        "softwareName": {
            "description": "Nombre del software",
            "value": "Alanube"
        },
        "softwareVersion": {
            "description": "version",
            "value": 1
        },
        "providerData": {
            "description": "Datos del proveedor",
            "rnc": {
                "description": "RNC/Cedula del proveedor",
                "value": 132109122
            },
            "name": {
                "description": "Nombre/Razón social del proveedor",
                "value": "Alanube Soluciones SRL"
            },
            "tradeName": {
                "description": "Nombre comercial",
                "value": "Alanube Soluciones"
            }
        }
    }
}

Adicionalmente, se deberá consultar las urls de la compañía registrada en Alanube, estas se pueden obtener facilmente al momento de crear la compañía o consultando la información de la misma dentro del atributo companyUrls.

{
...
"companyUrls": {
        "reception": "https://api.alanube.co/dom/v1/...",
        "approval": "https://api.alanube.co/dom/v1/...",
        "authentication": "https://api.alanube.co/dom/v1/..."
    },
...
}

2. Firmado de XML de postulación.

Del paso anterior, la DGII brinda un archivo XML el cual se deberá firmar utilizando el certificado de la compañía en proceso de certificación, para ello cargar el archivo y enviarlo al endpoint POST https://app.alanube.co/dom/v1/sign-document para compañía principal ó https://ap.alanube.co/dom/v1/sign-document/idCompany/{idCompany} para compañías asociadas.

Esto retornará un link para descargar el archivo XML firmado, el cual deberá ser cargado en la DGII para activar el ambiente de certificación el cual es necesario para iniciar el set de pruebas.

{
    "signedDocumentUrl": "http:/api-alanube-e-provider-dom-prod/..."
}

3. Generación del set de pruebas

Una vez cargado el archivo del paso anterior, la DGII activará el ambiente de certificación para la compañía. Es aquí donde se deberá consumir el endpoint POST https://app.alanube.co/dom/v1/set-tests.

De no tener un set de pruebas en progreso, este endpoint creará un set de pruebas, el cual consta de cada uno de los documentos necesarios para el proceso de certificación. Finalmente, retornando un id para consultar el set de pruebas.

Lista de documentos incluidos en el set de pruebas:

  • 1 Factura de Crédito Fiscal Electrónica (31)
  • 1 Factura de Consumo Electrónica (32)
  • 1 Factura para Regímenes Especiales Electrónico (44)
  • 1 Factura Gubernamentales Electrónicas (45)
  • 1 Factura de Exportación Electrónica (46)
  • 1 Nota de Débito Electrónica (33)
  • 1 Nota de Crédito Electrónica (34)
  • 1 Compra Electrónica (41)
  • 1 Gasto Menor Electrónico (43)
  • 1 Comprobante para Pagos al Exterior Electrónico (47)
  • Objeto que contiene 10 Resumenes electrónicos (32 menores a 250.000) y la url del zip que contiene los 10 pdf, 10 xml de resumenes y 10 xml de la factura de consumo

Al consultar el set de pruebas en el endpoint correspondiente (por compañía principal ó por id de compañía), este retornará el estado actual del set de pruebas junto con la información de los 20 documentos. Esta información incluye: número del documento (para facilidad del proceso), tipo de documento, id del documento, estado del documento, url del XML y url del PDF.

{
  "testId": "01FVD24VJCXBARM1XRYZ71Y97B",
  "status": "ACCEPTED,",
  "idCompany": "01FVD6QRP3HB40GZVW5SQGV29V",
  "documentsInfo": [
    {
      "documentType": "creditNote",
      "idDocument": "01FVD6QRP3QKE2Y7FTFABTH0N7",
      "status": "ACCEPTED",
      "encf": "E340000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "debitNote",
      "idDocument": "01FVD6QRP3ZBCRHK7027ZDTPKM",
      "status": "ACCEPTED",
      "encf": "E330000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "exportSupport",
      "idDocument": "01FVD6QRP30E03DQPHW72WJH5B",
      "status": "ACCEPTED",
      "encf": "E460000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "fiscalInvoice",
      "idDocument": "01FVD6QRP3HB40GZVW5SQGV29V",
      "status": "ACCEPTED",
      "encf": "E310000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "gubernamental",
      "idDocument": "01FVD6QRP3WRB80AMJGR1XHP35",
      "status": "ACCEPTED",
      "encf": "E450000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "invoice",
      "idDocument": "01FVD6QRP3EG6FN2XTT74MJ2X9",
      "status": "ACCEPTED",
      "encf": "E320000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "minorExpense",
      "idDocument": "01FVD6QRP32M9Z8XF9ZEQ7N6R3",
      "status": "ACCEPTED",
      "encf": "E430000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "paymentAbroadSupport",
      "idDocument": "01FVD6QRP3SJYXQXQXPX9YQJNF",
      "status": "ACCEPTED",
      "encf": "E470000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "purchase",
      "idDocument": "01FVD6QRP398VBPEX7Z7Q0F9DA",
      "status": "ACCEPTED",
      "encf": "E410000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    },
    {
      "documentType": "specialRegime",
      "idDocument": "01FVD6QRP42MTKGMX6HN8XMHAE",
      "status": "ACCEPTED",
      "encf": "E440000001820",
      "xml": "https://api-alanube-e-provider-dom-test.s3...",
      "pdf": "https://api-alanube-e-provider-dom-test.s3..."
    }
  ],
  "resumesInfo": {
    "zipUrl": "https://api-alanube-e-provider-dom-test.s3...",
    "documents": [
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP45PZYTDNP2WMD6Y7S",
        "status": "ACCEPTED",
        "encf": "E320000002820"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4WCX992RJEBN4Z1H2",
        "status": "ACCEPTED",
        "encf": "E320000002821"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4NW6W5D3JCC4HJDB7",
        "status": "ACCEPTED",
        "encf": "E320000002822"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4GPPHK1YSBWW5Z7GX",
        "status": "ACCEPTED",
        "encf": "E320000002823"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP44GDFNP30P7RW08B3",
        "status": "ACCEPTED",
        "encf": "E320000002824"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4P9RXCR4M9AF3NY5J",
        "status": "ACCEPTED",
        "encf": "E320000002825"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4YN45YX17JNF3WT9K",
        "status": "ACCEPTED",
        "encf": "E320000002826"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4DYKG8S8ENA3PECP9",
        "status": "ACCEPTED",
        "encf": "E320000002827"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP4ASNYBGRG60DB6SSB",
        "status": "ACCEPTED",
        "encf": "E320000002828"
      },
      {
        "documentType": "resume",
        "idDocument": "01FVD6QRP49ZNYK874TM98G1TB",
        "status": "ACCEPTED",
        "encf": "E320000002829"
      }
    ]
  }
}

De estos documento, deberán descargarse los XMLs y PDFs brindados. Posteriormente, el usuario deberá cargar estos documentos en el portal de la DGII y esperar a ser aprobadas por la misma.

4. Firmado de la declaración jurada

Del paso anterior, la DGII brinda un archivo XML llamado declaración jurada, el cual se deberá firmar igualmente utilizando el certificado de la compañía en proceso de certificación, para ello cargar el archivo y enviarlo al endpoint POST https://app.alanube.co/dom/v1/sign-document para compañía principal ó https://app.alanube.co/dom/v1/sign-document/idCompany/{idCompany} para compañías asociadas.

Esto retornará un link para descargar el archivo XML firmado, que será cargado nuevamente en la DGII.

5. Asignación de roles y firmado

Se deberá asignar los roles en el portal de la DGII asignando el permiso Alanube para emitir sus documentos electrónicos.

Finalmente, se deberá firmar XML de asignación de roles entregados por la DGII usando el endpoint POST https://app.alanube.co/dom/v1/sign-document para compañía principal ó https://app.alanube.co/dom/v1/sign-document/idCompany/{idCompany} para compañías asociadas, tal como en los pasos anteriores se procederá a cargar ante el portal de la DGII.