Function API documentation

Actioname
Method
API URL
AddTime
POST
https://diabolocom.name/api.php?action=AddTime
Function description
Add minutes to the actual time (now), for example if you want to add 15 minutes to the actual time, use this function.
Allowed timecode values are: days, hours, minutes, seconds
Neccessary JSON request body
{
"start_time": "if empty then now will use as start time",
"timecode" : "days/hours/minutes/seconds",
"timetoadd" : "number to add",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"actualtime": "20/08/2024 20:53:29",
"timetoadd": "1",
"timdecode": "seconds",
"newtime": "20/08/2024 20:53:29",
"dialerformattime": "2024-08-20T20:53:29",
"regular_time": "20-08-2024 20:53",
"single_date": "2024-08-20",
"singletime": "20:53:29",
"singletimeshort": "20:53",
"newtime_en": "08/20/2024 20:53:29",
"15_minutes_interval": "20:45",
"30_minutes_interval": "20:30",
"60_minutes_interval": "20:00",
"regular_date": "20-08-2024",
"Full_Interval_15": "20-08-2024 20:45",
"Full_Interval_30": "20-08-2024 20:30",
"weekday": "Tuesday",
"regular_date_german": "20.08.2024"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "timetoadd is empty!"}
{"resultcode" => "400", "resultmessage" => "timetoadd is not a number!");}
{"resultcode" => "400", "resultmessage" => "No timecode for adding was provided. Allowed is hours, minutes , seconds or days!"}
{"resultcode" => "400", "resultmessage" => "The given timecode is not valid. Allowed is hours, minutes , seconds or days!");}
SubTime
POST
https://diabolocom.name/api.php?action=SubTime
Function description
Sub minutes to the actual time (now), for example if you want to sub 15 minutes to the actual time, use this function.
Allowed timecode values are: days, hours, minutes, seconds
Neccessary JSON request body
{
"start_time": "if empty then now will use as start time",
"timecode" : "days/hours/minutes/seconds",
"timetosub" : "number to sub",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"actualtime": "20/08/2024 20:55:34",
"timetosub": "1",
"timdecode": "seconds",
"newtime": "20/08/2024 20:55:34",
"dialerformattime": "2024-08-20T20:55:34",
"regular_time": "20-08-2024 20:55",
"single_date": "2024-08-20",
"singletime": "20:55:34",
"singletimeshort": "20:55",
"newtime_en": "08/20/2024 20:55:34",
"15_minutes_interval": "20:45",
"30_minutes_interval": "20:30",
"60_minutes_interval": "20:00",
"regular_date": "20-08-2024",
"Full_Interval_15": "20-08-2024 20:45",
"Full_Interval_30": "20-08-2024 20:30",
"weekday": "Tuesday",
"regular_date_german": "20.08.2024"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "timetoadd is empty!"}
{"resultcode" => "400", "resultmessage" => "timetoadd is not a number!");}
{"resultcode" => "400", "resultmessage" => "No timecode for adding was provided. Allowed is hours, minutes , seconds or days!"}
{"resultcode" => "400", "resultmessage" => "The given timecode is not valid. Allowed is hours, minutes , seconds or days!");}
Add
POST
https://diabolocom.name/api.php?action=Add
Function description
Add a value to an existing value. For example if you want to do 1+1.
Neccessary JSON request body
{
"actualvalue" : "Number",
"addvalue" : "Number",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"actualvalue":"1",
"addvalue":"1",
"result":2
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Actual value is not a number!"}
{"resultcode" => "400", "resultmessage" => "Addvalue is not a number!";}
Sub
POST
https://diabolocom.name/api.php?action=Sub
Function description
Subtract a value from a given value. For example 2-1
Neccessary JSON request body
{
"actualvalue" : "Number",
"subtractvalue" : "Number",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"actualvalue":"2",
"subtractvalue":"1",
"result":1
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Actualvalue is not a number!"}
{"resultcode" => "400", "resultmessage" => "Subtractvalue is not a number!";}
Multiply
POST
https://diabolocom.name/api.php?action=Multiply
Function description
Multiply 2 numbers with each other
Neccessary JSON request body
{
"value_one" : "2",
"value_two" : "2",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"value_one": "2",
"value_two": "2",
"result": 4
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Value One is not a number!"}
{"resultcode" => "400", "resultmessage" => "Value Two is not a number!"}
Divide
POST
https://diabolocom.name/api.php?action=Divide
Function description
Divide 2 numbers with each other
Neccessary JSON request body
{
"value_one" : "Number",
"value_two" : "Number",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"value_one": "6",
"value_two": "5",
"result": "1.20",
"result_round_up": 2,
"result_rounded_down": 1
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Value One is not a number!"}
{"resultcode" => "400", "resultmessage" => "Value Two is not a number!"}
Length
POST
https://diabolocom.name/api.php?action=Length
Function description
Get the length of a string
Neccessary JSON request body
{
"string" : "String",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"string": "Test",
"result": 4
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "String value is empty!"}
Remove Characters
POST
https://diabolocom.name/api.php?action=Remove_Characters
Function description
Remove characters out of a string
Neccessary JSON request body
{
"originalstring" : "String",
"removecharacters" : "Character to remove",
"replacecharacters" :"Character that should used for the replacement",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"originalstring": "Test",
"removecharaters": "t",
"replacecharacters": "",
"result": "Tes"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "ORIGINALSTRING value is empty!"}
{"resultcode" => "400", "resultmessage" => "REMOVECHARACTERS is missing!"}
{"resultcode" => "400", "resultmessage" => "REPLACECHARACTERS is missing!"}
Split into digit strings
POST
https://diabolocom.name/api.php?action=Split_into_digit_Strings
Function description
SPlit a string, based on the given length into smaller digit blocks
Neccessary JSON request body
{
"string" : "String",
"blocklength" : "A number that defines, after how many characters the string will be cutted into a new block.",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"string": "12345678",
"digitlength": "3",
"length": 8,
"Overallblocks": 3,
"Digitstring": "123 456 78 ",
"singleblocks": [
{
"block_0": "123 "
},
{
"block_1": "456 "
},
{
"block_2": "78 "
},
{
"block_3": " "
}
]
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "String value is empty!"}
{"resultcode" => "400", "resultmessage" => "Blocklength is empty!"}
Random
POST
https://diabolocom.name/api.php?action=Random
Function description
Respond with a random number between 2 integer values.
Neccessary JSON request body
{
"value_one" : "Number",
"value_two" : "Number",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"value_one": "1",
"value_two": "12",
"result": 11
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Value_one is empty!"}
{"resultcode" => "400", "resultmessage" => "Value_one is not a number!"}
{"resultcode" => "400", "resultmessage" => "Value_two is empty!"}
{"resultcode" => "400", "resultmessage" => "Value_two is not a number!"}
Time Difference
POST
https://diabolocom.name/api.php?action=Time_Difference
Function description
Provides the time differences between 2 given dates
Neccessary JSON request body
{
"time_value_1" : "Date/Time value 1",
"time_value_2" : "Date/Time value 2",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"time_value_1": {
"date": "2023-01-01 00:00:00.000000",
"timezone_type": 3,
"timezone": "Europe/Berlin"
},
"time_value_2": {
"date": "2023-12-15 00:00:00.000000",
"timezone_type": 3,
"timezone": "Europe/Berlin"
},
"years": 0,
"months": 11,
"days": 348,
"hours": 8352,
"minutes": 501120,
"seconds": 30067200,
"difference_in_hours": 8352,
"difference_in_minutes": 501120,
"difference_in_seconds": 30067200,
"timevalue1frame": "Past",
"timevalue2frame": "FUTURE"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Time_Value_1 is empty!"}
{"resultcode" => "400", "resultmessage" => "Time_Value_2 is empty!"}
Split String
POST
https://diabolocom.name/api.php?action=Split_String
Function description
Provides the time differences between 2 given dates
Neccessary JSON request body
{
"string" : "STRING",
"split_string_start" : "Startpoint to split",
"split_string_end" : "Endpoint to split",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"string": "Testuser",
"split_string_start": 0,
"split_string_end": "7",
"result": "Testuse"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Time_Value_1 is empty!"}
{"resultcode" => "400", "resultmessage" => "Time_Value_2 is empty!"}
Date Info
POST
https://diabolocom.name/api.php?action=Date_Info
Function description
Provides all relevant informations about a given date and optional about a given time.
Neccessary JSON request body
{
"date" : "22/12/2021 10:10:10",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Allowed date formats are as well: dd.mm.YYYY or dd-mm-YYYY.
Json result format and content
{
"resultcode": "200",
"originaldate": "22-05-2021 09:52",
"date_only" : "22-12-2021",
"time": "09:52",
"fulltime": "09:52:00",
"year": "2021",
"yearshort": "21",
"month_full": "May",
"month_short": "May",
"month_number": "05",
"day": "Saturday",
"dayshort": "Sat",
"daynumber": "22",
"hour": "09",
"meridiem": "AM",
"minutes": "52",
"seconds": "00",
"timezone": "Europe\/Berlin",
"leapyear": "0",
"calendarweek": "20",
"maxdaysmonth": "31",
"dialerformattime": "2021-05-22T09:52:00",
"date_reverse": "2021-05-22"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Time_Value_1 is empty!"}
{"resultcode" => "400", "resultmessage" => "Time_Value_2 is empty!"}
Separate String
POST
https://diabolocom.name/api.php?action=separatestring
Function description
Separate a string and put a defined element between each single separation.
Neccessary JSON request body
{
"string" : "String",
"split_after" : "Amount of digits per block",
"split_symbol" : "Symbol to split the blocks with",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"string": "Teststring",
"split_after": "3",
"split_symbol": "-",
"result": "Tes-tst-rin-g-"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "Time_Value_1 is empty!"}
{"resultcode" => "400", "resultmessage" => "Time_Value_2 is empty!"}
Phone Details
POST
https://diabolocom.name/api.php?action=Phone_Details
Function description
Provide different informations about a given phonenumber!
Neccessary JSON request body
{
"phonenumber" : "Phonenumber with leading +",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"phonennumber": "+33176490490",
"region_code": "FR",
"country_code": "33",
"nation_number": "176490490",
"number_type": "FIXED_LINE",
"number_valid": true,
"number_possible": true
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "The given phonenumber is missing the leading + sign!"}
UTC_TIME
POST
https://diabolocom.name/api.php?action=UTC_TIME
Function description
Provides the information about the actual UTC time and the given time difference for a provided timezone. Possible time zone values can be found here: https://www.php.net/manual/en/timezones.php
Neccessary JSON request body
{
"timezone" : "Europe/Berlin",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"UTC_TIME": "25.05.2021 15:57:40",
"Timezone": "Europe\/Berlin",
"Timezone_Time": "25.05.2021 17:57:40",
"TimeDifference_Hour": "2",
"Formatted_Difference": "02:00",
"FullTimeDifference": "+02:00",
"DifferenceSign": "+"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "TimeZone is empty!"}
{"resultcode" => "400", "resultmessage" => "Given timezone is not valid!"}
HTML2Image
POST
https://diabolocom.name/api.php?action=HTML2Image
Function description
Create an image file from given HTML code - could be used to implement additional data into Wallboards. Image format will be JPG.
To create your HTML code with the needed CSS style information, you could use: https://codepen.io
The final HTML and CSS code can after this be minified with the following tool: https://www.willpeavy.com/tools/minifier/
Replacing the " with an ' in the HMTL and CSS code could be easily done with MS Word and the Search and Replace function.
Neccessary JSON request body
{
"html" : "The full html code without linebreaks, doublequotes needs to be escaped with single quotes ' ",
"filename" : "the name of the file - file extension will be automatic set.",
"folder": "folder name, where the image should be stored",
"clientdetails": {
"customer_identifier": "clientname",
"customer_scenario": "clientscenario"
}
}
Json result format and content
{
"filename":"tes2231",
"folder":"test/",
"imageurl":"https://static.diabolocom.de/wallboards/images/test/tes2231.jpg"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "TimeZone is empty!"}
{"resultcode" => "400", "resultmessage" => "Given timezone is not valid!"}
Compare
POST
https://diabolocom.name/api.php?action=Compare
Function description
Compare 2 values with each other.
Neccessary JSON request body
{
"valueone" : "String value 1.",
"valuetwo" : "String value 2.",
"clientdetails": {
"customer_identifier": "clientname",
"customer_scenario": "clientscenario"
}
}
Json result format and content
{
"valueone": "5245",
"valuetwo": "5245",
"result": "VAL_1 (Value 1 is greater) / VAL_2 (Value 2 is greater) / Equal (Both values asre equal)"
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "valueone is empty!"}
{"resultcode" => "400", "resultmessage" => "valuetwo is empty!"}
Send_Mail
POST
https://diabolocom.name/api.php?action=Send_Mail
Function description
Send an eMail via Webservice call (only from Diabolocom Platforms)
Neccessary JSON request body
{
"mailrecipient" : "Reciepient address (multiple recipient should be separated by a ;)",
"mailrecipientcc" : "CC recipients (multiple recipient should be separated by a ;)",
"mailrecipientbcc" : "BCC recipients (multiple recipient should be separated by a ;)",
"mailsubject" : "The subject of the email!",
"mailbody" : "The body of the eMail. All data which are enclosed with a " needs to be masked with a ' !",
"clientdetails": {
"customer_identifier": "clientname",
"customer_scenario": "clientscenario"
}
}
Json result format and content
{
"mailrecipient": "mailrecipient",
"mailrecipientcc": "mailrecipientcc",
"mailrecipientbcc": "mailrecipientbcc",
"mailsubject": "mailsubject",
"mailbody": "mailbody",
"result": "200",
}
Error messages format and content
{"resultcode" => "400", "resultmessage" => "You are not allowed to use this functions api!"} -> Request doesn´t come from a Diabolocom platform!
{"resultcode" => "400", "resultmessage" => "The mailsender eMail address is not valid!"}
{"resultcode" => "400", "resultmessage" => "The mailrecipient eMail address is not valid!"}
{"resultcode" => "400", "resultmessage" => "The mailrecipientCC eMail address is not valid!"}
{"resultcode" => "400", "resultmessage" => "The mailrecipientBCC eMail address is not valid!"}
{"resultcode" => "400", "resultmessage" => "The mailsubject is empty!"}
{"resultcode" => "400", "resultmessage" => "The mailbody is empty!"}
{"resultcode" => "400", "resultmessage" => "Send WebService request headers option is missing!"}
{"resultcode" => "400", "resultmessage" => "Wrong configuration for the Send request headers was provided!"}
{"resultcode" => "400", "resultmessage" => "Customer Identifier is empty!"}
{"resultcode" => "400", "resultmessage" => "Customer Scenario is empty!"}
Contains
POST
https://diabolocom.name/api.php?action=Contains
Function description
Check if a given string contains a given letters, number or symbol
Neccessary JSON request body
{
"string" : "The string that has to be checked for a given value!",
"contain_value" : "The value that shouuld be part of the string.",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"String": " {{skill1}}",
"Contain_Value": "{",
"result": "TRUE/FALSE"
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"The given string is not allowed to be empty!"}
{"resultcode":"400","resultmessage":"Contain value is not allowed to be set!"}
SSH_KEY
POST
https://diabolocom.name/api.php?action=SSH_KEY
Function description
Generates a SSH KEY/Value pair for the login to the SFTP with a SSH public key instead of a password.
Neccessary JSON request body
{
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"SSH_KEY_IDENTIFIER": "customer name or identifier_3fd63284-f445-45d6-8713-99a5b3491c46",
"SSH_KEY_CREATED_ON": "11-02-2022 19:46:11",
"PublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDLK8SHPToyYkUwdnuHgab17YeFqurVUTP+s+U7SfuixLIhm7W02LsoAv7I2cEXPrcfXpcebuy9pyS4CJkyI5Ylxw/0eAho+XgsXepB3V46MsX4S/CpsvNu9YuY5e93kvPftFpc1GbzKrY9KxKDBjRKrh3oS8ULDOa30kBJLX7FEZPXjMgpNrJyaP36sXzY+XRJjyOvbH5NvrNIFbeu5ia3j+lrTfahdMm4TSAKWom/Px+I9xmbnJfvStR9TuWG022UY+NSw1qHR0BYcNBYg+c7YRKhlqVfqJpez39Numtg1+Mejh/QOb7HdOj7svfr/ak7XXJnDOy1Zh/vL4acfmJoEAx8p5qPkL4EZA9Ol/QciATJ0XXnYp+VXZ6rX4H1h/Ke0mCMJqJLfxZjPOqAubcV+Kz7u69SWpi7K1Q8j2V5oPSuY+CECi0bla5XhS5am1eMfKCTR55zJboVrP/VL07gDA0GnZ5QVwswxUZj8eaLqVtlq/FUh3GWKPY5ld6QN8cHZFG4Rw5lMoQVKJzzonjk+46Gj8BXa1ya6Fhr2pHb8zUOvtg32NAfawaoqTsbQvSb93ACCg8l/zk5nVimwFNn3f0Dti1unK8b2RBvW06wjqymBftHXhkD8pNb2NNHZ7isVEWj/sb1hTJudmUtrNW2+xd+qTdijuhPkJlnChiuHw=="
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"customer_identifier is not allowed to be empty!"}
{"resultcode":"400","resultmessage":"customer_scenario is not allowed to be set!"}
Split string by Symbol
POST
https://diabolocom.name/api.php?action=SPLIT_STRING_BY_SYMBOL
Function description
Split a given string by a symbol like @ etc.
Neccessary JSON request body
{
"string" : "{{String}}",
"split_after_symbol" : "Symbol to split",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"string": "mail@test.com",
"split_after_symbol": "@",
"first_element_number": "0",
"last_element_number": 1,
"arraycount": 2,
"result": [
"mail",
"test.com"
]
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"customer_identifier is not allowed to be empty!"}
{"resultcode":"400","resultmessage":"customer_scenario is not allowed to be set!"}
{"resultcode":"400","resultmessage":"String is empty!"}
{"resultcode":"400","resultmessage":"SPLIT_AFTER_SYMBOL is empty!"}
Remove letters from String
POST
https://diabolocom.name/api.php?action=FILTER_NUMBERS_FROM_STRING
Function description
Remove all non number digits from a string
Neccessary JSON request body
{
"input_string" : "{{input_string}}",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": 200,
"input_string": "1A457Zt57",
"result": "145757"
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"Input string cannot be empty!"}
GET_QUEUE_ID_NAME
POST
https://diabolocom.name/api.php?action=GET_QUEUE_ID_NAME
Function description
Get Queue ID from Name
Neccessary JSON request body
{
"queuename" : "{{queuename}}",
"publictoken" : "{{publictoken}}",
"platform" : "{{platform}}",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"QueueName": "FR Laura",
"queueId": "11014734",
"values": {
"queueId": "11014734.00",
"queueName": "FR LAURA",
"activityId": "1043",
"activityName": "Laura",
"numberOfAgentsBusy": 0,
"numberOfCallsDissuaded": 12,
"numberOfAgentsWorking": 0,
"dissuasionRate": "0.40",
"avgHandleTime": "261698.53",
"queueAvgWaitingTimeBeforeDissuasion": "55070.50",
"numberOfContactsTransferredToAgent": 0,
"numberOfAgentsAvailable": 0,
"numberOfContactsTransferredToQueue": 0,
"numberOfContactsTransferredToExtNumber": 0,
"pickupRateLess60s": "1.00",
"numberOfAgentsConnected": 0,
"queueAvgWaitingTimeBeforePickup": "29343.52",
"pickupRateLess30s": "0.94",
"abandonRate": "0.03",
"avgTreatmentTime": "260611.82",
"pickupRateLess20s": "0.88",
"pickupRateLess10s": "0.65",
"numberOfCallsAbandoned": 1,
"avgHoldTime": "0.00",
"avgAfterCallWorkTime": "1170.35",
"numberOfContactsPresented": 30,
"numberOfContactsWaiting": 0,
"pickupRateLess180s": "1.00",
"numberOfContactsHandled": 17,
"maxWaitingTime": "0.00",
"handleRate": "0.57",
"pickupRateLess90s": "1.00",
"queueAvgWaitingTimeBeforeAbandon": "48255.00"
}
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"Queuename cannot be empty!"}
{"resultcode":"400","resultmessage":"Publictoken cannot be empty!"}
{"resultcode":"400","resultmessage":"Platform cannot be empty!"}
{"resultcode":"400","resultmessage":"Invalid Platform was given!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
GENERATE_BASIC_AUTH_BASE64
POST
https://diabolocom.name/api.php?action=GENERATE_BASIC_AUTH_BASE64
Function description
Generates a BASE64 encoded Header from Username and Passwort for BASIC AUTH
Neccessary JSON request body
{
"username" : "{{username}}",
"password" : "{{password}}",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}
}
Json result format and content
{
"resultcode": "200",
"result": "BAASE64 encoded AUTH Header"
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"Queuename cannot be empty!"}
{"resultcode":"400","resultmessage":"Publictoken cannot be empty!"}
{"resultcode":"400","resultmessage":"Platform cannot be empty!"}
{"resultcode":"400","resultmessage":"Invalid Platform was given!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
FILE_TRANSFER sFTP
POST
https://diabolocom.name/api.php?action=FILE_TRANSFER
Function description
TRANSFER a file to sFTP server
Neccessary JSON request body
{
"diabolocom": {
"platform": "{{platform}}",
"public_token": "{{Public API Token}}",
"foldername" : "/sound_files/all_recordings/dates/{{YYYY-MM-DD}}",
"callid": "{{callID}}"
},
"destination" : {
"service" : "sFTP",
"filename" : "If a specific file name should be used!",
"sFTP" : {
"server" : "",
"port" : "",
"folder" : "",
"user" : "",
"password" : "",
"sshkey" : ""
} },
"file": {
"creation" : "YES/NO",
"type" : "File ending of the specific file",
"filename" : "File name of the specific file without file type ending",
"file_content" : "Content of the specific file - always use ' as sign - no doublequotes allowed"
},
"debug" : {
"FAILURES_ONLY" : "0/1/2 = 0 = Never, 1 only when failure, 2 for every transaction in any case",
"debugmail_recipients" : ""
},
"clientdetails": {
"customer_identifier": "{{PLATFORM}}-{{ACCOUNTNUMBER}}",
"customer_scenario": "{{Scenarioname}}"
}
}
Json result format and content
{
"resultcode": "200",
"result": "BAASE64 encoded AUTH Header"
}
Result and error messages format and content
{"resultcode":"200","resultmessage": File filename was transfered!"}
{"resultcode":"400","resultmessage":"File cannot be found yet, will be queued for further procedure!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
{"resultcode":"400","resultmessage":"Dedicated errormessage"}
FILE_TRANSFER FTP
POST
https://diabolocom.name/api.php?action=FILE_TRANSFER
Function description
TRANSFER a file to a FTP Server
Neccessary JSON request body
{
"diabolocom": {
"platform": "{{platform}}",
"public_token": "{{Public API Token}}",
"foldername" : "/sound_files/all_recordings/dates/{{YYYY-MM-DD}}",
"callid": "{{callID}}"
},
"destination" : {
"service" : "FTP",
"filename" : "If a specific file name should be used!",
"FTP" : {
"server" : "",
"port" : "",
"folder" : "",
"user" : "",
"password" : ""
} },
"file": {
"creation" : "YES/NO",
"type" : "File ending of the specific file",
"filename" : "File name of the specific file without file type ending",
"file_content" : "Content of the specific file - always use ' as sign - no doublequotes allowed"
},
"debug" : {
"FAILURES_ONLY" : "0/1/2 = 0 = Never, 1 only when failure, 2 for every transaction in any case",
"debugmail_recipients" : ""
},
"clientdetails": {
"customer_identifier": "{{PLATFORM}}-{{ACCOUNTNUMBER}}",
"customer_scenario": "{{Scenarioname}}"
}
}
Json result format and content
{
"resultcode": "200",
"result": "BAASE64 encoded AUTH Header"
}
Result and error messages format and content
{"resultcode":"200","resultmessage": File filename was transfered!"}
{"resultcode":"400","resultmessage":"File cannot be found yet, will be queued for further procedure!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
{"resultcode":"400","resultmessage":"Dedicated errormessage"}
FILE_TRANSFER s3
POST
https://diabolocom.name/api.php?action=FILE_TRANSFER
Function description
TRANSFER a file to an s3 bucket
Neccessary JSON request body
{
"diabolocom": {
"platform": "{{platform}}",
"public_token": "{{Public API Token}}",
"foldername" : "/sound_files/all_recordings/dates/{{YYYY-MM-DD}}",
"callid": "{{callID}}"
},
"destination" : {
"service" : "S3",
"filename" : "If a specific file name should be used!",
"s3" : {
"s3user" : "",
"s3password" : "",
"s3region" : "",
"s3bucket" : "",
"s3endpoint" : "",
"s3ssekmskeyid" : "",
"s3serversideencryption" : "",
"s3acl" : ""
}
},
"file": {
"creation" : "YES/NO",
"type" : "File ending of the specific file",
"filename" : "File name of the specific file without file type ending",
"file_content" : "Content of the specific file - always use ' as sign - no doublequotes allowed"
},
"debug" : {
"FAILURES_ONLY" : "0/1/2 = 0 = Never, 1 only when failure, 2 for every transaction in any case",
"debugmail_recipients" : ""
},
"clientdetails": {
"customer_identifier": "{{PLATFORM}}-{{ACCOUNTNUMBER}}",
"customer_scenario": "{{Scenarioname}}"
}
}
Json result format and content
{
"resultcode": "200",
"result": "BAASE64 encoded AUTH Header"
}
Result and error messages format and content
{"resultcode":"200","resultmessage": File filename was transfered!"}
{"resultcode":"400","resultmessage":"File cannot be found yet, will be queued for further procedure!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
{"resultcode":"400","resultmessage":"Dedicated errormessage"}
FILE_TRANSFER Mail
POST
https://diabolocom.name/api.php?action=FILE_TRANSFER
Function description
TRANSFER a file via eMail
Neccessary JSON request body
{
"diabolocom": {
"platform": "{{platform}}",
"public_token": "{{Public API Token}}",
"foldername" : "/sound_files/all_recordings/dates/{{YYYY-MM-DD}}",
"callid": "{{callID}}"
},
"destination" : {
"service" : "Mail",
"filename" : "If a specific file name should be used!",
"Mail" : {
"MAIL_RECIEPIENTS" : "",
"MAIL_CC_RECIEPIENTS" : "",
"MAIL_BCC_RECIEPIENTS" : "",
"MAIL_SUBJECT_LINE" : "",
"MAIL_BODY" : ""
}
},
"file": {
"creation" : "YES/NO",
"type" : "File ending of the specific file",
"filename" : "File name of the specific file without file type ending",
"file_content" : "Content of the specific file - always use ' as sign - no doublequotes allowed"
},
"debug" : {
"FAILURES_ONLY" : "0/1/2 = 0 = Never, 1 only when failure, 2 for every transaction in any case",
"debugmail_recipients" : ""
},
"clientdetails": {
"customer_identifier": "{{PLATFORM}}-{{ACCOUNTNUMBER}}",
"customer_scenario": "{{Scenarioname}}"
}
}
Json result format and content
{
"resultcode": "200",
"result": "BAASE64 encoded AUTH Header"
}
Result and error messages format and content
{"resultcode":"200","resultmessage": File filename was transfered!"}
{"resultcode":"400","resultmessage":"File cannot be found yet, will be queued for further procedure!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
{"resultcode":"400","resultmessage":"Dedicated errormessage"}
FILE_TRANSFER sFTP FTP
POST
https://diabolocom.name/api.php?action=FILE_TRANSFER
Function description
TRANSFER a FTP Server
Neccessary JSON request body
{
"diabolocom": {
"platform": "{{platform}}",
"public_token": "{{Public API Token}}",
"foldername" : "/sound_files/all_recordings/dates/{{YYYY-MM-DD}}",
"callid": "{{callID}}"
},
"destination" : {
"service" : "DIAB_AI",
"filename" : "If a specific file name should be used!",
"Mail" : {
"MAIL_RECIEPIENTS" : "",
"MAIL_CC_RECIEPIENTS" : "",
"MAIL_BCC_RECIEPIENTS" : "",
"MAIL_SUBJECT_LINE" : "",
"MAIL_BODY" : ""
}
},
"file": {
"creation" : "YES/NO",
"type" : "File ending of the specific file",
"filename" : "File name of the specific file without file type ending",
"file_content" : "Content of the specific file - always use ' as sign - no doublequotes allowed"
},
"debug" : {
"FAILURES_ONLY" : "0/1/2 = 0 = Never, 1 only when failure, 2 for every transaction in any case",
"debugmail_recipients" : ""
},
"clientdetails": {
"customer_identifier": "{{PLATFORM}}-{{ACCOUNTNUMBER}}",
"customer_scenario": "{{Scenarioname}}"
}
}
Json result format and content
{
"resultcode": "200",
"result": "BAASE64 encoded AUTH Header"
}
Result and error messages format and content
{"resultcode":"200","resultmessage": File filename was transfered!"}
{"resultcode":"400","resultmessage":"File cannot be found yet, will be queued for further procedure!"}
{"resultcode":"400","resultmessage":"User unauthorized!"}
{"resultcode":"400","resultmessage":"Dedicated errormessage"}
REPLACE
POST
https://diabolocom.name/api.php?action=REPLACE
Function description
Replace values within a string.
Neccessary JSON request body
{
"string" : "This \n is a test-string",
"search" : "\n",
"replace" : " ",
"clientdetails": {
"customer_identifier": "customer name or identifier",
"customer_scenario": "customer scenario"
}

}
Json result format and content
{
"resultcode": "200",
"result": "This
is a test-mail",
"OriginalString": "This is a test-mail",
"Search": "\n",
"Replace": " "
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"The string cannot be empty!"}
{"resultcode":"400","resultmessage":"The value to search for cannot be empty!"}
CONVERT ASR DATE
POST
https://diabolocom.name/api.php?action=CONVERT_ASR_DATE_STRING_TO_DATE
Function description
Converts any date from the ASR block into DD.MM.YYYY
Neccessary JSON request body
{
"date" : "17.February 38",
"localeCode" : "de_DE",
"clientdetails":
{
"customer_identifier": "DE1-100032",
"customer_scenario": "Basic_Scenario"
}
}
Json result format and content
{
"resultcode": "200",
"result": "17.02",
"OriginalString": "17.February 38",
"LocalCode": "de_DE",
"ErrorPart": "YEAR",
"ErrorValue": "38"
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"The string cannot be empty!"}
{"resultcode":"400","resultmessage":"The value to search for cannot be empty!"}
MS TEAMS SYNC
POST
https://diabolocom.name/api.php?action=MS_TEAMS_SYNC
Function description
New endpoint for setup MS Teams Status Sync
Neccessary JSON request body
{
"diabolocom" : {
"diab_platform" : "Customer platform like FR1, DE1, SG1 etc.",
"diab_account_id" : "100152",
"diab_token" : "DIAB TOKEN - needs to have at least permissions for endpoints: /account/users, /account/status-sets, account/users/{{userID}}/status, real-time-stats/agents-list",
"diab_identifier_field" : "email/name"
},
"clientdata" : {
"tenant" : "MS Azure Tenant ID",
"access_config" : "client_id=MS Azure Client ID&username=MS Azure Username&password=MS Azure User password&grant_type=password&client_secret=MS Azure Client APP secret&scope=https://graph.microsoft.com/.default",
"config_expiration" : "Date when this MS Azure configuration will expire - actual maximum 24 months after client secret creation"
},
"configuration" : {
"dedicated_statusname" : "A dedicated Status for MS Teams by Name - needs to match exactly the way it is written in Diabolocom Statussets",
"set_previous_status" : "0/1 - defines if an user, that sets his status in Teams to available should be set in Diabolocom to Available or to the previous status he had in Diabolocom!",
"use_group_id" : "MS Azure Group ID - if not the full company directory should be used for searching the Diabolocom users - a single group ID could be used",
"access_code" : "Required when you want to update a configuration after creation"
},
"communication" : {
"errormessagerecipients" : "Mail reciepients of error messages with this cofniguration - one is required, multiple entries has to be separated by ;",
"debug_mode" : "0/1 - 1 Sends all action results during the configuration and the status syncronization to the given mail address above."
}
}
Json result format and content
{
"resultcode": 200,
"EXPIRATION": "30.06.2025",
"FOUND_DIABOLOCOM_USERS": 19,
"FOUND_DIAB_USERS_IN_AZURE": 14,
"SUBSCRIBED_USERS": 14,
"SUBSCRIPTION_USER_FAILED": "",
"ACCESS_CODE": "FQG-c_eRb62h",
"ACCOUNT_ID": "Diabolocom Account ID",
"PLATFORM": "de1",
"SUBSCRIPTION_FAILED_FOR_USER": [], - List of Users that we where not able to subscripe to - normally inactive users in MS Teams
"USER_FROM_DIABOLOCOM_NOT_FOUND": {- List of Diabolocom Users that we where not able to find my mailaddress or name in the MS Azure directory, or when a group has to be used in the given group }
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"The string cannot be empty!"}
{"resultcode":"400","resultmessage":"The value to search for cannot be empty!"}
Nightly Log Transfer
POST
https://diabolocom.name/api.php?action=NIGHTLY_LOG_TRANSFER
Function description
Transfer all Log files (csv) from a given folder
Neccessary JSON request body
{
"diabolocom" : {
"platform" : "de1",
"public_token" : "{{publictoken}}}}",
"foldername" :"/cross_channel/agent/agent log/",
"account_id" : "100152"
},
"destination" : {
"service" : "ftp/sFTP",
"username" : "{{username}}",
"password" : "{{password}}",
"server" : "{{servername}}",
"port" : "{{port}}",
"folder" : "/{{folder}}/"
},
"debug" : {
"failures_only" : "0/1",
"mail_recipients" : "multiple mail recipients split by ;"
}
}
Json result format and content
{
"resultcode": 200,
"ServiceID": 2,
"Created_for": "de1-100152",
"Created_at": "19-08-2024 09:41:01",
"FILES_TRANSFERED": [
"2024-07-18_agentlog.csv",
"2024-07-18_agentlog_v2.csv",
"2024-07-18_agentlog_v4.3.x.csv",
"2024-07-19_agentlog.csv",
"2024-07-19_agentlog_v2.csv",
"2024-07-19_agentlog_v4.3.x.csv",
"2024-07-20_agentlog.csv",
"2024-07-20_agentlog_v2.csv",
"2024-07-20_agentlog_v4.3.x.csv",
"2024-07-21_agentlog.csv",
"2024-07-21_agentlog_v2.csv",
"2024-07-21_agentlog_v4.3.x.csv",
"2024-07-22_agentlog.csv",
"2024-07-22_agentlog_v2.csv",
"2024-07-22_agentlog_v4.3.x.csv",
"2024-07-23_agentlog.csv",
"2024-07-23_agentlog_v2.csv",
"2024-07-23_agentlog_v4.3.x.csv",
"2024-07-24_agentlog.csv"
] }
Result and error messages format and content
{"resultcode":"400","resultmessage":"The string cannot be empty!"}
{"resultcode":"400","resultmessage":"The value to search for cannot be empty!"}
GET_CAMPAIGN_IDS_BY_NAME
POST
https://diabolocom.name/api.php?action=GET_CAMPAIGN_IDS_BY_NAME
Function description
GET ALL CAMPAIGNS THAT CONTAINS A STRING
Neccessary JSON request body
{
"diabolocom" : {
"customer_identifier" : "{{PLATFORM}}-{{ACCOUNT-ID}}",
"customer_scenario" : "{{ScenarioName}}",
"publictoken" : "{{publicToken}}",
"platform" : "{{platform like FR1, FR8, DE1 etc.}}"
},
"configuration" : {
"campaignname" : "{{STRING THAT SHOULD BE INCLUDED IN THE CAMPAIGN NAME}} - COULD BE EMPTY",
"exclude_campagin_id" : "{{SINGLE CAMPAIGN ID THAT SHOULD BE EXCLUDED IN THE RESPONSE}}",
"filter_by_folder" : "Clark"
}
}
Json result format and content
{
"resultcode": "200",
"RANDOM_SingleCampaignID": 1496,
"FOUND_CAMPAIGN_IDs": [
1496,
1495
],
"FOUND_CAMPAIGN_NAMES": {
"1": "CAMPAIGN_A",
"2": "CAMPAIGN_B"
},
"EXCLUDED_CAMPAIGN_ID": "1497",
"EXCLUDED_CAMPAIGN_NAME": "CAMPAIGN_C",
"COUNT_OF_RELEVANT_CAMPAIGNS": 2
}
Result and error messages format and content
{"resultcode":"400","resultmessage":"The string cannot be empty!"}
{"resultcode":"400","resultmessage":"The value to search for cannot be empty!"}