Está en la página 1de 14

Guía Técnica Web Services Integración

Proceso funcional recepción

Versión 2.1 – 04 de agosto de 2020


Contenido
Introducción ................................................................................................................... 2

Estándar comunicación y seguridad ............................................................................... 3


Consumo de servicio web – Consulta documento Invoice, CreditNote, DebitNote en
estado Aceptado ............................................................................................................ 4

Petición del servicio ............................................................................................................ 4


Respuesta del servicio ....................................................................................................... 5
Consumo de servicio web – Cambia el estado del documento recepcionado en la
plataforma...................................................................................................................... 9

Petición del servicio ............................................................................................................ 9


Respuesta del servicio ..................................................................................................... 10

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


Introducción

Noova ha desarrollado servicios web para el proceso de operación de recepción de facturación electrónica de
proveedores. Estos servicios permiten la integración entre Noova como herramienta principal de
almacenamiento de los documentos y los sistemas externos facturadores de tipo ERP, entre otros y por medio
de estos se hace entrega en la aplicación de los datos del documento y los documentos soporte que hacen
parte de estos.

Por medio de este documento se realiza el apoyo técnico del servicio web de integración de facturación
electrónica de proveedores.

-URL servicio SOAP: Entregada en el proceso de implementación

Ejemplo: https://{ambiente}/servicies/facproveedor.asmx

La variable [ambiente] en el proceso de implantación corresponde a la instancia de la aplicación ya sea en


entorno de pruebas o en entorno de producción según corresponda.

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


Estándar comunicación y seguridad

SEGURIDAD DEL SERVICIO DESCRIPCIÓN:


- El servicio está expuesto mediante SOAP.
- Para Autenticación del servicio se utiliza “Basic Auth”.
- Transporte del mensaje se realiza mediante HTTPS.

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


Consumo de servicio web – Consulta documento Invoice, CreditNote, DebitNote
en estado Aceptado

Petición del servicio

a. Consumo del servicio mediante SOAP

Especificación técnica petición del servicio web consulta documentos disponibles:


El consumo se envía mediante HTTPS,

Método: GetDocument

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthHeader xmlns="http://Noova/">
<Username>string</Username>
<Password>string</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<GetDocument xmlns="http://Noova/">
<Nvemp_nnit>string</Nvemp_nnit>
</GetDocument>
</soap:Body>
</soap:Envelope>

b. Consumo del servicio mediante REST

El servicio se realiza la petición mediante Get, con la siguiente estructura:


https://{instancia}/api/FacProveedor?nvemp_nnit=999888777&nvfac_esta=E, valores posibles de
nvfac_esta [E=Recibida, A=Aceptada]

Ejemplo de cabecera autenticacion usuario y password:

Authorization: Basic dXN1YXJpb19pbnRlZ3JhY2lvbjpwYXNzd29yZF9pbnRlZ3JhY2lvbg==


Content-Type: application/json
Host: localhost
Content-Length: 967
Expect: 100-continue
Connection: Keep-Alive

Autorización se utiliza mediante usuario y password entregados por Noova,


Authorization: Basic {base64_encode(username:password)}

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


Ejemplo de cabecera autenticacion Token:

Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IlZpbGxlZ2FzbGciLCJuYmYiOjE1
OTI4NzU5OTAsImV4cCI6MTU5Mjg5Mzk5MCwiaWF0IjoxNTkyODc1OTkzLCJpc3MiOiJodHRwOi8vb
G9jYWxob3N0L25vb3ZhYXBpIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdC9ub292YWFwaSJ9.8P0RzTf
K9qJYi6GwH_H1O51XGywGZ3c9BWE7zhHmY5w
Content-Type: application/json
Connection: Keep-Alive

Tabla relación de atributos en la petición:

Nombre del
DTODocument
Objeto

CAMPO DESCRIPCIÓN TIPO DE DATO TAMAÑO OBLIGATORIO OBSERVACIONES


NIT de la empresa sin
NVEMP_NNIT Nit de la empresa string 20 S digito de verificación.

Respuesta del servicio


a. Respuesta servicio SOAP
Respuesta fallida
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
< GetDocument Response xmlns="http://Noova/">
< GetDocument Result>
<Result>1</Result>
<Description>Error al consumir: El usuario no es válido</Description>
</ GetDocument Result>
</ GetDocument Response>
</soap:Body>
</soap:Envelope>

Respuesta exitosa

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDocumentResponse xmlns="http://noova/">
<GetDocumentResult>
<Result>0</Result>

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


