1         Introducción

Argentis Api es una solución creada para facilitar la integración de distintas aplicaciones externas con SAP B1, habilitando mediante Servicios provisto por el DIServer, encapsulados en Argentis Api para un más amigable consumo.

 

 


 

2         Servicios Habilitados

·         Bussines Partners

·         Inventory Transfer Request

·         Inventory Transfer

·         Invoice

·         Purchase Order

·         Purchase Quotation

·         Purchase Request

·         Purchase Invoice

·         Sales Order

·         Sales Quotation

·         Incomming Payment

·         Outgoing Payment

En todos estos servicios expuestos, se pueden realizar solamente las acciones de Alta y Modificaciones.

3         Creación Usuario Api

El usuario del tipo Api es el usuario con el cual se generar el token de acceso, sin este token no es posible utilizar los servicios provistos. La forma de generar este usuario es mediante el WebPortal, una vez ingresado al mismo se tiene que realizar los siguientes pasos.

a)       Ir a General Setting -> Users

 

 

 

 

 

 

 

 

 

 

 

 

 

b)       Luego ir a “Add User”

              

c)       Ingrese el Nombre de Usuario con su Password, seleccione el tipo de Usuarios -> Api, y presione Ok

d)        Al volver a la lista busque el usuario creado y asócielo con la compañía con la que usted desde que ese usuario y la Api trabaje.

e)       Una vez ingresado a “Companies”, ingrese el password del usuario SAP con que se registraran las acciones de la Api y oprima “Add to List”:

 

Siguiendo estos sencillos pasos ya estaría habilitado el usuario para poder usar la Api.

4         Generación de Token

Para las pruebas que se realizaran a continuación, se puede utilizar cualquier programa con el cual se pueda realizar peticiones Http, en este caso, se está utilizando  Advanced Rest Client (es una extensión de Chrome).

Como ya mencionamos anteriormente sin este Token, no se puede acceder a los distintos servicios de la Api, la duración del mismo es de 60 minutos, pasado este en necesario volver a Generarlo.

Llamada al Servicio:

 

A – Url del servicio, esta es de acuerdo como cada uno instale y configure el servicio en su IIS, en este caso es “integrationapi.com.ar”.

B – Usuario y Password generados en los pasos anteriores.

 

 

 

 

 

 

 

 

 

Respuesta de llamada:

A – Token Generado, el cual enviaremos a los demás servicio para poder consumirlos.

B – Session generada en DiServer

C – Fecha de expiración del token

 

5         Generación y Actualización de Bussines Partners

5.1      Para la Generacion

Url para llamar al servicio de Altas de “Bussines Partners”:

El parámetro en la url “pId”, relacionara el nuevo “BP” en SAPB1 con el de la aplicación externa con la que se quiera integrar.

 

A – Token generado en el paso anterior

B – Objeto en formato Json para Agregar (ver).

Repuesta del Servicio:

Cabe aclarar que en caso de no poder realizar la inserción del BP en SAPB1, nos devolverá el motivo por el cual no lo ha podido hacer, este mensaje es nativo de la DIServer.

 

 

 

 

5.2      Para la Actualizacion:

Url para llamar al servicio de Actualizacion de “Bussines Partners”:

La única diferencia al paso anterior, es solamente en la estructura del Json que se le envía, hay que enviarle la estructura sin el "CardCode".

 

Json utilizado para el ejemplo (ver)

 

 

 

 

 

 

 

 

 

 

 

6         Generación y Actualización de Documentos

La generación de los documentos es la misma para todos los tipos de documentos provisto en la Api, solo es necesario especificar el tipo de documento que deseemos agregar y/o modificar. A continuación se explicar uno de los documentos y para los demás se proveerá del formato de la url como así también el Json necesario para poder utilizarlo.

6.1      Para la creación de una Sales Order(SO)

Url para la creación:

El parámetro pDocuments es el que especifica el tipo de documento con el cual estamos interactuando, en este caso es “SalesOrder”

A -  En “DocEntry” se debe ingresar el Id con el cual se vinculara la SO generada en SAPB1 con la Aplicación externa.

B – Id del BP de la aplicación externa ya generado y vinculado en SAPB1.

 

El resultado en caso que este todo correctamente es “Ok”, en el caso de suceder algun tipo problema,  devolverá el error con su descripción.

6.2      Para la Actualización de una Sales Order(SO)

Url para la Actualización:

El Json enviado, posee el mismo formato y especificaciones que en el caso de la creación(ver).

Como se mención anteriormente, la utilización de los servicios de los documentos es la misma para todos, son basta con cambiar al tipo de documento que queremos utilizar, a continuación se proveerá las distintas Url y su Json para ser consumidos.

 

6.3      Sales Quotation

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=SalesQuotation

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=SalesQuotation

Json -> ver

 

6.4      Inventory Transfer

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=InventoryTransfer

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=InventoryTransfer

Json -> ver

 

 

6.5      Inventory Transfer Request

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=InventoryTransferRequest

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=InventoryTransferRequ

Json -> ver

 

6.6      Invoice

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=Invoice

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=Invoice

Json -> ver

 

6.7      Purchase Order

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=PurchaseOrder

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=PurchaseOrder

Json -> ver

 

6.8      Purchase Quotation

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=PurchaseQuotation

 

 

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=PurchaseQuotation

Json -> ver

 

6.9      Purchase Request

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=PurchaseRequest

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=PurchaseRequest

Json -> ver

 

6.10  Purchase Invoice

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=PurchaseInvoice

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=PurchaseInvoice

Json -> ver

 

6.11  Purchase Incomming Payment

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=IncommingPayment

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=IncommingPayment

Json -> ver

 

6.12 Outgoing Payment

Alta:

http://integrationapi.com.ar/ArgentisApi/AddDocument?pDocuments=OutgoingPayment

Modificación:

http://integrationapi.com.ar/ArgentisApi/UpdateDocument?pDocuments=OutgoingPayment

Json -> ver

Par los casos de Incomming y Outgoing payment en cada una de las líneas el campo “DocEntry”, hay que indicar la invoice a la cual el documento se hace referencia (es el id de la provista por la aplicación externa y la cuanl ya se encuentra vinculada a una en SAPB1).