diff --git a/spec/v2/diagrams/events.mmd b/spec/v2/diagrams/events.mmd new file mode 100644 index 00000000..0b23374f --- /dev/null +++ b/spec/v2/diagrams/events.mmd @@ -0,0 +1,25 @@ +sequenceDiagram + participant D as Data Recipient + participant H as Data Owner + + Note over D, H: Data Recipient requests a new
or updated PCF from Host System + D->>H: POST [SubPath]/2/events + Activate H + break Does not accept event + H->>D: Returns with HTTP Code 400 + end + + H->>D: Returns with HTTP Code 200 + Deactivate H + + Note over D, H: Host system now processes
the request as specified in
Business Case 1 + + alt PCFs do not exist / partial match + H->>H: Host system decides on processing
potentially involving skilled personnel + H->>D: Sends event with either PCFs or error body + else 1 or more matching PCFs exist + Note over H: Sends matching PCFs as
an event + H->>D: Sends event containing matching PCFs + else Default case + H->>D: Sends event with an error body + end diff --git a/spec/v2/index.bs b/spec/v2/index.bs index 3257244a..a51b6819 100644 --- a/spec/v2/index.bs +++ b/spec/v2/index.bs @@ -1,6 +1,6 @@
 Title: Technical Specifications for PCF Data Exchange
-Text Macro: VERSION 2.2.1-20240513
+Text Macro: VERSION 2.2.1-20240624
 Shortname: data-exchange-protocol
 Level: 1
 Status: LD
@@ -177,6 +177,17 @@ For now, this chapter focuses on asynchronous event processing. It will be expan
 
 #### Workflow #### {#business-cases-async-events-1-workflow}
 
+A graphical representation of the workflow is given below. However, this flow is for illustrative
+purposes only and does not replace or otherwise alter the text below the diagram.
+
+Note: All requests to the `/events` endpoint require authentication (omitted from the diagram
+below). See [[#api-auth]] for details.
+
+
+ +
Event processing workflow.
+
+ 1. The data recipient sends a `ProductFootprintFragment` to the `Events Endpoint` of the data owner. The data recipient should always include 1 or more product ids in property `productIds`. The data recipient should limit each fragment to exactly 1 specific product (e.g. a specific type of apple instead of all apples that somebody is offering) 1. If the recipient is requesting a specific reporting period, it should include the reporting period accordingly @@ -2527,6 +2538,11 @@ path: LICENSE.md # Appendix B: Changelog # {#changelog} +## Version 2.2.1 (June 24, 2024) ## {#changelog-2.2.1-20240624} + +Summary of changes: +1. add diagram with visual representation of asynchronous event processing workflow + ## Version 2.2.1 (May 13, 2024) ## {#changelog-2.2.1-20240513} Summary of changes: