AIRUDDER API
  1. Workflow
AIRUDDER API
  • Introductions
  • Quick Start
  • Get the Authorization token
    • Token Authentication and Obtain
      POST
  • Error Codes
    • Error Codes
  • Workflow
    • Webhooks of the Info of Predictive Dialer System
      • Webhook of Predictive Dialer Task Status Changes
      • Webhook of Predictive Dialer Contacts Status Changes
      • Webhook of Predictive Dialer Agents Status Changes
    • Create a New WorkFlow Task
      POST
    • Obtain the List of Workflow Templates
      GET
    • Add lists to an workflow task
      POST
    • Update the List Info of Workflow Task
      POST
    • Cancel the processes for a specific list
      POST
    • Notification of Call Completion in Workflow (Debt Collection/Marketing/E-commerce)
      POST
    • Notification of Call Completion in Workflow(Info Check)
      POST
    • Custom API Node Data Push
      POST
    • Verify the Custom API Node Data Push
      POST
    • Stop the Workflow Task
      POST
    • Obtain the Workflow Task List
      GET
    • Obtain the Subtask List of the Workflow
      GET
    • Obtain the Outbound Task List of Workflow
      POST
    • Obtain the Outbound Task Details of Workflow(Collection/Telemarketing/E-commerce)
      POST
    • Obtain the Outbound Task Details of Workflow(Info Check)
      POST
    • Obtain Call Information and Recording Links by callee/caseid and taskid/workflow_id
      GET
    • Obtian Call Information and Recording Link by Call ID
      GET
    • Obtain All the Recordings of a Single Number in the Workflow
      GET
    • Query workflow_id using case_id/callee
      POST
    • Notification for Workflow List Completion
      POST
    • Notification of Workflow Status Change
      POST
    • Obtain the WABA Tasks List of Workflow
      GET
    • Obtain the WABA Task Details of Workflow
      GET
    • Notification of WABA Message Status Alteration in Workflow
      POST
    • Chatbot Session End Notification in Workflow
      POST
  1. Workflow

Notification of Call Completion in Workflow (Debt Collection/Marketing/E-commerce)

Production
Production
POST
The integrating party should provide this URL for configuration by our side.
When the phone call for a task is completed (connected or reaching the maximum dialing attempts), whether connected or not, notify the integrating party of the call data.
For example, task1 have three numbers (number1, number2, and number3). When the task starts dialing, if number1 is connected, the callback for number1's call information should be initiated. If number2 and number3 are not connected, the system should perform the configured number of redial attempts until the call is connected or the maximum attempts are reached, and then initiate the callback.
If the provided URL encounters an exception, our system will retry at 1-minute intervals, for a maximum of 5 retries. After 5 failed attempts, no further notifications will be sent. Please respond within 10 seconds upon receiving the data and handle the data storage and subsequent logic asynchronously.
The integrating party needs to provide two parameters for configuration:
URL: The callback address.
KEY: The key used for parameter signing, with the default signature using "airudder".

Request

