---
# System prepended metadata

title: Documentación API Interoperabilidad MITUR

---


# Documentación API Interoperabilidad MITUR

## Descripción
Esta API permite la interacción con los servicios del MITUR. Los usuarios pueden crear solicitudes, subir documentos, agregar registros del grid, pagos, descarga de documentos, etc...

**Ultima actualizacion:** ==11/08/2024==
**Desarrollador:** ==Jossias Velazquez - j.velazquez@mitur.gob.do==

## URL Base
```
https://Tu-servidor-xroad/r1/DO/GOB/[INSTITUCION]/[SUBSISTEMA]/SOFTEXPERT/api
```

## Headers

| Key            | Value  | Obligatorio | Descripción                          |
|----------------|--------|-------------|--------------------------------------|
|`x-road-client` | string | Si          | Ejemplo: DO/GOB/MITUR/UCTT-TEST      | 
|`Athorization`  | string | No          | Ejemplo: Basic base64(email:password)|

## Autenticación
Esta API utiliza método de autenticación Basic, se le proveerá de un usuario y contraseña que deberá proveer vía heders en el siguiente formato:

**`Authorization: 'Basic ' + base64('email:password')`**

Todos los endpoints requieren de el usuario y password en formato base64 en los encabezados.

---

## Endpoints

### 1. Datos del servicio

#### GET /v2/services/{id}
Obtiene los datos del servicio, precios, formulario, pasos y toda la información necesaria para requerir el servicio desde una fuente externa
- **URL**: `/v2/services/{id}`
- **Método HTTP**: `GET`
- **Headers**: 
  - `x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA`
  - `Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=`


##### Ejemplo de Solicitud
```http
GET /v2/services/11 HTTP/1.1
Host: tu-servidor-xroad
x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
```
##### Respuesta Exitosa
- **Código HTTP**: `200 OK`
- **Cuerpo**:
  ```json
  {
    "success": true,
    "data": {
        "id": 11,
        "process_id": "DPP01EXT",
        "code_serv": "mitur-no-objecion-a-uso-de-suelo-1011",
        "name": "No Objeción a Uso de Suelo",
        "provider": "softexpert",
    }
  }
  ```

### 2. Workflows

#### POST /v2/workflows/create
Crea una instancia del workflow especificado

- **URL**: `/v2/workflows/create`
- **Método HTTP**: `POST`
- **Headers**: 
  - `x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA`
  - `Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=`


##### Cuerpo de la Solicitud
| Campo                      | Tipo   | Obligatorio | Valor fijo | Descripción                                                                       |
| -------------------------- | ------ | ----------- | ---------- | --------------------------------------------------------------------------------- |
| `workflow.processId`       | string | Sí          | Sí         | ID del proceso que se desea instanciar                                            |
| `workflow.workflowTitle`   | string | Sí          | No         | Titulo con el que desea identificar la solicitud                                  |
| `workflow.activityId`      | string | Sí          | Sí         | ID de la actividad donde se adjuntarán los documentos                             |
| `workflow.source`          | string | Sí          | Sí         | Origen desde donde se envía, uno de estos valores [PRO, VUC, UCTT]                |
| `workflow.entityAttribute` | array  | No          | No         | Arraglo de objetos del con datos del formulario                                   |
| `payment.amount`           | number | Si          | No         | Monto pagado                                                                      |
| `payment.approvalNumber`   | string | Si          | No         | Numero de aprobación de la transacción si fue pagado por SIRITE                   |
| `payment.documentReceipt`  | object | No          | No         | Objeto que contiene los datos del archivo de comprobante de pago.                 |
| `payment.folder`           | string | Si          | Si         | Categoria de asociacion de documento [DPPDE, CONFOTURDE, LICENCIASDE, MERCADEODE] |
| `payment.date`             | string | No          | No         | Fecha en la que se aplicó el pago (SIRITE)                                        |
| `payment.paymentMethod`    | string | Si          | No         | Metodo de pago utilizado "DEPOSITO/SIRITE"                                        |
| `children`                 | array  | No          | No         | Array de objetos para registros de grid                                           |
| `documents`                | array  | No          | No         | Array de objetos con datos de los documentos                                      |

##### Objetos
###### document
###### child
|Campo    | Tipo    | Obligatorio    | Valor fijo    |Descripción    |
|---------|---------|----------------|---------------|---------------|

###### documentReceipt