<Description>ok</Description>
<Document>
<Nvfac_cont>135567</Nvfac_cont>
<Nvtip_docu>F</Nvtip_docu>
<Nvfac_nume>35167890</Nvfac_nume>
<Nvfac_cufe>fgfuhj78CfgbHnj879hyFcVVcggglj678</Nvfac_cufe>
<Nvpro_nomb>MEDIA COMMERCE</Nvpro_nomb>
<Nvpro_ndoc>819006966</Nvpro_ndoc>
<Nvfac_fech>2020/06/27</Nvfac_fech>
<Nvmon_codi>COP</Nvmon_codi>
<Nvfac_totp>1875000</Nvfac_totp>
<Nvfac_esta>N</Nvfac_esta>
<Nvfac_rfec>2020/06/27</Nvfac_rfec>
<Nvfac_orde>1328765</Nvfac_orde>
<Nvfac_rece>54327</Nvfac_rece>
<Nvfac_refe>897653</Nvfac_refe>
<Nvsuc_codi>001</Nvsuc_codi>
</Document>
<lAttached>
<DTOAttached>
<Nvdoc_tipo>01 </Nvdoc_tipo>
<Nvdoc_nomb>adjunto1</Nvdoc_nomb>
<Nvdoc_file>base64Binary</Nvdoc_file>
</DTOAttached>
<DTOAttached>
<Nvdoc_tipo>02</Nvdoc_tipo>
<Nvdoc_nomb>adjunto2</Nvdoc_nomb>
<Nvdoc_file>base64Binary</Nvdoc_file>
</DTOAttached>
</lAttached>
</GetDocumentResult>
</GetDocumentResponse>
</soap:Body>
</soap:Envelope>

b. Respuesta servicio REST

{
"Document": {
"Nvfac_cont": 7129,
"Nvtip_docu": "F",
"Nvfac_nume": "1",
"Nvfac_cufe": null,
"Nvpro_nomb": "1",
www.noova.com.co www.mentum.group Tel: (571+) 744 15 15
"Nvpro_ndoc": "1",
"Nvfac_fech": "2020-01-17T00:00:00-05:00",
"Nvmon_codi": "COP",
"Nvfac_totp": 1000.0,
"Nvfac_esta": "E",
"Nvfac_rfec": "2020-01-13T18:28:43-05:00",
"Nvfac_orde": null,
"Nvfac_rece": null,
"Nvfac_refe": null,
"Nvsuc_codi": null
},
"lAttached": [
{
"Nvdoc_tipo": "XML",
"Nvpla_nomb": null,
"Nvdoc_nomb": null,
"Nvdoc_file": null,
"Nvdoc_attr": []
},
{
"Nvdoc_tipo": "PDF",
"Nvpla_nomb": null,
"Nvdoc_nomb": "favicon.ico",
"Nvdoc_file": "AAABAAEAQEAAA",
"Nvdoc_attr": []
},
{
"Nvdoc_tipo": "PDF",
"Nvpla_nomb": null,
"Nvdoc_nomb": "bootstrap.js",
"Nvdoc_file": "LyogTlVHRVQ6IE",
"Nvdoc_attr": []
}
],
"Result": 0,
"Description": ""
}

RESPUESTA SERVICIO DTODocument


CAMPO DESCRIPCIÓN

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


RESULT 1=Ocurrió un Error, 0 = El servicio fue consumido Correctamente
DESCRIPTION Descripción del Error si RESULT=1
NVFAC_CONT Corresponde al consecutivo interno del documento almacenado
NVTIP_DOCU Corresponde al tipo de documento, valores posibles: F (Factura/Invoice); C (nota crédito); D (nota débito)
NVFAC_NUME Número del documento
NVFAC_CUFE CUFE almacenado que identifica al documento
NVPRO_NOMB Nombre del proveedor
NVPRO_NDOC Número de identificación del proveedor
NVFAC_FECH Fecha del documento
NVMON_CODI Código de la moneda
NVFAC_TOTP Total, a pagar del documento
NVFAC_ESTA Corresponde al estado del documento, valores posibles: A (aceptada)
NVFAC_RFEC Fecha de recepción en Noova
NVFAC_ORDE Numero de orden de compra
NVFAC_RECE Numero de recepción
NVFAC_REFE Numero de referencia (remisión, HC)
NVSUC_CODI Código de la sucursal

RESPUESTA SERVICIO DTOAttached


CAMPO DESCRIPCIÓN
Corresponde al código de plantilla asignado al archivo adjunto, Ej: 01 (documento soporte XXXX); 02 (documento
NVDOC_TIPO soporte XXXX)
NVDOC_NOMB Nombre del archivo asignado al adjunto
NVDOC_FILE Documento adjunto en formato base 64 binario.

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


Consumo de servicio web – Cambia el estado del documento recepcionado en la
plataforma

Petición del servicio

a. Consumo del servicio mediante SOAP

Especificación técnica petición del servicio web consulta documentos disponibles:


El consumo se envía mediante HTTPS,

Método: SetState

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthHeader xmlns="http://Noova/">
<Username>string</Username>
<Password>string</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<SetState xmlns="http://Noova/">
<Nvemp_nnit>string</Nvemp_nnit>
<Nvpro_ndoc>string</Nvpro_ndoc>
<Nvfac_cont>int</Nvfac_cont>
<Nvfac_esta>string</Nvfac_esta>
<Nvint_desc>string</Nvint_desc>
</SeteState>
</soap:Body>
</soap:Envelope>

