Exception   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
c 0
b 0
f 0
lcom 0
cbo 0
dl 0
loc 73
ccs 6
cts 6
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 2
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