##### Ejemplo de Solicitud
```http
POST /api/v2/workflows/create HTTP/1.1
Host: tu-servidor-xroad
x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json

{
    "workflow": {
        "processId": "DPP01EXT",
        "workflowTitle": "Solicitud desde Prodominicana",
        "entityId": "mitur01",
        "source": "PRO",
        "activityId": "MITUR001",
        "entityAttribute": [
            {
                "entityAttributeId": "numsolvuc",
                "entityAttributeValue": "PROD-02"
            }
        ]
    },
    "payment": {
        "amount": 20000,
        "approvalNumber": "",
        "documentReceipt": {
            "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII",
            "filename": "comprobante-de-pago-mitur-2023-12-21-042549.png"
        },
        "folder": "DPPDE",//fijo
        "paymentDate": "",
        "paymentMethod": "DEPOSITO"
    },
    "children": [
        {
            "childRelationshipId": "datoscopropieta",
            "mainEntityId": "mitur01",
            "rows": [
                {
                    "entityAttributes": [
                        {
                            "entityAttributeId": "nombrecopropiet",
                            "entityAttributeValue": "pedo"
                        },
                        {
                            "entityAttributeId": "apellidoscoprop",
                            "entityAttributeValue": "soto"
                        }
                    ]
                }
            ]
        }
    ],
    "documents": [
        {
            "attributes": null,
            "categoryId": "DPPDE",
            "data": "https://www.antennahouse.com/hubfs/xsl-fo-sample/pdf/basic-link-1.pdf",
            "filename": "Registro Mercantil.pdf",
            "title": "Registro Mercantil 1"
        }
    ]
}
```

##### Respuesta Exitosa
- **Código HTTP**: `200 OK`
- **Cuerpo**:
  ```json
    {
        "valid": true,
        "data": {
            "status": "SUCCESS",
            "code": 1,
            "detail": "Workflow iniciado con éxito",
            "recordKey": "2784",
            "recordId": "DPP01-PRO-0060"
        }
    }
  ```

##### Errores Comunes
| Código HTTP | Código de Error | Mensaje                       |
|-------------|-----------------|-------------------------------|
| 401         | `UNAUTHORIZED`  | Token no válido o expirado    |
| 403         | `FORBIDDEN`     | No tienes permisos suficientes|
| 500         | `INTERNAL SERVER ERROR` | Error en la ejecución de la webservice|


#### PUT /v2/workflows/actions/resolve
Responde una acción requerida a un workflow en específico

- **URL**: `/v2/workflows/actions/resolve`
- **Método HTTP**: `PUT`
- **Headers**: 
  - `x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA`
  - `Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=`
##### Cuerpo de la Solicitud
| Campo       | Tipo   | Obligatorio | Descripción                                 |
|-------------|--------|-------------|---------------------------------------------|
| `workflowID`| string | Sí          | ID del workflow                             |
| `activityId`| string | Sí          | Actividad donde se encuentra la solicitud   |
| `documents` | array  | Sí          | Arreglo de documentos a subir               |


##### Ejemplo de Solicitud
```http
PUT /v2/workflows/actions/resolve HTTP/1.1
Host: tu-servidor-xroad
x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json

{
    "workflowId" : "DPP01-PRO-0060",
    "activityId" : "MITUR02312",
    "documents": [
         {
            "attributes": [
               {
                "AttributeId": "NumeroSolicitud",
                "AttributeValue" : "DPP01-PRO-0060"
                }
            ],
            "categoryId": "DPPDE",
            "data": "https://www.antennahouse.com/hubfs/xsl-fo-sample/pdf/basic-link-1.pdf",
            "filename": "Registro Mercantil.pdf",
            "title": "Registro Mercantil 2"
        }
    ]
}
```

---
### 2. Documentos
#### GET /v1/documents/{id}/download
Obtiene el documento en formato bas64

- **URL**: `/v1/documents/{id}/download`
- **Método HTTP**: `GET`
- **Headers**: 
  - `x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA`
  - `Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=`

##### Parámetros de consulta
| Parámetro       | Tipo   | Obligatorio | Descripción                                                                              |
|-----------------|--------|-------------|------------------------------------------------------------------------------------------|
| `asLink`        | int    | No          | Enviar valor `1` si se requiere el documento en una url en vez del base64                |

##### Ejemplo de Solicitud
```http
GET /v1/documents/DPPPLANOSDEFINITIVOS000016/download HTTP/1.1
Host: tu-servidor-xroad
x-road-client: DO/GOB/INSTITUCION/SUBSISTEMA
Authorization: Basic <token>
```
##### Respuesta Exitosa
- **Código HTTP**: `200 OK`
- **Cuerpo**:
  ```json
  {
   "valid": true,
   "data": [
        {
            "filename": "RESOLUCION OCEAN BLUE & SANDS.pdf",
            "data": "https://dev.softexpert.mitur.gob.do/se/v34014/temp/2a4a426d-577b-4ed4-b5f7-c9f27263cc49843507717620365617.pdf"
        }
    ]
  }
  ```

##### Errores Comunes
| Código HTTP | Código de Error | Mensaje                       |
|-------------|-----------------|-------------------------------|
| 401         | `UNAUTHORIZED`  | Datos de usuarios inválidos   |
| 403         | `FORBIDDEN`     | No tienes permisos suficientes|
| 404         | `NOT FOUND`     | Documento no encontrado



## Notas adicionales
- Asegurate de usar la versión correcta (en la url) al consumir un endpoint.
- Esta documentación está en desarrollo y puede ser actualizada en cualquier momento.
- Para solicitar un usuario de pruebas contactar al desarrollador.

