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
|
|
|
|