👋 Добро пожаловать
Выберите категорию API слева или воспользуйтесь поиском
🔧 Принцип работы
За взаимодействие отвечает файл /api.php. Все запросы обрабатываются единой точкой входа с поддержкой методов GET и POST.
📥 Входящие параметры
✓ Обязательные параметры:
key— ваш API ключ для аутентификацииcat— категория запроса (см. список категорий в навигации слева)
⊘ Опциональные параметры:
skip_internal_api— флаг отключения внутренних триггеров системы. Используйте, когда ваш метод API реагирует на триггеры, чтобы избежать бесконечного цикла- Дополнительные параметры (зависят от выбранной категории — подробнее в соответствующих разделах):
customer_id— уникальный идентификатор абонентаis_potential— флаг потенциального статуса (значение:1или0). Большинство флагов имеют префиксislang— язык ответа для локализированных объектов. По умолчанию:en
📤 Пример запроса
GET /api.php?key=apikey&cat=abon&action=msg&usercode=1
📊 Возвращаемые данные
При выполнении операции или запросе информации API возвращает JSON-объект следующего формата:
{
"Result": "OK" | "ERROR",
"ErrorText": "Описание ошибки (если применимо)"
}
Рекомендация: Всегда проверяйте HTTP-статус ответа. При ошибках или некорректных запросах код будет отличаться от 200 (например, 400, 401, 404, 500).
🔐 Конфигурация API-ключей
Система САП "CUBALINK" требует наличия API-ключей для обеспечения работоспособности и контроля доступа внешних интеграций. API-ключ представляет собой произвольную текстовую последовательность, которая не должна быть пустой.
⚙️ Настройка ключей доступа
Конфигурация осуществляется через параметр $apiKeyArray в файле /legacy/Config/config.php. С помощью этого массива вы можете:
- Определить различные ключи для различных источников запросов
- Установить ограничения по IP-адресам для каждого ключа
- Задать список разрешённых секций API для конкретного ключа
📝 Базовая конфигурация
$apiKeyArray = [
[
'key' => 'mainKey',
'ip' => '*'
],
[
'key' => 'key-local',
'ip' => '127.0.0.1',
'section' => [
'customer',
'node',
'employee/get_data', //можно настраивать конкретные разделы
]
]
];
🌐 IP-адреса и их использование
При указании IP-адресов следуйте этим рекомендациям:
- Текстовый формат: Все адреса должны быть записаны как строки
- Любой адрес: Подстановочный символ
"*"разрешает использование ключа с любого IP - Множественные IP-адреса: Для одного ключа, чтобы добавить несколько адресов, создавайте отдельные элементы массива с одинаковым ключом, но разными IP
💡 Пример с множественными IP-адресами
$apiKeyArray = [
[
'key' => 'mainKey',
'ip' => '*'
],
[
'key' => 'key-local',
'ip' => '127.0.0.1'
],
[
'key' => 'key-local',
'ip' => '192.168.100.30',
'section' => [
'customer',
'node',
'employee/get_data', //можно настраивать конкретные разделы
]
],
[
'key' => 'key-local',
'ip' => '192.168.100.20',
'section' => [
'task',
'node'
]
]
];
Примечание: Этот подход позволяет гибко контролировать доступ, предоставляя одному ключу разные права для различных сетевых местоположений.