API de datos SAP permite cargar y descargar datos de SAP. La API está disponible para Evolve y Studio Manager. La API expone la carga útil JSON y otros detalles (por ejemplo, SAP, la configuración de ejecución, etc.) para publicar datos en SAP. El ROI se sincronizará para todos los entornos (desarrollo, control de calidad y producción) pero la facturación solo se efectuará para el sistema de producción.
La API de datos SAP no admite scripts encadenados ni múltiples. La API de datos SAP solo admite una única transacción. La web de Evolve y el worker de servicio no admiten transacciones basadas en GUI Scripting, por lo que tampoco son compatibles con la API de datos SAP. No se admiten consultas con criterios IN que utilicen rutas de archivo dinámicas para datos fijos o definidos por el usuario.
Requisitos previos
Estos son los dos requisitos previos para usar esta función:
-
Debe activarse la licencia de la API de datos SAP en el sistema Evolve.
-
El valor de la clave SapIntegrationAPIEnable debe establecerse en True.
Una vez que la licencia se haya activado correctamente, la aplicación también configurará la variable del sistema SapIntegrationAPIEnable y la establecerá como True de forma automática en la configuración avanzada (Administración → Sistema → Configuración avanzada). Para deshabilitar la función de SAP, establezca este valor en False.
Solo los administradores globales pueden añadir y administrar licencias. La licencia de integración de SAP es la licencia necesaria para la API de datos SAP; el tipo puede ser de suscripción (por niveles) o de suscripción (por volumen). La clave de configuración avanzada SapIntegrationAPIEnable solo puede habilitarse si el usuario tiene un tipo de SKU de licencia de integración de SAP válido. La API de integración de SAP está protegida con la puerta de enlace de API y su mecanismo de autenticación compatible.
Puede acceder a la API de datos SAP desde Evolve. Para obtener información sobre cómo guardar las soluciones de las API de datos SAP en Evolve, la configuración de aprobación de las API de SAP y la adición y actualización de las API de SAP desde la pestaña Soluciones, consulte la API de datos SAP con Evolve.
Puede crear scripts para la API de datos SAP y enviar los scripts a Evolve mediante Studio. Consulte la API de datos SAP con Studio para obtener más información.
Para acceder a cualquier API, se requiere el prefijo de ruta. El prefijo de ruta es una combinación de la URL de Evolve y de palabras clave específicas.
Para la URL de Evolve, el usuario debe proporcionar el número de puerto, a menos que no sea el predeterminado. Por ejemplo, si tenemos un sitio de Evolve en el puerto 80 predeterminado, podemos utilizar las dos direcciones URL de Evolve para acceder a la API.
-
http://cha-de-vstpnx1.wsdt.local:80/svr/api/v1/Processextn/GetAllAssignments
-
http://cha-de-vstpnx1.wsdt.local/svr/api/v1/Processextn/GetAllAssignments.
Para las tres opciones de seguridad, hay que utilizar los siguientes prefijos de ruta para acceder a la API:
Secreto de cliente: «<URL de Evolve>/svr»
Token seguro: «<URL de Evolve>/svr»
Certificado: «<URL de Evolve>/svrc»
En el caso de la API de datos SAP, cuando el usuario selecciona una solución para ver la URL de la solución de API de datos SAP, esta aparece como “<BaseURL/GatewayURL>/api/v1/SAPIS”
URLBase/URLDePuertaDeEnlace es el prefijo de ruta.
URLBase: URL de Evolve
URLDePuertaDeEnlace: «svr» para Clave secreta de cliente y Token seguro, y «svrc» para Certificado.
Cuerpo de solicitud y respuesta
Para cargar y descargar datos de SAP mediante la API de datos SAP, la estructura del cuerpo de solicitud y respuesta será la siguiente:
Solicitud:
El cuerpo de solicitud contiene lo siguiente:
Nombre | Tipo | Restricción | Descripción |
---|---|---|---|
SolutionDetail | JObject | Obligatorio |
Información sobre la solución con los siguientes parámetros:
|
RunParameter | JObject | Obligatorio | Define los datos que deben validarse o publicarse en SAP. Consulte el ejemplo de carga útil de entrada para conocer los detalles del campo. Los datos que se definan dependerán de cada ejecución específica. |
SapDetails | JObject | Obligatorio |
Contiene información sobre la solución con los siguientes parámetros:
Se aconseja guardar las credenciales de SAP o las credenciales de Windows en Evolve con el usuario de Evolve, de modo que la contraseña de texto sin formato no se transmita en la llamada de red mientras se ejecuta la API a través de un cliente de terceros. |
RequestParameter | JObject | - |
Contiene información sobre los siguientes parámetros:
|
Respuesta:
El cuerpo de respuesta contiene lo siguiente:
Nombre | Tipo | Restricción | Descripción |
---|---|---|---|
RunResponse | JObject | - |
Contiene información sobre la ejecución realizada con los siguientes parámetros:
|
Error:
El cuerpo de error contiene lo siguiente:
Nombre | Tipo | Restricción | Descripción |
---|---|---|---|
Matriz fija para las especificaciones del error. | Jarray | - |
Contiene información sobre la ejecución realizada con los siguientes parámetros:
|
Ejemplo de solicitud y respuesta
Especificación de API para Transaction
Ejemplo de solicitud:
Carga útil de solicitud
{ "SolutionDetail": { "SolutionName": "string", "LibraryName": "string", "AppName": "string" }, "RunParameter": { "Material_Number": "string", "Material_Description__Short_Text_": "string", "Gross_Weight": "0.0", "Net_Weight": "0.0" } , "SapDetails": { "ConnectionName": "string", "EvolveUser": "string", "SAPUser": "string", "SAPPassword": "string", "SAPLanguage": "string", "WindowsCredentials": { "UserName": "string", "Password": "string" } }, "RequestParameter": { "Validate": "bool" } }
Ejemplo de respuesta:
Carga útil de respuesta
{ "RunResponse":{ "Success": "bool", "LogField": "string", "RunResult": { "Base_Unit_of_Measure": "string", "Material_Group": "string", "Weight_Unit": "string" } } }
Ejemplo de error:
Carga útil de error
[ { "ErrorCode": "string", "Message": "string", "errorPrameters": [{"string"}] } ]
Especificación de API para Query
Ejemplo de solicitud:
Carga útil de solicitud
{ "SolutionDetail": { "SolutionName": "string", "LibraryName": "string", "AppName": "string" }, "RunParameter": { "MAKT_Language_Key": { "EqualToOp1": "string" } }, "SapDetails": { "ConnectionName": "string", "EvolveUser": "string", "SAPUser": "string", "SAPPassword": "string", "SAPLanguage": "string", "WindowsCredentials": { "UserName": "string", "Password": "string" } }, "RequestParameter": { "RecordCount": "0", "GetRecordsCountOnly": "bool" } }
Ejemplo de respuesta:
Carga útil de respuesta
{ "RunResponse":{ "Success": "bool", "LogField": "string", "RecordCount": "0", "RunResult": [{ "MARA_Material_Number": "string", "MAKT_Language_Key": "string", "MAKT_Material_Description__Short_Text_": "string", "MARA_Gross_Weight": "string", "MARA_Net_Weight": "string" }] } }
Ejemplo de error:
Carga útil de error
[ { "ErrorCode": "string", "Message": "string", "errorPrameters": [{"string"}] } ]