@startuml autonumber participant Customer == Customer Setup: Create ENS Callback Auth Scheme == Customer -> SFMC: POST /ens-authentications activate SFMC note left **Customer to supply** authType grantType authEndpoint clientId clientSecret username password end note SFMC -> "Customer Authorization Server" : POST $authEndpoint eg /oauth/token activate "Customer Authorization Server" note right get token validation end note "Customer Authorization Server" -->SFMC: 200 ok deactivate "Customer Authorization Server" SFMC --> Customer: 201 Created deactivate SFMC note left **Customer to capture** authId end note == Customer Setup: Create ENS Callback == Customer -> SFMC: POST /ens-callbacks activate SFMC note left **Customer to supply** url (aka callbackUrl) authId end note SFMC -> "Customer Callback Endpoint" : POST https:${callbackUrl} w/ verification key activate "Customer Callback Endpoint" note right **Customer to capture** verificationKey end note "Customer Callback Endpoint" --> SFMC : 200 ok deactivate "Customer Callback Endpoint" SFMC --> Customer : 201 Created deactivate SFMC note left **Customer to capture** callbackId end note == Customer Setup: Verify ENS Callback == Customer -> SFMC : POST /ens-verify w/ verification key activate SFMC note left **Customer to supply** verificationKey end note SFMC --> Customer : 200 ok deactivate SFMC == Customer Setup: Create ENS Subscription == Customer -> SFMC : POST /ens-subscriptions activate SFMC note left **Customer to supply** eventCategoryTypes callbackId end note SFMC --> Customer : 201 created deactivate SFMC == SFMC ENS Stream Processing == SFMC -> "Customer Callback Endpoint" : POST https:$callbackUrl w/ bearer access_token activate "Customer Callback Endpoint" alt 200 ok "Customer Callback Endpoint" --> SFMC: ENS webhook request authorized and events received else 400 or 401 token expired "Customer Callback Endpoint" --> SFMC : 400 or 401 e.g. Token Expired group get new token and retry SFMC -> "Customer Authorization Server" : POST $authEndpoint eg /oauth/token activate "Customer Authorization Server" "Customer Authorization Server" -->SFMC: 200 ok deactivate "Customer Authorization Server" SFMC -> "Customer Callback Endpoint" : POST https:$callbackUrl w/ bearer access_token "Customer Callback Endpoint" --> SFMC: ENS webhook request authorized and events received deactivate "Customer Callback Endpoint" end end == Customer Maintenance: Update ENS Callback Auth Password/JWT == Customer -> SFMC : PUT /ens-authentications w/ updates like password activate SFMC SFMC --> Customer : 200 ok deactivate SFMC @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
Pure Javascript
PNG
SVG
ASCII Art