La solución SAP Business Network Material Traceability ha lanzado una nueva API para recuperar datos genealógicos ascendentes y descendentes de su producto a lo largo de su cadena de valor. En este blog, conoceremos cómo consumir esta API recién lanzada.
Como requisito previo, debe tener una suscripción a la aplicación SAP Business Network Material Traceability y acceso a la cabina SAP BTP. Cualquier herramienta para probar el consumo de la API también es útil. En este blog se darán ejemplos del uso de las herramientas de Postman para probar la API.
Este blog tiene tres secciones:
Inicie sesión en su cabina BTP y seleccione la subcuenta en la que se ha suscrito a Material Traceability. Aquí crearemos una instancia de los servicios necesarios para usar la API, navegue hasta «Mercado de servicios» y busque «Servicios para la trazabilidad de materiales».

Podemos crear una instancia del servicio seleccionando la opción «Crear» de «…» o seleccionando el mosaico y optando por «Crear».

Como puede ver en la imagen, los planes existentes se enumeran junto con las instancias que ya se han creado. Él API de datos genealógicos está incluido en el plan denominado “genealogía”.
Cree una instancia de servicio y elija «genealogía» como plan.

Introduzca un nombre para su nueva instancia de servicio. La instancia de servicio aparecerá en la cabina de SAP BTP en «Instancias y suscripciones» con este nombre.

Ahora hemos creado una instancia de servicio necesaria para recuperar la genealogía ascendente/descendente de un producto en SAP Business Network Material Traceability.
Para consumir este servicio en cualquiera de sus soluciones, necesitamos crear un enlace de servicio. Esto se puede hacer seleccionando «Crear enlace de servicio»

Usted nombra el enlace con el que se puede hacer referencia cuando consume este servicio desde cualquiera de sus soluciones.
Como ya creamos una instancia de un servicio y creamos un enlace de servicio, ahora estamos listos para consumir la API usando Postman. Se supone que ya hay algún contenido disponible en SAP Business Network Material Traceability. Puede leer sobre diferentes formas de aportar datos a SAP Business Network Material Traceability aquí .
Para consumir esta API necesitamos un token OAuth. Podemos obtener este token invocando una URL de credencial con ID de cliente y secreto. El ID y el secreto del cliente están disponibles en el enlace bajo el objeto «uaa», puede hacer clic en el enlace en la cabina de SAP BTP para ver ambos. La URL para obtener el token también está disponible como «url» en el objeto «uaa». Una vez que tengamos la URL para obtener el token, se debe agregar la ruta «/oauth/token?grant_type=client_credentials» a la URL.
Abra una nueva solicitud POST en Postman. Proporcione la URL de obtención del token con la ruta agregada. La autorización debe ser «Autenticación básica» y proporcionar la identificación y el secreto del cliente como nombre de usuario y contraseña.
https://<<yourTokenFetchURL>>/oauth/token?grant_type=client_credentials
Envíe la solicitud mediante Postman. En el cuerpo de la respuesta tendremos token como valor para «access_token». Una vez que también tengamos lista la solicitud de API de genealogía, enviaremos una vez más la obtención del token y pasaremos el token para la API de genealogía. Hay formas de automatizar esto escribiendo un script en Postman, puede encontrar más detalles en la documentación de ayuda de Postman.
La URL de API para datos de genealogía está disponible en el enlace como «uri» (esta clave está disponible fuera del objeto «uaa»). La ruta para agregar a esta URL está disponible en el Documentación de ayuda de la API. La ruta de la API varía según se haya solicitado la genealogía de un lote de productos o un producto serializado. Para el lote de productos, la URL debería verse como
https://<<yourAPIURL>>/api/v1/genealogy/productbatch/{batchId}/{productid}/{systemId}
Para productos serializados es como
https://<<yourAPIURL>>/api/v1/genealogy/serializedproduct/{serialId}/{productid}/{systemId}
Usaremos la API en un sistema de trazabilidad de materiales de SAP Business Network que tiene una genealogía de productos como se muestra a continuación

La URL para recuperar los datos upstream de este producto “Choco Cream ALL” será
https://<<yourAPIURL>>/api/v1/genealogy/productbatch/BAT-CHALL-R/CH_ALL/F2C_FIN
Al agregar un parámetro de «dirección», podemos controlar si recuperar datos ascendentes o descendentes. De forma predeterminada, la API recupera datos ascendentes. Antes de comenzar con esta URL, asegúrese de crear un token nuevo, ya que es posible que el antiguo haya expirado.
La respuesta a la API de genealogía debe tener dos objetos principales llamados «objetos» y «relaciones». Los objetos brindarán todos los detalles sobre los diferentes eventos de MT como parte de la cadena de suministro y las relaciones transmiten la genealogía. Para el ejemplo anterior, uno de los objetos devueltos es:
{
"encodedKey": "d63eea5c9b8623cde011c4c80945e128b8eb0231",
"producedBatch": {
"status": "RELEASED",
"batchId": "BAT-CHALL",
"quantities": [
{
"qualifier": "DISCRETE",
"value": "75",
"unit": "KGS"
}
],
"properties": [
{
"name": "UTZ",
"value": "true"
},
{
"name": "LACTOSE",
"value": "false"
},
{
"name": "RAINFOREST_ALLIANCE",
"value": "true"
},
{
"name": "RSPO_NEXT",
"value": "true"
}
],
"creationDate": "20200501",
"productName": "Choco Cream ALL",
"location": "Germany",
"external": true
}
}
“Crema Choco TODO” es uno de los productos elaborados por un proveedor externo y entregado, el valor en la clave “externo” indica si el evento ocurrió dentro de la empresa o fuera con alguno de sus socios de la cadena de suministro. En el objeto de relación habrá un par que indica la conexión entre este evento de lote de producción y un evento de lote de recepción.
{
"fromEncodedKey": "d63eea5c9b8623cde011c4c80945e128b8eb0231",
"toEncodedKey": "c9842f0efc0bfadf4fa9a7c8a3fb48e68929aa43"
}
La clave “c9842f0efc0bfadf4fa9a7c8a3fb48e68929aa43” cubre un objeto
{
"encodedKey": "c9842f0efc0bfadf4fa9a7c8a3fb48e68929aa43",
"deliveredBatch": {
"status": "RELEASED",
"vendorBatchId": "BAT-CHALL",
"goodsIssueDate": "20200512",
"external": true
}
}
indicando la relación entre el evento producir y entregar. De esta manera, toda la genealogía del producto se puede componer a partir de datos API.
Genealogy API simplifica el consumo de datos de SAP Business Network Material Traceability, lo que le permite utilizar su rico conjunto de datos relacionados con las cadenas de suministro de las empresas en cualquier otra solución.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073