b. Consumo del servicio mediante REST

El consumo del servicio para el cambio de estado se realiza mediante POST, a la URL:
https://{instancia}/api/FacProveedor

Ejemplo de cabecera autenticacion usuario y password:

Authorization: Basic dXN1YXJpb19pbnRlZ3JhY2lvbjpwYXNzd29yZF9pbnRlZ3JhY2lvbg==


Content-Type: application/json
Host: localhost
Content-Length: 967
Expect: 100-continue
Connection: Keep-Alive

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


Autorización se utiliza mediante usuario y password entregados por Noova,
Authorization: Basic {base64_encode(username:password)}

Ejemplo de cabecera autenticacion Token:

Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IlZpbGxlZ2FzbGciLCJuYmYiOjE1
OTI4NzU5OTAsImV4cCI6MTU5Mjg5Mzk5MCwiaWF0IjoxNTkyODc1OTkzLCJpc3MiOiJodHRwOi8vb
G9jYWxob3N0L25vb3ZhYXBpIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdC9ub292YWFwaSJ9.8P0RzTf
K9qJYi6GwH_H1O51XGywGZ3c9BWE7zhHmY5w
Content-Type: application/json
Connection: Keep-Alive

ejemplo del body:

{
"Nvemp_nnit" : "999888777",
"Nvpro_ndoc" : "666555444",
"Nvfac_cont" : 45,
"Nvfac_esta" : "N",
"Nvint_desc" : "Integración con ERP es exitosa"
}

Tabla relación de atributos en la petición:

Nombre del
DTOSetState
Objeto

CAMPO DESCRIPCIÓN TIPO DE DATO TAMAÑO OBLIGATORIO OBSERVACIONES


NIT de la empresa sin
NVEMP_NNIT Nit de la empresa string 20 S digito de verificación.
NIT del proveedor sin
NVPRO_NDOC Número del documento del proveedor String 20 S digito de verificación.
Código interno asignado
por Noova en los registros
y que es entregado en el
Corresponde al consecutivo interno del response del primer
NVFAC_CONT documento almacenado Int 10 S servicio
Estado del documento,
valores posibles: N
(enviada erp); C
NVFAC_ESTA Estado del documento String S (rechazada ERP)
Corresponde a la
descripción del resultado
de la integración en el
NVINT_DESC Descripción del estado String 50 S ERP

Respuesta del servicio


a. Respuesta servicio SOAP

Respuesta fallida

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SetStateResponse xmlns="http://Noova/">
<SetStateResult>
<Result>1</Result>
<Description>Error al consumir: El usuario no es válido</Description>
</SetStateResult>
</SetStateResponse>
</soap:Body>
</soap:Envelope>

Respuesta exitosa

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SetStateResponse xmlns="http://noova/">
<SetStateResult>
<Result>0</Result>
<Description>ok</Description>
<Document>
<Nvfac_cont></Nvfac_cont>
<Nvtip_docu></Nvtip_docu>
<Nvfac_nume></Nvfac_nume>
<Nvfac_cufe></Nvfac_cufe>
<Nvpro_nomb></Nvpro_nomb>
<Nvpro_ndoc></Nvpro_ndoc>
<Nvfac_fech></Nvfac_fech>
<Nvmon_codi></Nvmon_codi>
<Nvfac_totp></Nvfac_totp>
<Nvfac_esta></Nvfac_esta>
<Nvfac_rfec></Nvfac_rfec>
<Nvfac_orde></Nvfac_orde>
<Nvfac_rece></Nvfac_rece>
<Nvfac_refe></Nvfac_refe>
<Nvsuc_codi></Nvsuc_codi>
</Document>
<lAttached>
<DTOAttached>
<Nvdoc_tipo></Nvdoc_tipo>
<Nvdoc_nomb></Nvdoc_nomb>
<Nvdoc_file></Nvdoc_file>

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


</DTOAttached>
<DTOAttached>
<Nvdoc_tipo></Nvdoc_tipo>
<Nvdoc_nomb></Nvdoc_nomb>
<Nvdoc_file></Nvdoc_file>
</DTOAttached>
</lAttached>
</SetStateResult>
</SetStateResponse>
</soap:Body>
</soap:Envelope>

b. Respuesta servicio REST

Respuesta fallida

{
"Document": null,
"lAttached": null,
"Result": 1,
"Description": "Error al actualizar documento: Nit de empresa [999888777] incorrecto.."
}

Respuesta Exitosa

{
"Document": null,
"lAttached": null,
"Result": 0,
"Description": ""
}

RESPUESTA SERVICIO DTOSetState


CAMPO DESCRIPCIÓN
RESULT 1=Ocurrió un Error, 0 = El servicio fue consumido Correctamente
DESCRIPTION Descripción del Error si RESULT=1

www.noova.com.co www.mentum.group Tel: (571+) 744 15 15


www.noova.com.co www.mentum.group Tel: (571+) 744 15 15

También podría gustarte