Integración a OasisCom con API

Documentacion

Ver en GitHub

INTEGRACIÓN A OASISCOM POR MEDIO DE API

La interfaz de conexión es un servicio RESTful web api 2 de tipo POST, el cual proporciona un conjunto fácil de usar de puntos finales HTTP quee recibe sus parámetros por medio de un objeto Content tipo “MultipartFormDataContent”, incluidos usuarios, publicaciones y más, además de que permite recuperar o actualizar datos.

Dicho objeto consta de los siguientes parámetros:

IMPORTANTE: Los paramétros descritos a continuación, son insumos proporcionados por OasisCom para la realización de la respectiva integración.

EJEMPLO DE CONEXIÓN EN C# (VISUAL STUDIO 2017)

Inicialmente se ingresa una variable de tipo HttpClient, donde dentro de ella se declara el objeto MultipartFormDataContent con sus respectivos argumentos y el archivo Base64 correspondiente. Nota: Debe tener en cuenta que en este ejemplo al ser un tipo de publicación de bajada (B) los parametros de los archivos estarán vacíos StringContent(““).

EJEMPLO C# - VISUAL STUDIO

//———–CODIGO FUENTE————————

*ESTE CODIGO ES SOLO UN EJEMPLO DE LA CONEXIÓN AL SERVICIO Y NO ES PARA USO FUNCIONAL, MUESTRA LA CONEXIÓN A OASISCOM MEDIANTE EL USO DE CLASES RECOMENDADAS DE C#.

 //CONEXIÓN A OASISCOM VIA HTTPCLIENT()
 string pCompanyId,
 string pFileContent,
        string pFileName,
 string pPublicationId,
        string pPublicationType = "S",
        string pURI = "https://app.oasiscom.com/api/oasisapi/ExecuteInterface",
        string puserid = “correousuario@company.com”,
 string pass = “Clavedeusuario”,
 string connexion = "OasisCom"

        HttpResponseMessage response = null;
        string ParamsWebApi = pCompanyId + ";" + pPublicationId + ";" + pPublicationType;
        string XmlDocumentWebApi = pFileContent;
        byte[] toBytes = Encoding.ASCII.GetBytes(XmlDocumentWebApi);
        string base64Encoded = Convert.ToBase64String(toBytes);
        string returnMessage = string.Empty;

        using (var client = new HttpClient())
        {
            //SE CONCATENA EL USUARIO Y CONTRASEÑA O PALABRA ESPECIAL PARA INTIFICAR DE DONDE LLEGA LA PETICION. 
            ParamsWebApi = puserid + ";" + ConvertStringToHexadecimal(pass, Encoding.UTF8) + ";" + connexion + ";" + ParamsWebApi;
            var requestUri = pURI;
            //specify to use TLS 1.2 as default connection
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
            var content = new MultipartFormDataContent();
            content.Add(new StringContent(ParamsWebApi.Trim()), "pArguments");
            content.Add(new StringContent(base64Encoded), "pFileBase64");
            content.Add(new StringContent(pFileName), "pFilename");
            response = await client.PostAsync(requestUri, content);

            if (response.IsSuccessStatusCode)
            {
                string messageresp = await response.Content.ReadAsStringAsync();
                returnMessage = MessageType.Success.ToString() + " - " + messageresp;
            }
            else
            {
                string messageresp = await response.Content.ReadAsStringAsync();
                returnMessage = MessageType.Error.ToString() + " - " + messageresp;
            }
        }
        return returnMessage;

//———–FINAL DE CODIGO FUENTE———–

EJEMPLO CON SOFTWARE POSTMAN

WEB API

A continuación se describirá una prueba ejecución del API desde la plataforma OasisCom

Por medio de la opción BAPI se realizan pruebas de servicios creados en OasisCom mostrando la respuesta en formatos .XML y .JSON:

Posteriormente, se dará clic en el botón Test Web Api:

Se puede ver el resultado al ejecutar el API.

Así pues de esta manera se realiza la integración a OasisCom a través de un API.

EndPoint CARGA DE PRODUCTOS

Para realizar la carga de nuestros productos , debemos ingresar al ENDPOINT 40000 en la aplicacion BINT

En este BINT se deben cargar los productos en un archivo JSON con la siguiente estructura.

EndPoint CARGA DE TERCEROS

Para realizar la carga de los clientes , debemos ingresar al ENDPOINT 40001 en la aplicacion BINT

En este BINT se deben cargar los clientes en un archivo JSON con la siguiente estructura.

EndPoint CARGA DE MOVIMIENTOS DE INVENTARIO

Para realizar la carga de nuestros movimientos de inventario , debemos ingresar al ENDPOINT 40002 en la aplicacion BINT

En este BINT se deben cargar los movimientos de inventario

en un archivo JSON con la siguiente estructura.