Header Params
Content-Type
string 
required
Default:
application/json
User-Agent
string 
optional
Default:
Airudder
Body Params application/json
workflow_id
string 
required
Workflow uniquely id.
workflow_name
string 
required
Workflow name.
nodetask_id
string 
required
Workflow node details ID, no need to follow.
nodetask_name
string 
required
Workflow node task name.
TaskID
string 
required
Outbound call task ID.
TaskName
string 
required
Task Name.
Sign
string 
required
Md5 signature value, the party can verify the signature and then perform subsequent processing on the task ID. You can also do no verification.Signature rule: The hexadecimal lowercase value of the utf-8 encoded md5 calculation result of TaskID+KEY. For example TaskID=ac23fa05005e59b92e0b8a19fa5faf07 KEY=airudderCalculation formula= md5(TaskID+KEY).hexdigest()md5 value = 4d6017151d678e816c678d90e56e6e28
Details
array [object {34}] 
required
Time returned is in UTC +00:00 time zone.
id
integer 
required
Phone details ID, no need to follow.
RobotID
string 
required
The RobotID of the robot use in the call.
CalleeName
string 
required
CalleeGender
string 
required
CalleeNumber
string 
required
CallStartTime
string 
required
User connected time, excluding ringing time. The returned time is UTC +00:00 time zone.
CallEndTime
string 
required
End the call time. The returned time is UTC +00:00 time zone.
Status
enum<string> 
required
Allowed values:
createdpendingfinishedcancelledfailed
Intention
string 
required
Intent Labels, different robots have different intent labels.
CallID
string 
required
A unique ID for each call
CallTimes
integer 
required
Number of calls, which counts the number of dialed call before it is picked up.
Comments
string 
required
BorrowedDate
string 
optional
Robot Variable, same as the one uploaded during creation. (Only applicable in the collections scenario)
DueDate
string 
optional
Robot Variable, same as the one uploaded during creation. (Only applicable in the collections scenario)
BorrowedAmount
string 
optional
Robot Variable, same as the one uploaded during creation. (Only applicable in the collections scenario)
TotalOwingAmount
string 
optional
Robot Variable, same as the one uploaded during creation. (Only applicable in the collections scenario)
CurrencyUnit
string 
optional
Robot Variable, same as the one uploaded during creation. (Only applicable in the collections scenario)
PlatformName
string 
required
Robot Platform Name, the platform name will be determined between our side and your side during the robot creation process.
RingType
enum<string> 
required
Ring Category, initial value is null.
Allowed values:
busycantuseholdlineswitchoffoutofareaunregisterwrongnumnotmatchnormalnull
HangupType
enum<string> 
required
Hangup Category, initial value is ByRobot.
Allowed values:
ByCalleeByRobotCanceled
ExtraA
string 
optional
Robot Variable, same as the one uploaded during creation.
ExtraB
string 
optional
Robot Variable, same as the one uploaded during creation.
ExtraC
string 
optional
Robot Variable, same as the one uploaded during creation.
AsrResult
array [object {3}] 
optional
Robot and user dialogue text for the call. (This field varies by country, please contact us if needed.)
AsrPTP
string 
optional
EventLabel
object 
optional
Event labels hit during the call. (This field varies by country, please contact us if needed.)
CaseID
string 
required
The unique number of the customer.
Variables
object 
required
Custom variables
RingTime
integer 
optional
Ring duration of the call. (This field varies by country/region. If you need more information, please contact us.)
TalkRound
integer 
optional
Conversation rounds. (This field varies by country/region. If you need more information, please contact us.)
RedailCall
array [object {8}] 
optional
Specific information on redialing within the rounds for the call. (This field varies by country, please contact us if needed.)
NerSlots
object 
optional
Slot key and value information for the call. (This field varies by country/region. If you need more information, please contact us.)
intention_description
string 
optional
Intent description, different robots have different intent descriptions. (This field varies by country/region. If you need more information, please contact us.)
caller_number
string 
optional
Caller's phone number for the call. (This field varies by country/region. If you need more information, please contact us.)
Example
{
  "workflow_id": "16e0660e6cxxxxxxxxxxxxxxxx0abfe0e191",
  "workflow_name": "test_wf_call_webhook1",
  "nodetask_id": "4d308b4ed6xxxxxxxxed6a76e15d",
  "nodetask_name": "Voicebot Call1_f405f7",
  "TaskID": "490d5ec3c1xxxxxxxx2b759b5b",
  "TaskName": "wf_test_wf_call_webhook_Voicebot Call1_26bcf0",
  "Sign": "a395ce1acxxxxxxxx7bab53f5",
  "Details": [
    {
      "id": 2123875204,
      "RobotID": "4585",
      "CalleeName": "WILL SMITH",
      "CalleeGender": "",
      "CalleeNumber": "+86xxxxxxxx721",
      "CallStartTime": "2024-03-11T03:20:30Z",
      "CallEndTime": "2024-03-11T03:20:56Z",
      "Status": "finished",
      "Intention": "E",
      "CallID": "cad907xxxxxxxx35644a",
      "CallTimes": 2,
      "Comments": "7777777.0",
      "BorrowedDate": "2024-02-01",
      "DueDate": "2024-03-02",
      "BorrowedAmount": "20000.00",
      "TotalOwingAmount": "20310.00",
      "CurrencyUnit": "USD",
      "PlatformName": "AIRUDDER",
      "RingType": "normal",
      "HangupType": "ByRobot",
      "ExtraA": "",
      "ExtraB": "",
      "ExtraC": "",
      "AsrResult": [
        {
          "time": "00:00:00",
          "robottext": "halo (jeda 1-2 detik) selamat pagi",
          "text": ""
        },
        {
          "time": "00:00:03",
          "robottext": "Apa boleh minta waktunya sebentar?",
          "text": ""
        },
        {
          "time": "00:00:11",
          "robottext": "",
          "text": ""
        },
        {
          "time": "00:00:11",
          "robottext": "Halo",
          "text": ""
        },
        {
          "time": "00:00:13",
          "robottext": "",
          "text": ""
        },
        {
          "time": "00:00:13",
          "robottext": "mengapa tidak berbicara?",
          "text": ""
        },
        {
          "time": "00:00:18",
          "robottext": "",
          "text": ""
        },
        {
          "time": "00:00:18",
          "robottext": "Halo? Apa suara saya terdengar?",
          "text": ""
        }
      ],
      "RingTime": 5,
      "TalkRound": 0,
      "RedailCall": [
        {
          "CallID": "cb035452180xxxxxxxxb2c7db",
          "CallStartTime": "2024-03-11 10:19:27",
          "RingType": "normal",
          "RingTime": 2,
          "HangupType": "ByCallee",
          "ResultLabel": "F",
          "callee_number": "+86xxxxxxxx01",
          "caller_number": "+950xxxxxxxx88"
        }
      ],
      "NerSlots": {
        "PaymentMethod": "Transfer",
        "PaymentTime": "Time_0"
      },
      "intention_description": "Needs Follow Up",
      "EventLabel": {
        "A0": "A0",
        "Correct_Person": "identity_correct_person",
        "Request_Installment": "action_item_request_installment"
      },
      "caller_number": "+95xxxxxxxx88",
      "CaseID": "7777777.0",
      "Variables": {
        "var1": "aaa",
        "var2": "bbb",
        "var3": "ccc"
      }
    }
  ]
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'The integrating party should provide this URL for configuration by our side.' \
--header 'User-Agent: Airudder' \
--header 'Content-Type: application/json' \
--data-raw '{
  "workflow_id": "16e0660e6cxxxxxxxxxxxxxxxx0abfe0e191",
  "workflow_name": "test_wf_call_webhook1",
  "nodetask_id": "4d308b4ed6xxxxxxxxed6a76e15d",
  "nodetask_name": "Voicebot Call1_f405f7",
  "TaskID": "490d5ec3c1xxxxxxxx2b759b5b",
  "TaskName": "wf_test_wf_call_webhook_Voicebot Call1_26bcf0",
  "Sign": "a395ce1acxxxxxxxx7bab53f5",
  "Details": [
    {
      "id": 2123875204,
      "RobotID": "4585",
      "CalleeName": "WILL SMITH",
      "CalleeGender": "",
      "CalleeNumber": "+86xxxxxxxx721",
      "CallStartTime": "2024-03-11T03:20:30Z",
      "CallEndTime": "2024-03-11T03:20:56Z",
      "Status": "finished",
      "Intention": "E",
      "CallID": "cad907xxxxxxxx35644a",
      "CallTimes": 2,
      "Comments": "7777777.0",
      "BorrowedDate": "2024-02-01",
      "DueDate": "2024-03-02",
      "BorrowedAmount": "20000.00",
      "TotalOwingAmount": "20310.00",
      "CurrencyUnit": "USD",
      "PlatformName": "AIRUDDER",
      "RingType": "normal",
      "HangupType": "ByRobot",
      "ExtraA": "",
      "ExtraB": "",
      "ExtraC": "",
      "AsrResult": [
        {
          "time": "00:00:00",
          "robottext": "halo (jeda 1-2 detik) selamat pagi",
          "text": ""
        },
        {
          "time": "00:00:03",
          "robottext": "Apa boleh minta waktunya sebentar?",
          "text": ""
        },
        {
          "time": "00:00:11",
          "robottext": "",
          "text": ""
        },
        {
          "time": "00:00:11",
          "robottext": "Halo",
          "text": ""
        },
        {
          "time": "00:00:13",
          "robottext": "",
          "text": ""
        },
        {
          "time": "00:00:13",
          "robottext": "mengapa tidak berbicara?",
          "text": ""
        },
        {
          "time": "00:00:18",
          "robottext": "",
          "text": ""
        },
        {
          "time": "00:00:18",
          "robottext": "Halo? Apa suara saya terdengar?",
          "text": ""
        }
      ],
      "RingTime": 5,
      "TalkRound": 0,
      "RedailCall": [
        {
          "CallID": "cb035452180xxxxxxxxb2c7db",
          "CallStartTime": "2024-03-11 10:19:27",
          "RingType": "normal",
          "RingTime": 2,
          "HangupType": "ByCallee",
          "ResultLabel": "F",
          "callee_number": "+86xxxxxxxx01",
          "caller_number": "+950xxxxxxxx88"
        }
      ],
      "NerSlots": {
        "PaymentMethod": "Transfer",
        "PaymentTime": "Time_0"
      },
      "intention_description": "Needs Follow Up",
      "EventLabel": {
        "A0": "A0",
        "Correct_Person": "identity_correct_person",
        "Request_Installment": "action_item_request_installment"
      },
      "caller_number": "+95xxxxxxxx88",
      "CaseID": "7777777.0",
      "Variables": {
        "var1": "aaa",
        "var2": "bbb",
        "var3": "ccc"
      }
    }
  ]
}'

Responses

🟢200success
application/json
Body
object {0}
Example
{}
Modified at 2025-03-18 07:07:51
Previous
Cancel the processes for a specific list
Next
Notification of Call Completion in Workflow(Info Check)
Built with