Ingress

The MelodyArc platform services tasks. Tasks are received via webhook.

Sending a task

Tasks are sent to the MelodyArc platform by sending an HTTP request to the ingress endpoint.

🚧

Ingress endpoint

The primary endpoint is https://<domain>.melodyarc.app, with the default domain being "awe". Clients, such as enterprise clients, may have a different domain.

The request must contain key properties within the body.

  • organization: The unique identifier of the client organization
  • id: External identifier of a task
  • dedupe_key: External identifier used to mark a task as unique. This is useful when a task receives an update and servicing should be combined with the previous version of the task.
  • type: External indicator of the type of task, usually the same value as task_type
  • task_type: The type of task used within the MelodyArc platform. See task types for standard options.
  • data: Data that will be passed into the data token if a configuration is activated.

Example

Following is an example curl request used to create a task.

🚧

Webhook Key

A valid webhook key will create a task in its assigned organization. Keep the key secure and treat it like a password.

curl -X POST "https://<domain>.melodyarc.app/webhooks/v1/<organization_id>" \
  -H "Content-Type: application/json" \
  -H "x-melodyarc-webhook-key: <webhook_key>" \
  -H "x-melodyarc-organization-id: <organization_id>" \
  -d '{
    "organization_id": "<organization_id>",
    "dedupe_key": "<dedupe_key>",
    "id": "<id>",
    "type": "<type>",
    "task_type": "<type>",
    "data": "<your data in json object>"
}'

Example

curl -X POST "https://aea.melodyarc.app/webhooks/v1/org_689facc36e8ec4bb9abcc976" \
  -H "Content-Type: application/json" \
  -H "x-melodyarc-webhook-key: wh_12345ABC123" \
  -H "x-melodyarc-organization-id: org_689facc36e8ec4bb9abcc976" \
  -d '{
    "organization_id": "org_689facc36e8ec4bb9abcc976",
    "dedupe_key": "today12345",
    "id": "today12345",
    "type": "ticket",
    "task_type": "ticket",
    "data": {
      "task": {
        "intent": "sandbox",
        "type": "ticket"
      }
    }
  }'


What’s Next