API o servicios deSterling Order Management System

Las API de Sterling™ Order Management Sistema se proporcionan de fábrica para la mayoría de las entidades empresariales en Sterling Order Management Sistema para realizar operaciones de LECTURA. Puede buscar datos, listar datos u obtener información detallada perteneciente a la entidad de la base de datos en la nube llamando a estas API. Las aplicaciones de Sterling Order Management System también utilizan estas API para publicar datos en sus propias interfaces de usuario. Se puede llamar a las mismas API tanto desde XAPI como desde los verificadores de API REST que están disponibles de forma predeterminada o desde una interfaz de usuario personalizada o desde un cliente REST de tercerostercero . Para llamar a las API, debe proporcionar las credenciales de inicio de sesión para autenticar el usuario. Los verificadores de API capturan esta información junto con la entrada de API. Mientras que las interfaces de usuario de Sterling Order Management System envían las credenciales del usuario que ha iniciado la sesión junto con la solicitud. El programa de fondo Sterling Order Management System autentica primero al usuario y, a continuación, se inicia con el proceso de solicitud de API.

El comportamiento de la API y las especificaciones de entrada/salida XML se proporcionan en el Javadoc de Sterling Order Management System . Consulte <runtime>/xapidocs/api_javadocs/index.html para obtener más detalles. Del mismo modo, consulte la página <runtime>/xapidocs/restdoc/index.html para conocer los recursos de URL REST y las especificaciones de entrada o salida.

El enfoque XML da soporte a consultas complejas con expresiones AND o OR y coincidencia de consulta avanzada como 'Contains’,'Starts with', Only Null , etc., y los operadores relacionales. En el enfoque REST, las consultas complejas no están soportadas en la solicitud GET , pero también es posible realizar una solicitud POST con uno o más criterios complejos.

Las solicitudes de API se procesan de forma síncrona en la JVM del servidor de aplicaciones y las respuestas se devuelven al navegador. Si está llamando a una API con un criterio vacío o pasando algunos criterios que pueden captar un gran volumen de datos, puede ahogar el tráfico de red y, a veces, incluso bloquear el servidor de aplicaciones. Por lo tanto, IBM recomienda encarecidamente a los usuarios que disuadan este tipo de situaciones y aconseja introducir criterios más específicos y recuperar sólo los datos relevantes.

Una solución a esto es utilizar Paginación. Hay muchas API de Sterling Order Management System que dan soporte a la paginación y se recomienda llamar a estas API con Pagination. Lea el Javadoc de la API de Sterling Order Management System para saber si una API da soporte a la paginación o no. Casi todas las API están controladas por plantillas y es muy importante especificar una plantilla ajustada con los atributos necesarios, al recuperar un gran volumen de datos. En todos los casos, es mejor obtener un recuento de registros primero para evaluar la cantidad de datos y, a continuación, ejecutar las API en modalidad paginada o hacer que los criterios de entrada sean más específicos. Se puede llamar a todas las API de lista para 'count' especificando una plantilla de salida sólo con el atributo TotalNumberOfRecords .

Ambos verificadores de API no están disponibles en el entorno de producción. Por lo tanto, se recomienda realizar llamadas REST desde su interfaz de usuario personalizada o desde un cliente REST de 3terceros con credenciales de autenticación de soporte. Pocos clientes REST de tercerosterceros admiten también la descarga de las respuestas. Es mejor descargar y analizar cuando los resultados son bastante altos.

Tabla 1. API REST de ejemplo
Patrón de API Ejemplo de URL REST
getOrderList -entrada vacía GET
https://<ip>:<port>/smcfs/restapi/order
getOrderList -con parámetros de entrada GET
https://<ip>:<port>/smcfs/restapi/order?EnterpriseCode=~eq~Matrix&DocumentType=~eq~0001
getOrderList -con parámetros de entrada y orden por vendedores GET
https://<ip>:<port>/smcfs/restapi/order?EnterpriseCode=~eq~Matrix&DocumentType=~eq~0001
&sort(+SellerOrganizationCode)
getOrderList -con parámetros de entrada, ordenar por vendedores, paginar (obtener los primeros 100) GET
https://<ip>:<port>/smcfs/restapi/order?EnterpriseCode=~eq~Matrix&DocumentType=~eq~0001
&sort(+SellerOrganizationCode)&_range=0-99
getOrderList -con parámetros de entrada, orden por vendedores, paginación y con una plantilla de salida GET
https://<ip>:<port>/smcfs/restapi/order?EnterpriseCode=~eq~Matrix&DocumentType=~eq~0001
&sort(+SellerOrganizationCode)&_range=0-99&_templateKey=api_tpl_1
GetOrderLinesData -un servicio personalizado POST
https://<ip>:<port>/smcfs/executeFlow/GetOrderLinesData
Body: input in JSON format

Las plantillas de API proporcionadas por el usuario se pueden crear en la base de datos llamando a la API manageApiTemplate . Esto se puede llamar en el entorno de configuración maestra (inferior) desde los verificadores de API y obtener esta configuración en la base de datos de producción utilizando CDT o los usuarios pueden realizar otra llamada REST para que esta API inserte la plantilla en la base de datos. Por ejemplo, api_tpl_1 en la URL ejemplo proporcionada, es el identificador de una plantilla para la API getOrderList, creada en la base de datos antes de realizar esta llamada.