docs
EnglishChatigram website ↗Open Chatigram
Recipes

Return an order status from your business API

Receive an order identifier, extract a selected status from a connected business API, and return a compact response.

Return an order status from your business API Expand a node to see its configuration

Swipe sideways to explore the workflow branches.

  • TRIGGERHTTP Endpoint

    Example configuration

    {
      "secretKey": "",
      "authEnabled": true,
      "extractors": [
        {
          "$tag": "GetJsonValueAsString",
          "variableName": "orderId",
          "jsonPath": "$.orderId"
        }
      ]
    }
      • orderLookupExternal API integration

        Example configuration

        {
          "request": {
            "method": "GET",
            "path": [
              {
                "$tag": "Constant",
                "value": "https://business-api.example.invalid/orders/status"
              }
            ],
            "headers": [
              {
                "key": "Content-Type",
                "value": [
                  {
                    "$tag": "Constant",
                    "value": "application/json"
                  }
                ]
              }
            ],
            "queryStrings": [
              {
                "key": "orderId",
                "value": [
                  {
                    "$tag": "Variable",
                    "name": "trigger.orderId"
                  }
                ]
              }
            ],
            "body": [
              {
                "$tag": "Constant",
                "value": ""
              }
            ]
          },
          "responseHandlers": [
            {
              "$tag": "GetJsonValueAsString",
              "variableName": "status",
              "jsonPath": "$.status"
            }
          ]
        }
        • Success
          • orderReplyHTTP Response

            Example configuration

            {
              "statusCode": 200,
              "headers": [],
              "body": {
                "$tag": "Json",
                "value": {
                  "$tag": "Object",
                  "properties": [
                    {
                      "key": "status",
                      "value": {
                        "$tag": "String",
                        "value": [
                          {
                            "$tag": "Variable",
                            "name": "orderLookup.status"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
        • Error
          • orderFailureHTTP Response

            Example configuration

            {
              "statusCode": 502,
              "headers": [],
              "body": {
                "$tag": "Json",
                "value": {
                  "$tag": "Object",
                  "properties": [
                    {
                      "key": "status",
                      "value": {
                        "$tag": "String",
                        "value": [
                          {
                            "$tag": "Constant",
                            "value": "lookup_unavailable"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }

This diagram follows the downloadable workflow. Edit and run it in Chatigram.Swipe the diagram to explore its branches.

Plan availability #

Feature Free Starter Pro Enterprise
Active workflows 3 10 45 Unlimited

Allowances follow the published Chatigram pricing page. Your organization’s Billing & Plans screen confirms its subscription and current usage. Plans can change. Plan information reviewed 2026-11-10.

The business outcome #

Receive an order identifier, extract a selected status from a connected business API, and return a compact response.

This is an importable starter using Chatigram’s current native nodes. It needs destination-specific setup; it does not imply a dedicated connector for every CRM or ERP brand. Check your software’s API documentation and permissions.

Before you begin #

Set the endpoint secret, order-system API URL, authorization, expected order identifier, and response extraction path. Add the access checks your use case requires.

The reserved example.invalid endpoint is deliberately non-working. No real customer data, account credentials, or private resource identifiers are embedded. Keep the workflow disabled until setup is complete.

Configure the workflow #

  1. Set a fresh secret on the workflow endpoint. The example is not a public customer identity or order-ownership verification system.
  2. Configure orderLookup against the read endpoint your order system provides and map its order identifier.
  3. Select only the status field your caller needs. The example deliberately does not forward the full order, address, or payment response.
  4. Add the validation and access checks appropriate to your caller before exposing real order information.

Test the outcomes #

  • Test an authorized order, a missing order, and an unavailable API response.
  • Check that an empty status is not presented as a valid delivery update.
  • Confirm the caller receives only the intended fields.

Open Workflow Activity after the test. Import validation checks the definition; it does not prove a remote API accepted the business operation. Check the destination before repeating a send or write.

Make it your own #

Put reusable public settings in Properties, configure credentials through the protected connection options, and keep explicit error paths. Explore App Connections for existing provider-specific actions you can substitute through the editor.

Use the copy controls below for the complete workflow or its first node. The diagram and downloads come from the same definition. Use Share recipe to share the guide’s public address.

READY TO CUSTOMIZE

Try this in Chatigram

Setup required. Set the endpoint secret, order-system API URL, authorization, expected order identifier, and response extraction path. Add the access checks your use case requires. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects.

Download JSON
View workflow JSON
Workflow JSON
{
  "format": "chatigram-workflow",
  "version": 1,
  "metadata": {
    "sourceName": "Return an order status from your business API",
    "importHelp": {
      "note": "Setup required. Set the endpoint secret, order-system API URL, authorization, expected order identifier, and response extraction path. Add the access checks your use case requires. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects."
    }
  },
  "workflow": {
    "instruction": null,
    "multiLanguageSupport": null,
    "properties": [],
    "trigger": {
      "$tag": "Trigger",
      "type": "HTTP_ENDPOINT",
      "data": {
        "secretKey": "",
        "authEnabled": true,
        "extractors": [
          {
            "$tag": "GetJsonValueAsString",
            "variableName": "orderId",
            "jsonPath": "$.orderId"
          }
        ]
      }
    },
    "nodes": [
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000001",
        "name": "orderLookup",
        "parentId": null,
        "branchIndex": 0,
        "type": "HTTP_REQUEST_NODE_TYPE",
        "data": {
          "request": {
            "method": "GET",
            "path": [
              {
                "$tag": "Constant",
                "value": "https://business-api.example.invalid/orders/status"
              }
            ],
            "headers": [
              {
                "key": "Content-Type",
                "value": [
                  {
                    "$tag": "Constant",
                    "value": "application/json"
                  }
                ]
              }
            ],
            "queryStrings": [
              {
                "key": "orderId",
                "value": [
                  {
                    "$tag": "Variable",
                    "name": "trigger.orderId"
                  }
                ]
              }
            ],
            "body": [
              {
                "$tag": "Constant",
                "value": ""
              }
            ]
          },
          "responseHandlers": [
            {
              "$tag": "GetJsonValueAsString",
              "variableName": "status",
              "jsonPath": "$.status"
            }
          ]
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000002",
        "name": "orderReply",
        "parentId": "d0c00000-0000-4000-8000-000000000001",
        "branchIndex": 0,
        "type": "HTTP_RESPONSE",
        "data": {
          "statusCode": 200,
          "headers": [],
          "body": {
            "$tag": "Json",
            "value": {
              "$tag": "Object",
              "properties": [
                {
                  "key": "status",
                  "value": {
                    "$tag": "String",
                    "value": [
                      {
                        "$tag": "Variable",
                        "name": "orderLookup.status"
                      }
                    ]
                  }
                }
              ]
            }
          }
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000003",
        "name": "orderFailure",
        "parentId": "d0c00000-0000-4000-8000-000000000001",
        "branchIndex": 1,
        "type": "HTTP_RESPONSE",
        "data": {
          "statusCode": 502,
          "headers": [],
          "body": {
            "$tag": "Json",
            "value": {
              "$tag": "Object",
              "properties": [
                {
                  "key": "status",
                  "value": {
                    "$tag": "String",
                    "value": [
                      {
                        "$tag": "Constant",
                        "value": "lookup_unavailable"
                      }
                    ]
                  }
                }
              ]
            }
          }
        }
      }
    ],
    "gotos": []
  }
}
Keep building.Need help with this? Explore troubleshooting ↗

Find an answer. Try “welcome workflow”, “database”, or “Telegram”.