protected function call($url, $data, $type = self::TYPE_POST)
{
$data['access_token'] = $this->token;
$headers = ['Content-Type: application/json'];
if ($type == self::TYPE_GET) {
$url .= '?' . http_build_query($data);
}
$process = curl_init($this->apiUrl . $url);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, false);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
if ($type == self::TYPE_POST || $type == self::TYPE_DELETE) {
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, http_build_query($data));
}
if ($type == self::TYPE_DELETE) {
curl_setopt($process, CURLOPT_CUSTOMREQUEST, "DELETE");
}
curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($process);
curl_close($process);
return json_decode($return, true);
}