This runtime action is responsible for notifying the integration with Adobe Commerce after an order status is updated in the 3rd party. As a result of processing this event a comment will be added to the related order.
The incoming event payload depends on the third party API and entity model. Here is a payload example of the data received in the event:
{
"id": 99,
"status": "shipped",
"notifyCustomer": false
}
The incoming data is validated against a JSON schema defined in the schema.json
file.
Here's an example:
{
"type": "object",
"properties": {
"id": { "type": "integer" },
"status": { "type": "string" },
"notifyCustomer": { "type": "boolean"}
},
"required": ["id", "status"],
"additionalProperties": true
}
The sendData
function in the sender.js
file defines the interaction with the Adobe Commerce API.
This function delegates to the addComment
method in the actions/order/commerce-order-api-client.js
the interaction with the Commerce API.
Any parameters needed from the execution environment could be accessed from params
.
These parameters can be passed on the action by configuring them in the actions/order/external/actions.config.yaml
under updated -> inputs
as follows:
updated:
function: updated/index.js
web: 'no'
runtime: nodejs:20
inputs:
LOG_LEVEL: debug
COMMERCE_BASE_URL: $COMMERCE_BASE_URL
COMMERCE_CONSUMER_KEY: $COMMERCE_CONSUMER_KEY
COMMERCE_CONSUMER_SECRET: $COMMERCE_CONSUMER_SECRET
COMMERCE_ACCESS_TOKEN: $COMMERCE_ACCESS_TOKEN
COMMERCE_ACCESS_TOKEN_SECRET: $COMMERCE_ACCESS_TOKEN_SECRET
annotations:
require-adobe-auth: true
final: true