|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace AmoCRM; |
|
4
|
|
|
|
|
5
|
|
|
/** |
|
6
|
|
|
* Class Exception |
|
7
|
|
|
* |
|
8
|
|
|
* Базовый класс для всех исключений amoCRM API |
|
9
|
|
|
* |
|
10
|
|
|
* @package AmoCRM |
|
11
|
|
|
* @author dotzero <[email protected]> |
|
12
|
|
|
* @link http://www.dotzero.ru/ |
|
13
|
|
|
* @link https://github.com/dotzero/amocrm-php |
|
14
|
|
|
* |
|
15
|
|
|
* For the full copyright and license information, please view the LICENSE |
|
16
|
|
|
* file that was distributed with this source code. |
|
17
|
|
|
*/ |
|
18
|
|
|
class Exception extends \Exception |
|
19
|
|
|
{ |
|
20
|
|
|
/** |
|
21
|
|
|
* @var array Справочник ошибок и ответов amoCRM API |
|
22
|
|
|
*/ |
|
23
|
|
|
protected $errors = [ |
|
24
|
|
|
'101' => 'Аккаунт не найден', |
|
25
|
|
|
'102' => 'POST-параметры должны передаваться в формате JSON', |
|
26
|
|
|
'103' => 'Параметры не переданы', |
|
27
|
|
|
'104' => 'Запрашиваемый метод API не найден', |
|
28
|
|
|
'110' => 'Неправильный логин или пароль', |
|
29
|
|
|
'111' => 'Неправильный код капчи', |
|
30
|
|
|
'112' => 'Пользователь не состоит в данном аккаунте', |
|
31
|
|
|
'113' => 'Доступ к данному аккаунту запрещён с Вашего IP адреса', |
|
32
|
|
|
'201' => 'Добавление контактов: пустой массив', |
|
33
|
|
|
'202' => 'Добавление контактов: нет прав', |
|
34
|
|
|
'203' => 'Добавление контактов: системная ошибка при работе с дополнительными полями', |
|
35
|
|
|
'204' => 'Добавление контактов: дополнительное поле не найдено', |
|
36
|
|
|
'205' => 'Добавление контактов: контакт не создан', |
|
37
|
|
|
'206' => 'Добавление/Обновление контактов: пустой запрос', |
|
38
|
|
|
'207' => 'Добавление/Обновление контактов: неверный запрашиваемый метод', |
|
39
|
|
|
'208' => 'Обновление контактов: пустой массив', |
|
40
|
|
|
'209' => 'Обновление контактов: требуются параметры "id" и "last_modified"', |
|
41
|
|
|
'210' => 'Обновление контактов: системная ошибка при работе с дополнительными полями', |
|
42
|
|
|
'211' => 'Обновление контактов: дополнительное поле не найдено', |
|
43
|
|
|
'212' => 'Обновление контактов: контакт не обновлён', |
|
44
|
|
|
'213' => 'Добавление сделок: пустой массив', |
|
45
|
|
|
'214' => 'Добавление/Обновление сделок: пустой запрос', |
|
46
|
|
|
'215' => 'Добавление/Обновление сделок: неверный запрашиваемый метод', |
|
47
|
|
|
'216' => 'Обновление сделок: пустой массив', |
|
48
|
|
|
'217' => 'Обновление сделок: требуются параметры "id", "last_modified", "status_id", "name"', |
|
49
|
|
|
'218' => 'Добавление событий: пустой массив', |
|
50
|
|
|
'219' => 'Список контактов: ошибка поиска, повторите запрос позднее', |
|
51
|
|
|
'221' => 'Список событий: требуется тип', |
|
52
|
|
|
'222' => 'Добавление/Обновление событий: пустой запрос', |
|
53
|
|
|
'223' => 'Добавление/Обновление событий: неверный запрашиваемый метод', |
|
54
|
|
|
'224' => 'Обновление событий: пустой массив', |
|
55
|
|
|
'225' => 'Обновление событий: события не найдены', |
|
56
|
|
|
'227' => 'Добавление задач: пустой массив', |
|
57
|
|
|
'228' => 'Добавление/Обновление задач: пустой запрос', |
|
58
|
|
|
'229' => 'Добавление/Обновление задач: неверный запрашиваемый метод', |
|
59
|
|
|
'230' => 'Обновление задач: пустой массив', |
|
60
|
|
|
'231' => 'Обновление задач: задачи не найдены', |
|
61
|
|
|
'232' => 'Добавление событий: ID элемента или тип элемента пустые либо некорректные', |
|
62
|
|
|
'233' => 'Добавление событий: по данному ID элемента не найдены некоторые контакты', |
|
63
|
|
|
'234' => 'Добавление событий: по данному ID элемента не найдены некоторые сделки', |
|
64
|
|
|
'235' => 'Добавление задач: не указан тип элемента', |
|
65
|
|
|
'236' => 'Добавление задач: по данному ID элемента не найдены некоторые контакты', |
|
66
|
|
|
'237' => 'Добавление задач: по данному ID элемента не найдены некоторые сделки', |
|
67
|
|
|
'238' => 'Добавление контактов: отсутствует значение для дополнительного поля', |
|
68
|
|
|
'240' => 'Добавление/Обновление сделок: неверный параметр "id" дополнительного поля', |
|
69
|
|
|
'244' => 'Добавление сделок: нет прав', |
|
70
|
|
|
'400' => 'Неверная структура массива передаваемых данных, либо не верные идентификаторы кастомных полей', |
|
71
|
|
|
'403' => 'Аккаунт заблокирован, за неоднократное превышение количества запросов в секунду', |
|
72
|
|
|
'429' => 'Превышено допустимое количество запросов в секунду', |
|
73
|
|
|
'2002' => 'По вашему запросу ничего не найдено', |
|
74
|
|
|
]; |
|
75
|
|
|
|
|
76
|
|
|
/** |
|
77
|
|
|
* Exception constructor |
|
78
|
|
|
* |
|
79
|
|
|
* @param null|string $message Сообщения исключения |
|
80
|
|
|
* @param int $code Код исключения |
|
81
|
|
|
*/ |
|
82
|
8 |
|
public function __construct($message = null, $code = 0) |
|
83
|
|
|
{ |
|
84
|
8 |
|
if (isset($this->errors[$code])) { |
|
85
|
2 |
|
$message = $this->errors[$code]; |
|
86
|
2 |
|
} |
|
87
|
|
|
|
|
88
|
8 |
|
parent::__construct($message, $code); |
|
89
|
8 |
|
} |
|
90
|
|
|
} |
|
91
|
|
|
|