Nuovi formati evento
Sterling Intelligent Promising introduce un nuovo formato di evento per inventory service. In futuro, tutti i nuovi eventi vengono consegnati nel nuovo formato.
Eventi di modifica
| ID evento in Inventory Visibility | Codice evento nel payload |
|---|---|
|
|
| supplyChange.v2 | supplyChange.v2 |
| productAvailability.v2 | productAvailability.v2 |
| availableSupplyChange.v2 | availableSupplyChange.v2 |
| dgAvailabilityChange.v2 | dgAvailabilityChange.v2 |
| Demand.Change | demandChange |
Eventi istantanea
| ID evento in Inventory Visibility | Codice evento nel payload |
|---|---|
| productAvailabilitySnapshot.v2 | productAvailabilitySnapshot.v2 |
| dgAvailabilitySnapshot.v2 | dgAvailabilitySnapshot.v2 |
| demandSnapshot | demandSnapshot |
| supplySnapshot | supplySnapshot |
Supply.Change- Quando la fornitura cambia per un item, l'evento
Supply.Changeviene attivato. Il codice per questo evento èsupplyChange.Il seguente JSON di esempio è un esempio di un eventoSupply.Changepubblicato.
Il campo{ "eventbatch":[ { "channel":"Order Management", "identifiers":[], "events":[ { "code": "supplyChange", "timestamp": "2020-01-18T06:00:00.021Z", "attributes": [ { "name":"tenantId", "type":"String", "value":"tenant1" }, { "name":"productID", "type":"String", "value":"SKU1024" }, { "name":"unitOfMeasure", "type":"String", "value":"EACH" }, { "name":"productClass", "type":"String", "value":"NEW" }, { "name":"shipNode", "type":"String", "value":"Matrix-Store-001" }, { "name":"shipByDate", "type":"dateTime", "value":"2500-01-01T00:00:00.000Z" }, { "name":"lineReference", "type":"String", "value":"" }, { "name":"reference", "type":"String", "value":"" }, { "name":"referenceType", "type":"String", "value":"" }, { "name":"segment", "type":"String", "value":"" }, { "name":"segmentType", "type":"String", "value":"" }, { "name":"quantity", "type":"Number", "value":"1.0" }, { "name":"changedQuantity", "type":"Number", "value":"1.0" }, { "name":"type", "type":"String", "value":"ONHAND_BACKROOM_01" }, { "name":"baseType", "type":"String", "value":"ONHAND" }, { "name":"tagNumber", "type":"String", "value":"|||" }, { "name":"updatedTs", "type":"dateTime", "value":"IGNORE_VALUE" }, { "name":"eta", "type":"dateTime", "value":"1900-01-01T00:00:00.000Z" }, { "name":"adjustmentReason", "type":"String", "value":"ADJUSTMENT"}, ] }, { "code":"supplyChange", "timestamp":"2020-01-03T15:48:02Z", "attributes":[ { "name":"tenantId", "value":"tenant1", "type":"String"}, { "name":"productID", "value":"SKU1024", "type":"String"}, { "name":"unitOfMeasure", "value":"EACH", "type":"String"}, { "name":"productClass", "value":"NEW", "type":"String"}, { "name":"lineReference", "value":" ", "type":"String"}, { "name":"shipNode", "value":"Matrix-Store-002", "type":"String"}, { "name":"shipByDate", "value":"2500-01-01T00:00:00Z", "type":"dateTime"}, { "name":"reference", "value":" ", "type":"String"}, { "name":"referenceType", "value":" ", "type":"String"}, { "name":"quantity", "value":"200.0", "type":"Number"}, { "name":"segment", "value":" ", "type":"String"}, { "name":"segmentType", "value":" ", "type":"String"}, { "name":"type", "type":"String", "value":"ONHAND_BACKROOM_01" }, { "name":"baseType", "type":"String", "value":"ONHAND" }, { "name":"tagNumber", "type":"String", "value":"|||" }, { "name":"updatedTs", "value":"2020-01-03T15:47:48Z", "type":"dateTime"}, { "name":"eta", "value":"1900-01-01T00:00:00Z", "type":"dateTime"}, { "name":"adjustmentReason", "type":"String", "value":"ADJUSTMENT"}, ]} ] }] }updatedTsindica l'ora in cui il database è stato aggiornato per questa fornitura. Se non è presente alcun record di database, è null duranteforcePublish. Per impostazione predefinita, quando viene eseguita una sincronizzazione della fornitura, l'evento di modifica della fornitura viene pubblicato solo per i record che devono essere upserted come parte della sincronizzazione della fornitura. Tuttavia, quandoforcePublishviene inoltrato come true in una sincronizzazione di fornitura, viene pubblicato un evento per ogni record di fornitura che fa parte della sincronizzazione di fornitura. Questo, a sua volta, pubblica anche gli eventi di modifica della disponibilità dei nodi e della rete, indipendentemente dalla variazione della disponibilità dovuta al record di fornitura in arrivo. Se un record di fornitura non è presente nel sistema e viene ignorato come parte del processo di sincronizzazione,updatedTsè null per l'evento di questo record.Nota: questo parametro è applicabile aproductAvailability.v2,availableSupplyChange.v2,dgAvailabilityChange.v2.
supplyChange.v2- Quando la fornitura cambia per un item, l'evento
supplyChange.v2viene attivato. Il codice per questo evento èsupplyChange.v2.Il seguente JSON di esempio è un esempio di un eventosupplyChange.v2pubblicato.
Il campo{ "type": "supplyChange.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-bd15-d530625a6ec5", "specversion": "1.0", "time": "2023-08-30T10:20:31.102Z", "data": { "tenantId": "tenant1", "itemId": "SKU1024", "unitOfMeasure": "EACH", "productClass": "NEW", "shipNode": "Matrix-Store-001" "shipByDate": "2500-01-01T00:00:00.000Z", "lineReference":null, "reference":null, "referenceType":null, "segment": null, "segmentType": null, "quantity": 1, "changedQuantity": 1, "customAttributes" : [ { "double" : 10.1, "key" : "futureQuantity" }, { "key" : "adjustmentReasonText", "string" : "returnDamaged" }, { "date" : "2023-01-01T00:00:00.000Z", "key" : "manufacturingDate" }], "type": "ONHAND_BACKROOM_01", "baseType": "ONHAND", "tagNumber": "|||", "updatedTs": "2023-08-30T10:20:31.102Z", "eta": "1900-01-01T00:00:00.000Z", "adjustmentReason": "ADJUSTMENT", } }updatedTsindica l'ora in cui il database è stato aggiornato per questa fornitura. Se non è presente alcun record di database, è null duranteforcePublish. Per impostazione predefinita, quando viene eseguita una sincronizzazione della fornitura, l'evento di modifica della fornitura viene pubblicato solo per i record che devono essere upserted come parte della sincronizzazione della fornitura. Tuttavia, quandoforcePublishviene inoltrato come true in una sincronizzazione di fornitura, viene pubblicato un evento per ogni record di fornitura che fa parte della sincronizzazione di fornitura. Questo, a sua volta, pubblica anche gli eventi di modifica della disponibilità dei nodi e della rete, indipendentemente dalla variazione della disponibilità dovuta al record di fornitura in arrivo. Se un record di fornitura non è presente nel sistema e viene ignorato come parte del processo di sincronizzazione,updatedTsè null per l'evento di questo record.
productAvailability.v2- La disponibilità dei nodi negli eventi di
productAvailability.v2viene pubblicata per articolo-nodo ogni volta che si verifica una variazione della quantità disponibile. La modifica può essere attivata in caso di aggiornamenti dei livelli di offerta, domanda, scorte di sicurezza, opzioni di adempimento e capacità.Il seguente esempio JSON è un esempio di evento pubblicato per il metodo di consegna SHP e PICK.- Metodo di consegna SHP
{ "type": "productAvailability.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-bd15-d530625a6ec5", "specversion": "1.0", "time": "2021-03-10T00:00:00.288Z", "data": { "itemAttributes" : { "color": ["red", "black"], "material": ["cotton"], "size": ["L", "M"] }, "computeTs": "2021-03-10T00:00:00.097Z", "tenantId": "tenant1", "productId": "SHIRT", "productClass": "CLASS_1", "deliveryMethod": "SHP", "segment": null, "segmentType": null, "shipNode": "store-BostonMA", "unitOfMeasure": "EACH", "currentAvailability": { "demandQuantity": 0, "supplyQuantity": 5, "toTs": "2021-04-01T00:00:00.000Z", "availableQuantity": 35, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 25.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "demandQuantity": 0, "supplyQuantity": 5, "fromTs": "2021-04-01T00:00:00.000Z", "toTs": "2500-01-01T00:00:00.000Z", "availableQuantity": 45, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 35.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } } - Metodo di consegna PICK
{ "type": "productAvailability.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-bd15-d530625a6ed6", "specversion": "1.0", "time": "2021-03-10T00:00:00.288Z", "data": { "itemAttributes" : { "color": ["red", "black"], "material": ["cotton"], "size": ["L", "M"] }, "computeTs": "2021-03-10T00:00:00.097Z", "tenantId": "tenant1", "productId": "SHIRT", "productClass": "CLASS_1", "deliveryMethod": "PICK", "segment": null, "segmentType": null, "shipNode": "store-BostonMA", "unitOfMeasure": "EACH", "currentAvailability": { "demandQuantity": 0, "supplyQuantity": 5, "toTs": "2021-04-01T00:00:00.000Z", "availableQuantity": 35, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 25.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "demandQuantity": 0, "supplyQuantity": 5, "fromTs": "2021-04-01T00:00:00.000Z", "toTs": "2500-01-01T00:00:00.000Z", "availableQuantity": 45, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 35.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } }
Nota:shortageQuantityè la carenza generata nel sistema a causa della domanda in eccesso, della prenotazione in eccesso e dello stock di sicurezza in eccesso.- Il
consumedSafetyQuantityè la quantità di sicurezza che è stata regolata con la disponibilità in mano. - Il campo
fulfillmentAllowedindica se l'adempimento è consentito o meno. demandShortagefornisce la quantità di domanda in eccesso che non è stato possibile adattare con l'offerta.reservationShortagefornisce il valore di qualsiasi eccesso nella prenotazione.safetyShortagefornisce la quantità di scorte di sicurezza che non è stato possibile adattare con le forniture disponibili eshortageQuantity=demandShortage+reservationShortage+safetyShortage.SegmentedQuantityè la disponibilità proveniente dall'inventario segmentato. Viene calcolato solo quando il segmento consuma scorte non segmentate ed è 0.0 se l'evento mostra una disponibilità non segmentata.UnsegmentedQuantityè la disponibilità proveniente dall'inventario non segmentato. Viene calcolato solo quando il segmento consuma scorte non segmentate.- Quando l'evento viene pubblicato per la disponibilità non segmentata, si considerano i seguenti parametri per il calcolo:
consumptionDemandQuantityè la quantità aggiuntiva di domanda segmentata assegnata alla disponibilità non segmentata. Viene calcolato solo quando il consumo è abilitato e l'evento viene sollevato per l'inventario non segmentato.consumptionReservedQuantityè la quantità aggiuntiva di prenotazioni segmentate collocate con disponibilità non segmentata. Viene calcolato solo quando il consumo è abilitato e l'evento viene sollevato per l'inventario non segmentato.
- Le quantità non pianificate in
currentAvailabilityindicano un eccesso di scorte esistenti, mentre quelle infutureAvailabilityimplicano la necessità di rifornire i fornitori.
- Metodo di consegna SHP
- availableSupplyChange.v2
- L'evento
availableSupplyChange.v2fornisce l'immagine della disponibilità in base alle date dell'offerta quando si verificano modifiche nell'offerta, nella domanda, nella prenotazione o nello stock di sicurezza. Il codice per questo evento èavailableSupplyChange.v2. Il punto di attivazione dell'eventoavailableSupplyChange.v2è uguale a quello diproductavailability.v2.Per ulteriori informazioni, vedi Forniture disponibili del nodo.
Il seguente esempio JSON è un esempio di evento pubblicato per il metodo di consegna SHP e PICK.- Metodo di consegna SHP
{ "specversion": "1.0", "type": "availableSupplyChange.v2", "id": "515aa404-4411-38d8-9855-b6ab093a451e", "time": "2023-12-05T23:35:56.616Z", "datacontenttype": "application/json", "data":{ "tenantId":"us-b5d0aae5", "productId":"SHIRT", "segment":null, "segmentType":null, "unitOfMeasure":"EACH", "productClass":"NEW", "deliveryMethod":"SHP", "shipNode": "store-BostonMA", "computeTs": "2023-12-05T23:35:56.584Z", "thresholdLevel": "0", "availableSupplies":[{ "availableQuantity" : 8.0, "consumedSafetyQuantity" : 0.0, "demandQuantity" : 4.0, "fromTs" : "2023-12-01T00:00:00.000Z", "fulfillmentAllowed" : true, "reservedQuantity" : 0.0, "shortageQuantity" : 0.0, "supplyQuantity" : 12.0, "toTs" : "2023-12-30T00:00:01.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0 }, { "availableQuantity" : 15.0, "consumedSafetyQuantity" : 0.0, "demandQuantity" : 0.0, "fromTs" : "2023-12-10T00:00:00.000Z", "fulfillmentAllowed" : true, "reservedQuantity" : 0.0, "shortageQuantity" : 0.0, "supplyQuantity" : 10.0, "toTs" : "2024-01-10T00:00:01.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, }], "unsegmentedAvailableSupplies":[{ "availableQuantity" : 90.0, "consumedSafetyQuantity" : 0.0, "demandQuantity" : 0.0, "fromTs" : "1900-01-01T00:00:00.000Z", "fulfillmentAllowed" : true, "reservedQuantity" : 0.0, "shortageQuantity" : 0.0, "supplyQuantity" : 90.0, "toTs" : "2500-01-01T00:00:00.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 }], "itemAttributes" : { "color": ["red", "black"], "material": ["cotton"], "size": ["L", "M"] } } } - Metodo di consegna PICK
{ "specversion": "1.0", "type": "availableSupplyChange.v2", "id": "515aa404-4411-38d8-9855-b6ab093a462f", "time": "2023-12-05T23:35:56.616Z", "datacontenttype": "application/json", "data":{ "tenantId":"us-b5d0aae5", "productId":"SHIRT", "segment":null, "segmentType":null, "unitOfMeasure":"EACH", "productClass":"NEW", "deliveryMethod":"PICK", "shipNode": "store-BostonMA", "computeTs": "2023-12-05T23:35:56.584Z", "thresholdLevel": "0", "availableSupplies":[{ "availableQuantity" : 13.0, "consumedSafetyQuantity" : 0.0, "demandQuantity" : 4.0, "fromTs" : "2023-12-01T00:00:00.000Z", "fulfillmentAllowed" : true, "reservedQuantity" : 0.0, "shortageQuantity" : 0.0, "supplyQuantity" : 12.0, "toTs" : "2023-12-30T00:00:01.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, }, { "availableQuantity" : 10.0, "consumedSafetyQuantity" : 0.0, "demandQuantity" : 0.0, "fromTs" : "2023-12-10T00:00:00.000Z", "fulfillmentAllowed" : true, "reservedQuantity" : 0.0, "shortageQuantity" : 0.0, "supplyQuantity" : 10.0, "toTs" : "2024-01-10T00:00:01.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0 }], "unsegmentedAvailableSupplies":[{ "availableQuantity" : 90.0, "consumedSafetyQuantity" : 0.0, "demandQuantity" : 0.0, "fromTs" : "1900-01-01T00:00:00.000Z", "fulfillmentAllowed" : true, "reservedQuantity" : 0.0, "shortageQuantity" : 0.0, "supplyQuantity" : 90.0, "toTs" : "2500-01-01T00:00:00.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 }], "itemAttributes" : { "color": ["red", "black"], "material": ["cotton"], "size": ["L", "M"] } } }
Nota: per ulteriori informazioni, consultare definizioni pershortageQuantity,consumedSafetyQuantityefulfillmentAllowed. - Metodo di consegna SHP
- dgAvailabilityChange.v2
dgAvailabilityChange.v2gli eventi rappresentano la disponibilità complessiva della rete per un gruppo di distribuzione. Un nuovo evento viene pubblicato ogni volta che uno o più nodi contenuti subiscono una modifica della quantità di disponibilità o del timestamp. Queste modifiche possono essere innescate da aggiornamenti dell'offerta, della domanda, delle scorte di sicurezza, delle opzioni di evasione o dei livelli di capacità.Il seguente esempio JSON è un esempio di evento pubblicato per il metodo di consegna SHP e PICK.- Metodo di consegna SHP
{ "type": "dgAvailabilityChange.v2", "datacontenttype": "application/json", "id": "304746ba-4d53-3514-94d9-9353b8b14152", "specversion": "1.0", "time": "2021-03-10T00:00:00.283Z", "data": { "itemAttributes" : { "color": ["red", "black"], "material": ["cotton"], "size": ["L", "M"] }, "computeTs": "2021-03-10T00:00:00.119Z", "tenantId": "tenant1", "productId": "SHIRT", "productClass": "CLASS_1", "deliveryMethod": "SHP", "segment" : "Platinum", "segmentType" : "B2B Accounts", "distributionGroupId": "WEB", "unitOfMeasure": "EACH", "currentAvailability": { "toTs": "2021-04-01T00:00:00.000Z", "availableQuantity": 35, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 0, "demandShortage": 0, "reservationShortage": 0, "safetyShortage":0, "segmentedQuantity": 20.0, "unsegmentedQuantity": 10.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "fromTs": "2021-04-01T00:00:00.000Z", "toTs": "2500-01-01T00:00:00.000Z", "availableQuantity": 45, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 35.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } } - Metodo di consegna PICK
{ "type": "dgAvailabilityChange.v2", "datacontenttype": "application/json", "id": "515aa404-4411-38d8-9855-b6ab093a46df", "specversion": "1.0", "time": "2021-03-10T00:00:00.283Z", "data": { "itemAttributes" : { "color": ["red", "black"], "material": ["cotton"], "size": ["L", "M"] }, "computeTs": "2021-03-10T00:00:00.119Z", "tenantId": "tenant1", "productId": "SHIRT", "productClass": "CLASS_1", "deliveryMethod": "PICK", "segment": null, "segmentType": null, "distributionGroupId": "WEB", "unitOfMeasure": "EACH", "currentAvailability": { "toTs": "2021-04-01T00:00:00.000Z", "availableQuantity": 35, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 25.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "fromTs": "2021-04-01T00:00:00.000Z", "toTs": "2500-01-01T00:00:00.000Z", "availableQuantity": 45, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 20.0, "unsegmentedQuantity": 20.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } }
Nota: l'attributoshortageQuantityrappresenta l'aggregazione delle quantità di carenza a livello di nodo su tutti i nodi del gruppo di distribuzione. Per ulteriori informazioni, consultare Definizioni pershortageQuantity,consumedSafetyQuantityefulfillmentAllowed.- Metodo di consegna SHP
- Demand.Change
- inventory service consente di pubblicare i dati di modifica della domanda in un sistema esterno per l'analisi. Tali dati consentono al responsabile della supply chain (SC) di essere avvisato quando si verifica un improvviso flusso di domanda di inventario. Ad esempio, se si verifica un improvviso aumento della domanda di disinfettante per le mani, il responsabile SC può modificare rapidamente la strategia di adempimento per mitigare i danni contrattuali ad alcuni degli acquirenti di alto valore.
Il seguente payload di esempio è un esempio di un evento pubblicato. L'ID evento Inventory Visibility è
Demand.Changee il codice evento nel payload èdemandChange.{ "specversion" : "1.0", "datacontenttype" : "application/json", "type": "demandChange", "id": "<UUID>", "time": "<time ISO-8601 format>", "data": { "itemId": "SHIRT", "unitOfMeasure": "EACH", "productClass": "CLASS_1", "tagNumber": "A|02", "shipNode": "store-BostonMA", "baseType": "OPEN_ORDER", "type": "CUSTOM_OPEN_ORDER", "segment": "Web", "segmentType": "Channel", "shipDate": "2020-05-29T13:00:00.000Z", "cancelDate": "2020-06-28T13:00:00.000Z", "minShipByDate": "2022-01-22T05:00:00.000Z", "quantity": 3.0, "changedQuantity": 2.0, "updatedTs": "2020-05-28T06:00:00.000Z", "adjustmentReason" : "PROCESS" } }Nota: il campoupdatedTsindica l'ora in cui il database è stato aggiornato per questa domanda.
- productAvailabilitySnapshot.v2
- Utilizzare l'evento
productAvailabilitySnapshot.v2per inviare un'istantanea (su richiesta) della disponibilità per un nodo specifico, per tutti i nodi o per i nodi che appartengono a un gruppo di distribuzione.
Il seguente esempio JSON è un esempio di evento pubblicato per il metodo di consegna SHP e PICK.- Metodo di consegna SHP
{ "type": "productAvailabilitySnapshot.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-bd15-d530625a6ec5", "specversion": "1.0", "time": "2021-03-10T00:00:00.288Z", "data": { "computeTs": "2021-03-10T00:00:00.097Z", "tenantId": "tenant1", "snapshotId": "productAvailabilitySnapshot-test", "productId": "SHIRT", "productClass": "CLASS_1", "deliveryMethod": "SHP", "segment": null, "segmentType": null, "shipNode": "store-BostonMA", "unitOfMeasure": "EACH", "currentAvailability": { "demandQuantity": 0, "supplyQuantity": 30, "toTs": "2021-04-01T00:00:00.000Z", "availableQuantity": 35, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 20.0, "unsegmentedQuantity": 10.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "demandQuantity": 0, "supplyQuantity": 45, "fromTs": "2021-04-01T00:00:00.000Z", "toTs": "2500-01-01T00:00:00.000Z", "availableQuantity": 40, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 20.0, "unsegmentedQuantity": 20.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } } - Metodo di consegna PICK
{ "type": "productAvailabilitySnapshot.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-be26-d530625a6ec5", "specversion": "1.0", "time": "2021-03-10T00:00:00.288Z", "data": { "computeTs": "2021-03-10T00:00:00.097Z", "tenantId": "tenant1", "snapshotId": "productAvailabilitySnapshot-test", "productId": "SHIRT", "productClass": "CLASS_1", "deliveryMethod": "PICK", "segment": null, "segmentType": null, "shipNode": "store-BostonMA", "unitOfMeasure": "EACH", "currentAvailability": { "demandQuantity": 0, "supplyQuantity": 30, "toTs": "2021-04-01T00:00:00.000Z", "availableQuantity": 30, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 20.0, "unsegmentedQuantity": 10.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 }, "futureAvailability": [ { "demandQuantity": 0, "supplyQuantity": 40, "fromTs": "2021-04-01T00:00:00.000Z", "toTs": "2500-01-01T00:00:00.000Z", "availableQuantity": 40, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 20.0, "unsegmentedQuantity": 20.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } }
Puoi attivare manualmente l'istantanea per un nodo specifico richiamando l'API publish_all . L'API productAvailabilitySnapshot.v2 publish_all restituisce l' URL di un lavoro insieme all'indirizzo{ "type": "productAvailabilitySnapshot.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-be26-d530625a6ec5", "specversion": "1.0", "time": "2021-03-10T00:00:00.288Z", "data": { "tenantId": "tenant1", "snapshotId": "productAvailabilitySnapshot-test", } }jobId. Pubblica inoltre un evento fittizio quando il processo è completo, che ha lo stesso formato del messaggio normale, ma omette tutti gli attributi diversi datenantIdesnapshotId.snapshotIdè un UUID per riconoscere l'evento. L' URL diproductAvailabilitySnapshot.v2è:https://api.watsoncommerce.ibm.com/<tenantId>/v2/configuration/events/productAvailabilitySnapshot.v2/publish_allNota:- Per ulteriori informazioni, vedere le definizioni di
shortageQuantity,consumedSafetyQuantity, efulfillmentAllowed. - Quando l'evento viene pubblicato per la disponibilità non segmentata, si considerano i seguenti parametri per il calcolo:
consumptionDemandQuantityconsumptionReservedQuantity
- Metodo di consegna SHP
- dgAvailabilitySnapshot.v2
- Utilizzare l'evento
dgAvailabilitySnapshot.v2per inviare un'istantanea (su richiesta) della disponibilità a un gruppo di distribuzione.
Il seguente esempio JSON è un esempio di evento pubblicato per il metodo di consegna SHP e PICK.- Metodo di consegna SHP
{ "type": "dgAvailabilitySnapshot.v2", "datacontenttype": "application/json", "id": "240fe0ec-e24a-31c2-93a0-74cb8160aa98", "specversion": "1.0", "time": "2021-07-17T00:00:00.503Z", "data": { "computeTs": "2021-07-17T00:00:00.174Z", "tenantId": "tenant1", "productClass": "NEW", "productId": "book", "snapshotId": "dgAvailabilitySnapshot-test", "unitOfMeasure": "EACH", "deliveryMethod": "SHP", "segment": null, "segmentType": null,"distributionGroup": "Stores", "distributionGroupId": "Stores", "currentAvailability": { "availableQuantity": 5, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 3, "toTs": "2021-07-20T00:00:00.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 0.0, "unsegmentedQuantity": 0.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "availableQuantity": 15, "consumedSafetyQuantity": 0, "fromTs": "2021-07-20T00:00:00.000Z", "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "toTs": "2021-08-16T00:00:01.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 5.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } }
- Metodo di consegna PICK
{ "type": "dgAvailabilitySnapshot.v2", "datacontenttype": "application/json", "id": "240fe0ec-e24a-31c2-93a0-74cb8160bb00", "specversion": "1.0", "time": "2021-07-17T00:00:00.503Z", "data": { "computeTs": "2021-07-17T00:00:00.174Z", "tenantId": "tenant1", "productClass": "NEW", "productId": "book", "snapshotId": "dgAvailabilitySnapshot-test", "unitOfMeasure": "EACH", "deliveryMethod": "PICK", "segment": null, "segmentType": null,"distributionGroup": "Stores", "distributionGroupId": "Stores", "currentAvailability": { "availableQuantity": 5, "consumedSafetyQuantity": 0, "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "thresholdLevel": 3, "toTs": "2021-07-20T00:00:00.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 0.0, "unsegmentedQuantity": 0.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0, "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } }, "futureAvailability": [ { "availableQuantity": 15, "consumedSafetyQuantity": 0, "fromTs": "2021-07-20T00:00:00.000Z", "fulfillmentAllowed": true, "reservedQuantity": 0, "shortageQuantity": 0, "toTs": "2021-08-16T00:00:01.000Z", "demandShortage": 0, "reservationShortage":0, "safetyShortage":0, "segmentedQuantity": 5.0, "unsegmentedQuantity": 5.0, "consumptionDemandQuantity" : 0.0, "consumptionReservedQuantity" : 0.0 "unplanned": { "availableQuantity": 5.0, "demandQuantity": 3.0, "reserveQuantity": 2.0 } } ] } }
Nota:Per ulteriori informazioni, consultare Definizioni per- L'attributo
shortageQuantityrappresenta l'aggregazione delle quantità di carenza a livello di nodo in tutti i nodi del gruppo di distribuzione. - L'attributo
distributionGroupè deprecato e sarà rimosso in una release successiva del prodotto. Utilizzare invece l'attributodistributionGroupId.
shortageQuantity,consumedSafetyQuantityefulfillmentAllowed.
Il seguente esempio EOF è un esempio di un evento pubblicato:
È possibile attivare manualmente l'istantanea per uno specifico gruppo di distribuzione richiamando l'API{ "type": "dgAvailabilitySnapshot.v2", "datacontenttype": "application/json", "id": "2a8d36a3-485b-3fc0-bd15-d530625a6ec5", "specversion": "1.0", "time": "2021-03-10T00:00:00.288Z", "data": { "tenantId": "tenant1", "snapshotId": "dgAvailabilitySnapshot-test" } }publish_all. L'APIdgAvailabilitySnapshot.v2 publish_allrestituisce l' URL di un lavoro insieme all'indirizzojobId. Pubblica inoltre un evento fittizio quando il processo è completo, che ha lo stesso formato del messaggio normale, ma omette tutti gli attributi diversi datenantIdesnapshotId. È possibile generare un'istantanea per uno specifico gruppo di distribuzione o per tutti. L' URL didgAvailabilitySnapshot.v2è:https://api.watsoncommerce.ibm.com/<tenantId>v2/configuration/events/dgAvailabilitySnapshot.v2/publish_all - Metodo di consegna SHP
- demandSnapshot
Come System Integrator in Inventory Visibility, si pubblica un'istantanea del sistema di richiesta per l'analisi. In qualità di responsabile dell'adempimento, utilizzare queste informazioni per creare un report sul sistema di richiesta e risolvere eventuali problemi rilevati prima del successivo ciclo finanziario. Ad esempio, come risultato di una promozione del prodotto eseguita, si verifica un aumento della domanda per il prodotto in un nodo specifico. Di conseguenza, per soddisfare questo aumento della domanda, è necessario aumentare l'offerta disponibile presso la sede per evitare che i clienti perdano il prodotto. Con la visibilità completa del sistema di richiesta, si continua a soddisfare la domanda dei clienti.
Il seguente JSON di esempio è un esempio di un evento pubblicato. Il codice evento è
demandSnapshot.{ "type": "demandSnapshot", "datacontenttype": "application/json", "id": "a1ae3dcd-8fd6-4f76-b7ed-7916c739ac5a", "specversion": "1.0", "time": "2023-11-28T00:00:00.000Z", "data": { "fetchTs": "2023-11-28T00:00:00.000Z", "tenantId": "tenant1", "snapshotId": "demandSnapshot-test", "productId": "SKU1024", "unitOfMeasure": "EACH", "productClass": "NEW", "type": "OPEN_ORDER", "shipNode": "Matrix-Store-001", "tagNumber": null, "segment": "ONLINE", "segmentType": "Channel", "shipDate": "2023-12-05T00:00:00Z", "cancelDate": "2500-01-01T00:00:00Z", "referenceType": null, "reference": null, "minShipByDate": "2500-01-01T00:00:00Z", "quantity": 10 } }
supplySnapshot- In qualità di Systems Integrator in Inventory Visibility, si pubblica un'istantanea del sistema di fornitura per l'analisi. In qualità di Fulfillment Manager, è possibile avere una visione del sistema di fornitura in anticipo, in modo da poter affrontare eventuali discrepanze riscontrate prima del ciclo finanziario successivo. Ad esempio, si nota un aumento delle vendite di un prodotto nuovo che si è appena iniziato a vendere. Per acquisire più vendite, si decide di eseguire una promozione intorno a questo prodotto su un determinato nodo. Con la visibilità completa del sistema di fornitura, sei già consapevole della quantità di prodotti che devi fornire in anticipo rispetto alla promozione. Ciò garantisce che la richiesta del cliente venga soddisfatta con successo.
Il seguente JSON di esempio è un esempio di un evento pubblicato. Il codice evento è
supplySnapshot.{ "type": "supplySnapshot", "datacontenttype": "application/json", "id": "4075a47d-9227-432e-ab3e-c369e8802aa0", "specversion": "1.0", "time": "2023-11-28T00:00:00.000Z", "data": { "fetchTs": "2023-11-28T00:00:00.000Z", "tenantId": "tenant1", "snapshotId": "supplySnapshot-test", "itemId": "SKU1024", "unitOfMeasure": "EACH", "productClass": "NEW", "type": "ONHAND", "shipNode": "Matrix-Store-001", "tagNumber": null, "segment": "ONLINE", "segmentType": "Channel", "eta": "1900-01-01T00:00:00Z", "shipByDate": "2500-01-01T00:00:00Z", "referenceType": null, "reference": null, "lineReference": null, "quantity": 100 } }