Implementar Tipos Genericos
Descripción
Esta funcionalidad se incorpora al servicio de creación de documentos (Post Documento /backend/documento) agregando el
campo nro
en la creación del documento:
{
//...
"nro":
{
"tipo_visible": "string",
"nro_visible": "string",
"metadata": {
"numero": "string",
"anio": "integer",
"revision": "string",
"organismo":
{
"tipo_identificador": "string",
"identificador": "string"
}
}
}
//...
}
campo | obligatorio | default |
---|---|---|
tipo_visible | si | - |
nro_visible | no | se compone a partir de número, anio, revisión, organismo |
numero | si | - |
anio | no | año actual |
revision | no | se indica sin revisión, 00 |
organismo | no | valor de instalación (ver config) |
Unicidad de metadatos en tipos generales
Se valida unicidad al utilizar esta feature de Araí-Documentos mediante los siguientes campos:
nro
, instalacion
y tipo visible
Nombre | Tipo | Descripción | |
---|---|---|---|
nro.tipo_visible | string | Tipo de documento visible, puede coincidir con el campo tipo | |
nro.metadata.numero | int | Número del documento generado | |
nro.metadata.anio | int | De creación del documento | |
nro.metadata.revision | string | Para indicar versión del documento. Default "00" | |
nro.metadata.organismo.tipo_identificador | string | CUIT | CUIL |
nro.metadata.organismo.identificador | string | Número de CUIL | CUIT de la organizacion |
origen.origen_numeracion | int | Ver Origen Numeración |
Si ya esta utilizando la API de Documentos para asociar documentos dentro de Sudocu debe implementar utilizando el método 1. Si no tiene datos asociados aun en su sistema, utilice el método 2
Organismo
El campo organismo compuesto por tipo_identificador
e identificador
:
{
"nro": {
"organismo": {
"tipo_identificador": "string",
"identificador": "string"
},
//...
},
//...
}
Fue pensado para identificar que organismo genera un documento.
- En el caso de ser un organismo externo reconocido por el sistema, como por ejemplo una factura de un tercero, el sistema puede completar este campo.
- Por otro lado si el documento es generado por la institución se puede optar por indicar el organismo o utilizar el valor configurado en Araí-Documentos como se describe en la configuracion de organismo
Asociar en Sudocu
Cuando se envía a asociar a SUDOCU un documento, se utilizan los datos informados a Araí-Documentos de la siguiente forma:
{
"id_expediente": "id_tramite",
"id_usuario_idp": "id_usuario_sso",
"documento": {
"id_documento": "uid",
"titulo": "titulo",
"nro": {
"nro_visible": "nro_visible",
"tipo_visible": "tipo_visible",
"id_sistema_origen": "id_instalacion|origen_numeracion"
},
"autorizacion": [{
"usuario": "id_usuario",
"nivel": "basica|firma",
"creacion": "datetime"
},/*...*/
]
}
}
En la siguiente tabla se muestra un match entre los datos enviados a Araí-Documentos y los que se enviarán a Sudocu:
Envío a Sudocu | Post Documento en API de Documentos |
---|---|
id_expediente | id_tramite consultado en la API de SUDOCU |
id_usuario_idp | origen.id_usuario_sso |
documento.id_documento | uid interno generado en Documentos |
documento.titulo | titulo |
documento.nro.nro_visible | nro.nro_visible |
documento.nro.tipo_visible | nro.tipo_visible |
documento.nro.id_sistema_origen | origen.id_instalacion o origen.id_instalacion |
autorizacion | Listado de autorizaciones realizadas sobre un documento |
Método 1: Implementado tipos de documentos genéricos desde cero
Formato Post
Para este caso deben completarse los objetos origen
y nro
{
"tipo": "tipo",
"origen":
{
"id_usuario_sso": "nombre_usuario",
"id_instalacion": "id_instalacion"
},
"nro": {
"tipo_visible": "OP",
"nro_visible": "OP-0001-00001/2020-00-30270898617",
"metadata": {
"numero": "0001-69310397",
"anio": 2020,
"revision": "00",
"organismo":
{
"tipo_identificador": "CUIL",
"identificador": "30270898617"
}
}
},
"identificador": {/*...*/},
"titulo": /*...*/ ,
"descripcion":/*...*/,
"referencia_interna": {/*...*/},
"atributos": {/*...*/},
"id_tramite": /*...*/,
"autorizacion": {/*...*/},
"archivo": {/*...*/}
}
Método 2: Implementado tipos de documentos genéricos desde versión previa
Se toma como referencia la actual implementación de Pilagá y Diaguita para explicar que cambios deberían realizarse para utilizar tipos de documentos genéricos.
Formato de json a enviar
{
"tipo": "tipo",
"identificador": {/*json*/},
"origen":
{
"id_usuario_sso": "nombre_usuario",
"id_instalacion": "id_instalacion"
},
"titulo": /*...*/ ,
"descripcion":/*...*/,
"referencia_interna": {/*...*/},
"atributos": {/*...*/},
"id_tramite": /*...*/,
"autorizacion": {/*...*/},
"archivo": {/*...*/}
}
Campos encontrados en el atributo identificador
Algunos de los campos que se envían actualmente y su matcheo con el tipo genérico
campo | nuevo |
---|---|
identificador.tipo | nro.tipo_visible |
identificador.numero | nro.metadata.numero |
identificador.anio | nro.metadata.anio |
identificador.ejercicio | no se considera, reemplazar por nro.metadata.anio |
identificador.version | reemplazar por nro.metadata.revision ej: 00 , 01 |
identificador.titulo | no se considera - Eliminar |
identificador.tipo_ref | no se considera - Eliminar |
identificador.organismo | debe incluirse con el formato nro.metadata.organismo.tipo_identificador nro.metadata.organismo.identificador |
identificador.transaccion_ref | no se considera - Eliminar |
identificador.unidad_administrativa | no se considera - Eliminar |
Ejemplo ajustes a realizar
Vamos a revisar un ejemplo de como se envía el campo identificador actualmente y como debería modificarse:
{
"tipo":"OP",
"origen":{
"id_usuario_sso":"epresup",
"id_instalacion":"pilaga"
},
"identificador":{
"anio":"2020",
"titulo":"FACT 0001-69310397",
"nro_ref":"1821",
"version":"2020-09-30 03:01:52",
"tipo_ref":"C3",
"organismo":"30-27089861-7",
"transaccion_ref":2,
"unidad_administrativa":1000288
},
"titulo":"", //... etc
}
El siguiente json muestra como debería quedar con el nuevo formato:
{
"tipo": "OP",
"origen":{
"id_usuario_sso":"epresup",
"id_instalacion":"pilaga"
},
"nro":
{
"tipo_visible": "FACT",
"nro_visible": "FACT-0001-69310397/2020-00-30270898617",
"metadata": {
"numero": "0001-69310397",
"anio": 2020,
"revision": "00",
"organismo":
{
"tipo_identificador": "CUIL",
"identificador": "30270898617"
}
}
},
"titulo":"", //... etc
}
En el ejemplo anterior se compuso el nro_visible con el formato tipo_visible-numero/anio-version-organismo
se eliminaron los siguientes campos, debido a que no tienen significado en Araí-Documentos:
"titulo":"FACT 0001-69310397""nro_ref":"1821""version":"2020-09-30 03:01:52"reemplazado por revisión"tipo_ref":"C3""transaccion_ref":2"unidad_administrativa":1000288"organismo":"30-27089861-7"reemplazado por organismo con tipo e identificador