Project

General

Profile

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