API - Schedule Save¶
API Schedule se foloseste pentru a salva orarul din centrala
API URL¶
https://[YOUR-PBX-URL]/api/schedule
Datele se trasmit prin POST sau GET si trebuie sa fie de forma:¶
Array
(
[action] => save
[data] => Array
(
[element_type] => project
[schedule_type] => weekdays
[schedule_data] => Array
(
[0] => Array
(
[element_id] => 1
[day] => 1
[data] => Array
(
[0] => Array
(
[start] => 09:00:00
[end] => 18:00:00
)
)
[break_interval] =>
[break_message] =>
[welcome_message] =>
[ns_welcome_message] =>
[closed_message] =>
[closed_gosub] =>
)
[1] => Array
(
[element_id] => 1
[day] => 2
[data] => Array
(
[0] => Array
(
[start] => 09:00:00
[end] => 17:00:00
)
)
[break_interval] =>
[break_message] =>
[welcome_message] =>
[ns_welcome_message] =>
[closed_message] =>
[closed_gosub] =>
)
)
)
[api_hash] => 07112231a9c89f5b108af08608a97b07
)
Parametrul action trebuie sa aiba valoarea save.
Parametrul data trebuie sa contina:
- element_type cu una din valoarile: project, inbound_route, contact, user, ivr_menu, pbx_queue
- schedule_type cu valoarea weekdays sau custom
Zilele saptamanii se transmit de forma:
$days = array(
0 => _('Sunday'),
1 => _('Monday'),
2 => _('Tuesday'),
3 => _('Wednesday'),
4 => _('Thursday'),
5 => _('Friday'),
6 => _('Saturday'),
);
Headere HTTP:¶
Content-Type: application/json Authorization: Bearer <token>
Exemplu generare parametri:
$params = [
'action' => 'save',
'data' => [
'element_type' => 'project',
'schedule_type' => 'weekdays',
'schedule_data' => [
[
'element_id' => 1,
'day' => 1,
'data' => [
[
//'id' => 2,
//'key' => 1,
'start' => '09:00:00',
'end' => '18:00:00'
]
],
'break_interval' => '',
'break_message' => '',
'welcome_message' => '',
'ns_welcome_message' => '',
'closed_message' => '',
'closed_gosub' => ''
],
[
'element_id' => 1,
'day' => 2,
'data' => [
[
//'id' => 3,
//'key' => 1,
'start' => '09:00:00',
'end' => '17:00:00'
]
],
'break_interval' => '',
'break_message' => '',
'welcome_message' => '',
'ns_welcome_message' => '',
'closed_message' => '',
'closed_gosub' => ''
]
]
]
];
Exemplu generare hash:
$params['api_hash'] = md5(json_encode($params) . 'your_api_key'); // make hash
Exemplu trimitere date:
$url = 'https://[YOUR-PBX-URL]/api/schedule';
$token = 'your_api_token';
echo curlPost($url, json_encode($params), array("Authorization: Bearer {$token}"));
Date trimise JSON¶
{
"action": "save",
"data": {
"element_type": "project",
"schedule_type": "weekdays",
"schedule_data": [
{
"element_id": 1,
"day": 1,
"data": [
{
"start": "09:00:00",
"end": "18:00:00"
}
],
"break_interval": "",
"break_message": "",
"welcome_message": "",
"ns_welcome_message": "",
"closed_message": "",
"closed_gosub": ""
},
{
"element_id": 1,
"day": 2,
"data": [
{
"start": "09:00:00",
"end": "17:00:00"
}
],
"break_interval": "",
"break_message": "",
"welcome_message": "",
"ns_welcome_message": "",
"closed_message": "",
"closed_gosub": ""
}
]
},
"api_hash": "07112231a9c89f5b108af08608a97b07"
}
Raspuns¶
In caz de succes:
{
"has_error": false,
"messages": [],
"results": {
"saved": 1
}
}
Sau in caz de eroare:
{
"has_error": true,
"messages": [
"Invalid schedule type: xxx"
],
"results": [ ]
}
Disponibil si in alte limbi: EN