Пытаюсь, по найденным в сети примерам работы апи опренкарт, добавить свой метод в апи.
Пример файла:
<?php
class ControllerApiCopyFilter extends Controller {
public function copy() {
$json = array();
$this->log->write($this->request->post);
$this->log->write($this->session->data['api_id']);
if (!isset($this->session->data['api_id'])) {
$json['error']['warning'] = $this->language->get('error_permission');
} else {
$this->log->write($this->request->post);
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
Получаю токен:
stdClass Object
(
[success] => API сессия успешно запущена!
[token] => 0RpUQqTbHMT6pomZHLwwm*********
)
Далее обращаюсь к своему методу:
if(isset($token)) {
$url = DOMEN_NAME."index.php?route=api/copyfilter/copy/&token=".$token;
$post = array (
'copy_type' => 'checkbox',
'copy_status' => '-1',
'copy_attribute' => '0',
'copy_filter' => '1',
'copy_option' => '1',
'copy_truncate' => '1',
'copy_category' => '1'
);
$curl = curl_init( $url );
curl_setopt_array( $curl, array(
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => $post,
CURLOPT_COOKIEFILE, 'cookie.txt') );
$result=curl_exec($curl);
a($result);
curl_close($curl);
Получаю:
Notice: Undefined index: api_id in /var/www/korney01/data/www/test.caseroom.in.ua/catalog/controller/api/copyfilter.php on line 9{"error":{"warning":"error_permission"}}
Что я делаю не так?