Orderful · Arazzo Workflow

Orderful Order-to-Cash

Version 1.0.0

Receive a Purchase Order from an inbox, approve delivery, acknowledge it, and send back the acknowledgment.

1 workflow 1 source API 1 provider
View Spec View on GitHub CompanyEDIElectronic Data InterchangeSupply ChainB2BLogisticsRetailTransactionsIntegrationArazzoWorkflows

Provider

orderful

Workflows

order-to-cash
Poll an inbox for a PO, fetch it, approve the delivery, acknowledge it, and create the 855 response.
5 steps inputs: apiKey, bucketId
1
pollInbox
PollingController_list
Retrieve inbound transactions waiting in the polling bucket.
2
getTransaction
TransactionControllerV3_getById
Fetch the full Purchase Order transaction.
3
approveDelivery
DeliveryController_handleDeliveryApproved
Confirm the delivery so it leaves the bucket and is marked DELIVERED.
4
acknowledge
TransactionControllerV3_acknowledgeTransaction
Create a functional acknowledgment for the received PO.
5
sendAcknowledgment
TransactionControllerV3_create
Send the Purchase Order Acknowledgment (855) back to the partner.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Orderful Order-to-Cash
  version: 1.0.0
  summary: Receive a Purchase Order from an inbox, approve delivery, acknowledge it, and send back the acknowledgment.
sourceDescriptions:
- name: orderful
  url: ../openapi/orderful-openapi-original.yml
  type: openapi
workflows:
- workflowId: order-to-cash
  summary: Poll an inbox for a PO, fetch it, approve the delivery, acknowledge it, and create the 855 response.
  inputs:
    type: object
    properties:
      bucketId:
        type: string
      apiKey:
        type: string
  steps:
  - stepId: pollInbox
    description: Retrieve inbound transactions waiting in the polling bucket.
    operationId: PollingController_list
    parameters:
    - name: bucketId
      in: path
      value: $inputs.bucketId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      transactionId: $response.body#/items/0/id
      deliveryId: $response.body#/items/0/deliveryId
  - stepId: getTransaction
    description: Fetch the full Purchase Order transaction.
    operationId: TransactionControllerV3_getById
    parameters:
    - name: transactionId
      in: path
      value: $steps.pollInbox.outputs.transactionId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: approveDelivery
    description: Confirm the delivery so it leaves the bucket and is marked DELIVERED.
    operationId: DeliveryController_handleDeliveryApproved
    parameters:
    - name: deliveryId
      in: path
      value: $steps.pollInbox.outputs.deliveryId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: acknowledge
    description: Create a functional acknowledgment for the received PO.
    operationId: TransactionControllerV3_acknowledgeTransaction
    parameters:
    - name: transactionId
      in: path
      value: $steps.pollInbox.outputs.transactionId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: sendAcknowledgment
    description: Send the Purchase Order Acknowledgment (855) back to the partner.
    operationId: TransactionControllerV3_create
    successCriteria:
    - condition: $statusCode == 200