| Номер ошибки: | Ошибка 32004 | |
| Название ошибки: | The control name ‘|’ is misspelled or refers to a control that doesn’t exist | |
| Описание ошибки: | The control name ‘|’ is misspelled or refers to a control that doesn’t exist.@If the invalid control name is in a macro, an Action Failed dialog box will display the macro name and the macro’s arguments after you click OK. Open the Macro window, and enter | |
| Разработчик: | Microsoft Corporation | |
| Программное обеспечение: | Microsoft Access | |
| Относится к: | Windows XP, Vista, 7, 8, 10, 11 |
Обзор «The control name ‘|’ is misspelled or refers to a control that doesn’t exist»
«The control name ‘|’ is misspelled or refers to a control that doesn’t exist» — это стандартная ошибка времени выполнения. Разработчики тратят много времени и усилий на написание кода, чтобы убедиться, что Microsoft Access стабилен до продажи продукта. Тем не менее, возможно, что иногда ошибки, такие как ошибка 32004, не устранены, даже на этом этапе.
Некоторые пользователи могут столкнуться с сообщением «The control name ‘|’ is misspelled or refers to a control that doesn’t exist.@If the invalid control name is in a macro, an Action Failed dialog box will display the macro name and the macro’s arguments after you click OK. Open the Macro window, and enter» при использовании Microsoft Access. Сообщение об этой ошибке 32004 позволит разработчикам обновить свое приложение и исправить любые ошибки, которые могут вызвать его. Microsoft Corporation может устранить обнаруженные проблемы, а затем загрузить измененный файл исходного кода, позволяя пользователям обновлять свою версию. Если есть уведомление об обновлении Microsoft Access, это может быть решением для устранения таких проблем, как ошибка 32004 и обнаруженные дополнительные проблемы.
Почему происходит ошибка времени выполнения 32004?
В большинстве случаев вы увидите «The control name ‘|’ is misspelled or refers to a control that doesn’t exist» во время загрузки Microsoft Access. Проанализируем некоторые из наиболее распространенных причин ошибок ошибки 32004 во время выполнения:
Ошибка 32004 Crash — программа обнаружила ошибку 32004 из-за указанной задачи и завершила работу программы. Это возникает, когда Microsoft Access не реагирует на ввод должным образом или не знает, какой вывод требуется взамен.
Утечка памяти «The control name ‘|’ is misspelled or refers to a control that doesn’t exist» — ошибка 32004 утечка памяти приводит к тому, что Microsoft Access постоянно использует все больше и больше памяти, увяская систему. Возможные провокации включают отсутствие девыделения памяти и ссылку на плохой код, такой как бесконечные циклы.
Ошибка 32004 Logic Error — «логическая ошибка», как говорят, генерируется, когда программное обеспечение получает правильный ввод, но генерирует неверный вывод. Неисправный исходный код Microsoft Corporation может привести к этим проблемам с обработкой ввода.
В большинстве случаев проблемы с файлами The control name ‘|’ is misspelled or refers to a control that doesn’t exist связаны с отсутствием или повреждением файла связанного Microsoft Access вредоносным ПО или вирусом. Как правило, самый лучший и простой способ устранения ошибок, связанных с файлами Microsoft Corporation, является замена файлов. В качестве последней меры мы рекомендуем использовать очиститель реестра для исправления всех недопустимых The control name ‘|’ is misspelled or refers to a control that doesn’t exist, расширений файлов Microsoft Corporation и других ссылок на пути к файлам, по причине которых может возникать сообщение об ошибке.
Распространенные сообщения об ошибках в The control name ‘|’ is misspelled or refers to a control that doesn’t exist
Типичные ошибки The control name ‘|’ is misspelled or refers to a control that doesn’t exist, возникающие в Microsoft Access для Windows:
- «Ошибка программного обеспечения The control name ‘|’ is misspelled or refers to a control that doesn’t exist. «
- «The control name ‘|’ is misspelled or refers to a control that doesn’t exist не является приложением Win32.»
- «Извините за неудобства — The control name ‘|’ is misspelled or refers to a control that doesn’t exist имеет проблему. «
- «Не удается найти The control name ‘|’ is misspelled or refers to a control that doesn’t exist»
- «Отсутствует файл The control name ‘|’ is misspelled or refers to a control that doesn’t exist.»
- «Ошибка запуска программы: The control name ‘|’ is misspelled or refers to a control that doesn’t exist.»
- «The control name ‘|’ is misspelled or refers to a control that doesn’t exist не работает. «
- «Отказ The control name ‘|’ is misspelled or refers to a control that doesn’t exist.»
- «Неверный путь к программе: The control name ‘|’ is misspelled or refers to a control that doesn’t exist. «
Ошибки The control name ‘|’ is misspelled or refers to a control that doesn’t exist EXE возникают во время установки Microsoft Access, при запуске приложений, связанных с The control name ‘|’ is misspelled or refers to a control that doesn’t exist (Microsoft Access), во время запуска или завершения работы или во время установки ОС Windows. Документирование проблем The control name ‘|’ is misspelled or refers to a control that doesn’t exist в Microsoft Access является ключевым для определения причины проблем с электронной Windows и сообщения о них в Microsoft Corporation.
The control name ‘|’ is misspelled or refers to a control that doesn’t exist Истоки проблем
Большинство проблем The control name ‘|’ is misspelled or refers to a control that doesn’t exist связаны с отсутствующим или поврежденным The control name ‘|’ is misspelled or refers to a control that doesn’t exist, вирусной инфекцией или недействительными записями реестра Windows, связанными с Microsoft Access.
В первую очередь, проблемы The control name ‘|’ is misspelled or refers to a control that doesn’t exist создаются:
- Недопустимый The control name ‘|’ is misspelled or refers to a control that doesn’t exist или поврежденный раздел реестра.
- Зазаражение вредоносными программами повредил файл The control name ‘|’ is misspelled or refers to a control that doesn’t exist.
- Другая программа (не связанная с Microsoft Access) удалила The control name ‘|’ is misspelled or refers to a control that doesn’t exist злонамеренно или по ошибке.
- Другое программное приложение, конфликтующее с The control name ‘|’ is misspelled or refers to a control that doesn’t exist.
- Поврежденная установка или загрузка Microsoft Access (The control name ‘|’ is misspelled or refers to a control that doesn’t exist).
Продукт Solvusoft
Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.
Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11
Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
Hi Experts,
I have installed SAP solution manager 7.0 with ehp1 and database 11G2 with OS suse-linux 11.
Installation completed successfully.After stopping the application and database i took a OS reboot.
Now i am not able to start the database.
Error:
orapis> sqlplus «/as sysdba»
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 3 12:55:39 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-27072: File I/O error
Linux-x86_64 Error: 22: Invalid argument
Additional information: 4
Additional information: 1
Additional information: -1
also No alert log file is generated in location /oracle/SID/saptrace/background
Pfile:
###########################################################
-
(c)Copyright SAP AG, Walldorf #
-
@(#) $Id: //bc/701-1_REL/src/ins/SAPINST/impl/tpls/ora/ind/INITSIDBASE.ORA#2 $
###########################################################
shared_pool_size = 1094807715
open_cursors = 2000
-
processes = ABAP-Workprozesse * 2 + J2EE-Serverprozesse *
-
<max-connections> + PARALLEL_MAX_SERVERS + 40
processes = 80
-
session = 2 * processes
sessions = 160
db_name = PIS
db_block_size = 8192
remote_os_authent = true
-
retention time for RMAN backup information in control file
control_file_record_keep_time = 30
log_checkpoints_to_alert = true
compatible = 11.2.0
parallel_execution_message_size = 16384
query_rewrite_enabled = false
replication_dependency_tracking = false
star_transformation_enabled = true
log_archive_dest_1 = ‘LOCATION=/oracle/PIS/oraarch/PISarch’
log_archive_format = %t_%s_%r.dbf
undo_tablespace = PSAPUNDO
pga_aggregate_target = 1459743621
db_cache_size = 1094807715
remote_login_passwordfile = exclusive
recyclebin = off
FILESYSTEMIO_OPTIONS = setall
diagnostic_dest = /oracle/PIS/saptrace
audit_file_dest = /oracle/PIS/saptrace/audit
OPTIMPEEK_USER_BINDS = FALSE
OPTIMIZERMJC_ENABLED = FALSE
BTREE_BITMAP_PLANS = FALSE
INDEXJOIN_ENABLED = FALSE
INMEMORY_UNDO = FALSE
SORTELIMINATION_COST_RATIO = 10
TABLELOOKUP_PREFETCH_SIZE = 0
db_recovery_file_dest = /oracle/PIS/oraflash
db_recovery_file_dest_size = 30000M
max_dump_file_size = 20000
parallel_threads_per_cpu = 1
control_files = (/oracle/PIS/origlogA/cntrl/cntrlPIS.dbf, /oracle/PIS/origlogB/cntrl/cntrlPIS.dbf, /oracle/PIS/sapdata1/cntrl/cntrlPIS.dbf)
Please help me solve this issue.
Thanks,
Hari
Hi Experts,
I have installed SAP solution manager 7.0 with ehp1 and database 11G2 with OS suse-linux 11.
Installation completed successfully.After stopping the application and database i took a OS reboot.
Now i am not able to start the database.
Error:
orapis> sqlplus «/as sysdba»
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 3 12:55:39 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-27072: File I/O error
Linux-x86_64 Error: 22: Invalid argument
Additional information: 4
Additional information: 1
Additional information: -1
also No alert log file is generated in location /oracle/SID/saptrace/background
Pfile:
###########################################################
-
(c)Copyright SAP AG, Walldorf #
-
@(#) $Id: //bc/701-1_REL/src/ins/SAPINST/impl/tpls/ora/ind/INITSIDBASE.ORA#2 $
###########################################################
shared_pool_size = 1094807715
open_cursors = 2000
-
processes = ABAP-Workprozesse * 2 + J2EE-Serverprozesse *
-
<max-connections> + PARALLEL_MAX_SERVERS + 40
processes = 80
-
session = 2 * processes
sessions = 160
db_name = PIS
db_block_size = 8192
remote_os_authent = true
-
retention time for RMAN backup information in control file
control_file_record_keep_time = 30
log_checkpoints_to_alert = true
compatible = 11.2.0
parallel_execution_message_size = 16384
query_rewrite_enabled = false
replication_dependency_tracking = false
star_transformation_enabled = true
log_archive_dest_1 = ‘LOCATION=/oracle/PIS/oraarch/PISarch’
log_archive_format = %t_%s_%r.dbf
undo_tablespace = PSAPUNDO
pga_aggregate_target = 1459743621
db_cache_size = 1094807715
remote_login_passwordfile = exclusive
recyclebin = off
FILESYSTEMIO_OPTIONS = setall
diagnostic_dest = /oracle/PIS/saptrace
audit_file_dest = /oracle/PIS/saptrace/audit
OPTIMPEEK_USER_BINDS = FALSE
OPTIMIZERMJC_ENABLED = FALSE
BTREE_BITMAP_PLANS = FALSE
INDEXJOIN_ENABLED = FALSE
INMEMORY_UNDO = FALSE
SORTELIMINATION_COST_RATIO = 10
TABLELOOKUP_PREFETCH_SIZE = 0
db_recovery_file_dest = /oracle/PIS/oraflash
db_recovery_file_dest_size = 30000M
max_dump_file_size = 20000
parallel_threads_per_cpu = 1
control_files = (/oracle/PIS/origlogA/cntrl/cntrlPIS.dbf, /oracle/PIS/origlogB/cntrl/cntrlPIS.dbf, /oracle/PIS/sapdata1/cntrl/cntrlPIS.dbf)
Please help me solve this issue.
Thanks,
Hari
- Remove From My Forums
-
Вопрос
-
Windows 2003 server sp1+Isa server 2004
С недавних пор стала появляться ошибка в System EventLog:
Source: ipnathlp
EventID: 32004
Desc: The Network Address Translator (NAT) was unable to load the kernel-mode translation module. The data is the error code.
data: 0000: 0000007bпоявляется она строго после перезапуска сервиса RRAS, можно вызвать ее, вручную перезапустив сервис…
Жить вроде не мешает, однако наличие ошибки означает, что что-то с сервером не так… netdiag не дает ошибок.
Нашел вот такой сайт: http://forums.isaserver.org/m_190026100/tm.htm однако фразаЦитата:
ISA Server 2004 does not use ipnat.sys. It will still give an error message on startup because ISA Server Install does not uninstall it, It needs to be disabled. Errorlevel 0 stops event log message appearing.
вызывает у меня подозрение — раньше ведь такого не наблюдалось, да и у других клиентов нет такой проблемы…
Куда копать?
Ответы
-
ISA Server выполняет NAT своими средствами. У него для этого есть свой драйвер.
Драйвер ipnat.sys и использующий его протокол NAT/Basic Firewall на ISA Server не нужен.
- Соглашения
- Пользователи API и аутентификация
- Добавить IP-адрес в список разрешенных
- Доступ по ключу
- Доступ по логину и паролю
- Отчёт по запросам к API
- Базовый URL для доступа к API
- Версионность
- Лимиты и ограничения
- Методы и их стоимость в баллах
- Расширение лимитов
- Обработка ошибок
- Параметры сообщения об ошибке
- JSON структура ошибки
- Группы кодов ошибок
- Список ошибок общих для всех методов
- Список ошибок для методов с глаголом get
- Список ошибок общих для методов с глаголом delete
- Список ошибок общих для методов с глаголом create и update, set, unset
- Глаголы используемые в именовании методов
- Критерии фильтрации
- Возможные ошибки при фильтрации
- Пример JSON структуры простого фильтра
- Пример JSON структуры дерева фильтров с одним уровнем вложенности
- Пример JSON структуры дерева фильтров с двойным уровнем вложенности
- Пример JSON структуры дерева фильтров с тройным уровнем вложенности
- Операторы фильтрации
- Сортировка данных
- Возможные ошибки при сортировки
- Постраничный вывод
- Мета-параметры
- Представление возвращаемых данных
- Отдельный список возвращаемых столбцов
- Возможные ошибки в представлении возвращаемых данных
- Общие поля для всех методов
- Аутентификация
Соглашения
Приняты следующие соглашения при использовании Data API:
- Пустые поля всегда возвращаются в ответе со значением
null. В случае массива возвращается пустой массив, в случае объекта возвращается пустой объект; - Все поля связанные с датой и временем передаются в формате YYYY-MM-DD hh:mm:ss;
- Запросы к API выполняются всегда с помощью метода POST;
- Все параметры в запросах/ответах, а также в структурах данных в формате JSON и название методов именуются в стиле Snake Case — разделение слов через нижнее подчёркивание;
- Данные возвращаются только в JSON формате согласно спецификации RFC 7159. Заголовок Accept игнорируется;
- Кодировка данных UTF-8;
- Заголовок Content-Type должен быть
"application/json; charset=UTF-8"; - Заголовок Content-Length должен содержать корректную длину сообщения, следуя спецификации HTTP/1.1
Добавить IP-адрес в список разрешенных
По умолчанию доступ к API запрещен всем, чтобы можно было делать запросы необходимо IP-адрес хоста с которого делается запрос добавить в белый список.
Это можно сделать через личный кабинет «Администратор -> Аккаунт -> Правила и настройки безопасности» вкладка «API».
Если необходимо разрешить доступ всем IP-адресам, то нужно добавить в список разрешенных
0.0.0.0/0Если запрос делается из под агента, то его IP адрес должен быть добавлен в белый список клиентского аккаунта
Пользователи API и аутентификация
К пользователям и ключам доступа применяются права доступа аналогичные правам доступа в личном кабинете
Доступ по ключу
Ключи генерируются на уровне пользователя в разделе личного кабинета «Аккаунт» → «Управление пользователями»
Существует два типа ключей:
- Постоянный;
- Временный;
Постоянный ключ имеет неограниченное время действия.
Временный ключ имеет конкретную дату окончания действия ключа.
Доступ по логину и паролю
Используется аутентификация с использованием сессий
Время жизни сессии 1 час.
Отчёт по запросам к API
В личном кабинете «Отчёты»->»Служебные»->»Запросы к API» можно построить отчёт по запросам к API
Базовый URL для доступа к API
Базовый URL для доступа к API соответствует следующему шаблону:
<protocol> :// <hostname> / <version>
<protocol>— https;<hostname>— api.comagic.ru, api.uiscom.ru (в зависимости от проекта, где зарегистрирован портал);<version>— версия API (см. раздел Версионность)
Авторизационные данные портала uiscom не действительные для url https://dataapi.comagic.ru/ и наоборот
https://dataapi.comagic.ru/<version>
https://dataapi.uiscom.ru/<version>
Версионность
Текущая версия Data API 2.0
Data API поддерживает версионность. Версия указывается в базовом URL как vX.Y, где X — номер мажорной версии, Y — номер минорной версии
Если была выпущена новая версия, то старая считается устаревшей и соответственно при обращении к старой версии API в мета-параметрах (см. раздел Мета-параметры) будет возвращаться параметр
"current_version_deprecated"со значением"true"Максимальное количество поддерживаемых версий — 2
Период поддержки устаревшей версии 2 месяца
Лимиты и ограничения
Баллы списываются только за успешные запросы, т.е в отчете по запросам к API (см. раздел Отчёт по запросам к API) он помечен как успешный.
Информация о лимитах возвращается во всех ответах в мета-парметрах (см. раздел Мета-параметры) кроме случаев когда лимиты не учитываются;
Лимиты построены по бальной системе, т.е каждый метод имеет свой вес. Вызов метода уменьшает доступные дневные/минутные баллы на размер веса вызываемого метода
Информация о лимитах в мета-параметрах:
| Название параметра | Описание |
|---|---|
day_limit |
Текущий лимит баллов в день |
day_remaining |
Какое количество баллов осталось до достижения дневного лимита |
day_reset |
Время в секундах через которое дневной лимит будет сброшен |
minute_limit |
Текущий лимит баллов за минуту |
minute_remaining |
Какое количество баллов осталось до достижения минутного лимита |
minute_reset |
Время в секундах через которое минутный лимит будет сброшен |
Методы и их стоимость в баллах
| Тип операции | Стоимость в баллах |
|---|---|
| Все операции | 1 |
Расширение лимитов
На странице «Аккаунт» -> «Тарифы и опции» в личном кабинете можно расширить лимиты.
Обработка ошибок
Параметры сообщения об ошибке
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
error |
object | да | Объект с содержимым ошибки |
code |
number | да | Не уникальный код ошибки (см. раздел Группы кодов ошибок ) |
message |
string | да | Cообщение об ошибке |
data |
object | да | Объект с деталями ошибки |
mnemonic |
string | да | Уникальный текстовый код ошибки. При обработке ошибок рекомендуется использовать этот параметр. |
value |
string | нет | Содержит то, что передал пользователь без изменений
|
extended_helper |
string | нет | Ссылка на более подробное описание ошибки и возможные решения |
params |
object | нет | Карта подстановок параметров для шаблона с текстом об ошибке. Т.е. содержит динамически изменяемые значения, к примеру, лимиты. Значения указанные в этом параметре могут быть использованы в сообщениях об ошибках в интерфейсе, который базируется на Data API. |
field |
string | нет | Название параметра, с которым связана ошибка
|
JSON структура ошибки
{
"jsonrpc": "2.0",
"id": null,
"error": {
"code": "number",
"message": "string",
"data": {
"mnemonic": "string",
"field": "string",
"value": "string",
"params": {
"object": "string"
},
"extended_helper": "string",
"metadata": {
}
}
}
}
Группы кодов ошибок
| Код ошибки | Описание |
|---|---|
-32700 |
Ошибки связанные с валидацией JSON |
-32600 |
Ошибки связанные с валидацией параметров запроса — id, jsonrpc |
-32601 |
Ошибки связанные с методом |
-32602 |
Ошибки связанные с валидацией параметров в вызываемом методе |
-32603 |
Внутренние ошибки JSON RPC сервера |
-32001 |
Ошибки аутентификации и ошибки с ключами |
-32003 |
Ошибки с правами доступа — ip адрес не в белом списке, нет прав у пользователя |
-32004 |
Ошибки связанные с неверной последовательностью вызываемых методов |
-32007 |
Ошибки связанные с виртуальным номером |
-32008 |
Ошибки связанные с компонентами |
-32009 |
Ошибки связанные с аккаунтом |
-32029 |
Ошибки связанные с лимитами |
-32099 |
Ошибки связанные с поддержкой различных частей спецификации JSON RPC 2.0 — Групповые операции, Уведомления |
Список ошибок общих для всех методов
| Текст сообщение | Код | Мнемоника | Описание |
|---|---|---|---|
| Invalid Request The JSON sent is not a valid Request object | -32600 |
invalid_request |
Ошибки связанные с валидацией параметров запроса — id, jsonrpc |
| Access token has been expired | -32001 |
access_token_expired |
Применяется только к постоянному токену. Если время жизни постоянного токена истекло, то возвращается указанная ошибка |
| Access token has been blocked | -32001 |
access_token_blocked |
Если постоянный токен заблокирован, то возвращается указанная ошибка |
| Access token is invalid | -32001 |
access_token_invalid |
Указанная ошибка возвращается если постоянный/временный токен не найден |
Limit per {limit_type} has been exceeded. Value of current limit per {limit_type} is {limit_max_value} |
-32029 |
limit_exceeded |
Лимит превышен |
You need at least on of the following components to access this method: {components} |
-32008 |
method_component_disabled |
Если не подключен компонент, который требуется для работы метода |
You need at least on of the following components to access this paremeter: {components} |
-32008 |
parameter_component_disabled |
Если не подключен компонент, который нужен для заполнения параметра и создания сущности |
Your IP {ip} is not whitelisted |
-32003 |
ip_not_whitelisted |
IP адрес с которого делается запрос не находится в белом списке адресов. Если запрос делается из под агента, то ваш IP адрес должен быть в списках разрешеных адресов внутри клиентского аккаунта |
| Login or password is wrong | -32001 |
auth_error |
Неправильный логин или пароль |
| Your account has been disabled, contact the support service | -32009 |
account_inactive |
Аккаунт заблокирован |
| Internal error, contact the support service | -32603 |
internal_error |
Внутренняя ошибка, необходимо обратиться в службу технической поддержки |
| Data supplied is of wrong type | -32602 |
data_type_error |
К примеру, если ожидаем string а передали int |
| The method does not exist / is not available | -32601 |
method_not_found |
Вызываемый метод не найден |
| Permission denied | -32003 |
forbidden |
Нет прав на доступ к методу или API, или запрещено выполнять какое-либо действие |
| Invalid JSON was received by the server. | -32700 |
parse_error |
Ошибка валидации JSON |
| Batch operations not supported | -32099 |
batch_opreations_not_supported |
Групповые операции не поддерживаются |
| Notifications not supported | -32099 |
notifications_not_supported |
Был потерян параметр id в запросе. См. раздел Общие параметры для всех методов» |
| The required parameter has been missed | -32602 |
required_parameter_missed |
Обязательный параметр не передали |
| Invalid parameter value | -32602 |
invalid_parameter_value |
Возвращается во всех случаях, если было передано некорректное значение параметра или переданное значение не соответствует требуемому формату ввода |
| Unexpected method parameter(s) | -32602 |
unexpected_parameters |
Если в "params" были переданы параметры которые не предусмотрены JSON структурой метода или указан параметр для сортировки, фильтрации и выборки, который не существует |
| The combination of parameters is not permitted | -32602 |
invalid_parameters_combination |
Если параметры указанные в методе находятся в недопустимой комбинации или имеют зависмость друг от друга. Нужно смотреть документацию по методу и его параметрам. |
{error_message} |
-32602 |
error |
Динамические ошибки |
Список ошибок для методов с глаголом get
| Текст ошибки | Код | Мнемоника | Описание |
|---|---|---|---|
| Invalid parameter value | -32602 |
invalid_parameter_value |
Если в фильтрах было передано некорректное значение для regexp, jsquery или любых значений не соответствующих документации |
| Sort by parameter is prohibited | -32602 |
sort_prohibited |
Сортировка по параметру запрещена и невозможна, так как параметр для сортировки не находится в списке разрешенных для сортировки |
| Filter by parameter is prohibited | -32602 |
filter_prohibited |
Фильтрация по параметру запрещена и невозможна, так как параметр для фильтрации не находится в списке разрешенных для фильтрации |
| Max value of requested date interval is 3 months | -32602 |
date_interval_limit_reached |
Если в запросе период между указанными датами в date_from и date_till превышает 3 месяца. В основном ошибка актуальна только для методов получения отчетов, но не для всех. |
Список ошибок общих для методов с глаголом delete
| Текст ошибки | Код | Мнемоника | Описание |
|---|---|---|---|
| Entity not found | -32602 |
entity_not_found |
Если передан уникальный идентификатор сущности, которая не найдена |
| You have interdependet entities | -32602 |
dependency_error |
Удаляемая сущность используется в других сущностях. Чтобы удалить, необходимо убрать удаляемую сущность из всех возможных мест где она используется |
| Permission denied | -32602 |
forbidden |
Удалить сущность невозможно так как она системная, к примеру группа «Черный список» в адресной книге |
Список ошибок общих для методов с глаголом create и update, set, unset
| Текст ошибки | Код | Мнемоника | Описание |
|---|---|---|---|
| Entity not found | -32602 |
entity_not_found |
Если передан уникальный идентификатор сущности, которая не найдена |
| Duplicate entity | -32602 |
duplicate_entity |
Если сущность уже существует |
| Campaign is inactive | -32602 |
campaign_is_inactive |
Рекламная кампания не активна |
| Invalid date time | -32602 |
invalid_date_time |
Не валидная дата или время, смотрите описание метода |
| A new data limit has been exceeded | -32602 |
data_limit_exceeded |
Ошибка возникает в случае, если было достигнуто максимальное количество данных. |
| Action is not allowed for your tariff plan. You need contact support service or change your tariff plan settings in your account | -32602 |
tariff_restrictions |
Любые ограничения тарифного плана |
| This value is already used by another entity | -32602 |
already_in_use |
Значение указанного параметра уже используется в другой сущности. К примеру, виртуальный номер уже используется в другой рекламной кампании. |
Групповые операции
Функционал не поддерживается
Принцип именования методов
Имя JSON-RPC метода состоит из двух частей разделенных точкой: глагола и имени объекта.
Имя объекта выбирается как существительное во множественном числе, отражающее бизнес-сущность, например subscribers.
Имя метода должно начинаться с глагола, отражающего суть операции.
Глаголы используемые в именовании методов
| Глагол | Описание |
|---|---|
create |
Добавляет сущность. |
get |
Возвращает список отсортированных и отфильтрованных данных с помощью критериев фильтрации и методов сортировки. К запросу возможно применить лимит и постраничный вывод на количество получаемых данных (см. раздел Постраничный вывод). С помощью критериев фильтрации может быть так же получена одна запись, по ёё уникальному идентификатору (см. раздел Критерии фильтрации). В специальном мета-параметре возвращается общее количество записей (см. раздел Мета-параметры). С помощью специального параметра можно указать какие поля возвращать в ответном сообщении (см. раздел Представление возвращаемых данных). |
update |
Обновляет сущность с определённым идентификатором.
|
upload |
Загружает исторические данные, при первой загрузке создает сущность, при последующих запросах обновляет ее |
delete |
Удаляет сущность с определённым идентификатором. |
add |
Связь одного объекта с другим. |
enable |
Подключение объекта |
disable |
Отключение объекта |
set |
Простановка свойства на другой объект, к примеру, установка тега на обращение |
unset |
Снятие свойства с другого объека, к примеру, снятие тега с обращения |
Критерии фильтрации
Фильтрация данных применяется только к глаголу "get" (см. раздел «Глаголы используемые в именовании методов» с помощью необязательного примитива "filter", который является объектом и может содержать:
- Простой фильтр;
- Дерево фильтров которое содержит простые фильтры с условиями.
Простой фильтр — это объект, который содержит в себе обязательные примитивы:
field— поле сущности к которой будет применяться фильтрация (список заранее определён для метода);operator— оператор фильтрации. Список всех операторов можно получить в разделе «Операторы фильтрации»;value— значение для оператора фильтрации. Необязательное поле, если оно отсутствует, то считается пустота.
Дерево фильтров содержит специальный примитив "filters", который может содержать в себе как простые фильтры, так и дерево фильтров.
Возможные ошибки при фильтрации
| Текст | Код | Мнемоника | Описание |
|---|---|---|---|
| Filter by parameter is prohibited | -32602 |
filter_prohibited |
Фильтрация по параметру запрещена и невозможна, так как параметр для фильтрации не находится в списке разрешенных для фильтрации |
| Unexpected method parameter(s) | -32602 |
unexpected_parameters |
Передан ошибочный параметр или параметр, которого не существует |
Пример JSON структуры простого фильтра
Получаем список записей у которых поле "name" имеет имя "Bob"
{
"jsonrpc":"2.0",
"id":1,
"method":"get.entity",
"params":{
"filter":{
"field":"name",
"operator":"=",
"value":"Bob"
}
}
}
Пример JSON структуры дерева фильтров с одним уровнем вложенности
Получаем список записей у которых поле "name" имеет имя "Bob" и его возраст 25 лет
{
"jsonrpc":"2.0",
"id":1,
"method":"get.entity",
"params":{
"filter":{
"filters":[
{
"field":"name",
"operator":"=",
"value":"Bob"
},
{
"field":"age",
"operator":"=",
"value":25
}
],
"condition":"and"
}
}
}
Пример JSON структуры дерева фильтров с двойным уровнем вложенности
Получаем список записей у которых поле "name" имеет имя "Bob" и его возраст 25 лет или список записей у которых поле "name" имеет имя "Dexter" и его возраст 2 года
{
"jsonrpc":"2.0",
"id":1,
"method":"get.entity",
"params":{
"filter":{
"filters":[
{
"filters":[
{
"field":"name",
"operator":"=",
"value":"Bob"
},
{
"field":"age",
"operator":"=",
"value":25
}
],
"condition":"and"
},
{
"filters":[
{
"field":"name",
"operator":"=",
"value":"Dexter"
},
{
"field":"age",
"operator":"=",
"value":2
}
],
"condition":"and"
}
],
"condition":"or"
}
}
}
Пример JSON структуры дерева фильтров с тройным уровнем вложенности
Условие запроса ((addv_comp_id = 10 or addv_comp_id = 12) and (tag_id = 1 or tag_id = 5)) or visitor_id = 14 or (date_from = 2015-12-14 and date_till = 2015-12-16)
{
"filter":{
"filters":[
{
"filters":[
{
"filters":[
{
"field":"addv_comp_id",
"operator":"=",
"value":10
},
{
"field":"addv_comp_id",
"operator":"=",
"value":12
}
],
"condition":"or"
},
{
"filters":[
{
"field":"tag_id",
"operator":"=",
"value":1
},
{
"field":"tag_id",
"operator":"=",
"value":5
}
],
"condition":"or"
}
],
"condition":"and"
},
{
"field":"visitor_id",
"value":14,
"operator":"="
},
{
"filters":[
{
"field":"date_from",
"value":"2015-12-14 12:00:00",
"operator":"="
},
{
"field":"date_till",
"value":"2015-12-16 15:00:00",
"operator":"="
}
],
"condition":"and"
}
],
"condition":"or"
}
}
Операторы фильтрации
Фильтрация null и not null будет =null, !=null
| Оператор | Описание | Учёт регистра строк | Тип данных |
|---|---|---|---|
= |
Равно | да | number, string, null, boolean, iso8601, enum |
!= |
Не равно | да | number, string, null, boolean, iso8601, enum |
< |
Меньше чем | — | number, iso8601 |
> |
Больше чем | — | number, iso8601 |
<= |
Меньше или равно | — | number, iso8601 |
>= |
Больше или равно | — | number, iso8601 |
like |
Начинается с, Заканчивается на, Содержит
|
да | string |
regexp |
Posix | да | string |
jsquery |
PostgreSQL jsquery | да | object, array |
in |
Массив значений в отношении «or» | да | number, string, enum |
Сортировка данных
Сортировка данных применяется только к глаголу "get" (см. раздел «Глаголы используемые в именовании методов») с помощью массива объектов сортировки со следующими примитивами:
field— поле по которому производится сортировка;order— направления сортировки. Возможные значения"asc"/"desc"."asc"— по возрастанию,"desc"— по убыванию. Параметр необязателен. Значение по умолчанию"asс".
Список полей по которым можно производить сортировку определяется индивидуально для каждого метода.
Возможные ошибки при сортировки
| Текст ошибки | Код | Мнемоника | Описание |
|---|---|---|---|
| Sort by parameter is prohibited | -32602 |
sort_prohibited |
Сортировка по параметру запрещена и невозможна, так как параметр для сортировки не находится в списке разрешенных для сортировки |
| Unexpected method parameter(s) | -32602 |
unexpected_parameters |
Передан ошибочный параметр или параметр, которого не существует |
JSON структура:
{
"jsonrpc":"2.0",
"id":"number",
"method":"string",
"params":{
"sort":[
{
"field":"string",
"order":"string"
}
]
}
}
Постраничный вывод
Постраничный вывод может быть применён к глаголу "get" (см. раздел «Глаголы используемые в именовании методов»). Для выполнения пагинации данных используются следующие параметры:
| Параметр | Значение по умолчанию | Допустимое значение | Описание |
|---|---|---|---|
offset |
0 | 100 000 | Сдвиг, определяет с какого номера записи возвращать "limit" записей |
limit |
1000 | 10 000 | Размер возвращаемых данных (количество записей) |
JSON структура:
{
"jsonrpc":"2.0",
"id":"number",
"method":"string",
"params":{
"offset":"number",
"limit":"number"
}
}
Мета-параметры
Возвращаются при использовании глагола "get" (см. раздел «Глаголы используемые в именовании методов»).
Присутствуют как в ошибочном, так и в успешном ответе
Параметр
"api_version"возвращается только для версий которые deprecated.
JSON структура:
{
"metadata":{
"api_version":{
"current_version_deprecated":"boolean",
"current_version":"string",
"latest_version":"string"
},
"limits":{
"day_limit":"number",
"day_remaining":"number",
"day_reset":"number",
"minute_limit":"number",
"minute_remaining":"number",
"minute_reset":"number"
},
"total_items":"number"
}
}
Представление возвращаемых данных
Отдельный список возвращаемых столбцов
В глаголе получения данных "get" (см. раздел «Глаголы используемые в именовании методов») может быть указан
специальный необязательный примитив "fields" с типом массив, который может содержать список полей которые необходимо
показать в выводе. Если примитив "fields" не используется, то в выводе показываются все поля по умолчанию для вызываемого метода.
Список полей индивидуален для каждого метода.
JSON структура:
{
"jsonrpc":"2.0",
"id":"number",
"method":"string",
"params":{
"fields":[
"string"
]
}
}
Возможные ошибки в представлении возвращаемых данных
| Текст | Код | Мнемоника | Описание |
|---|---|---|---|
| Unexpected method parameter(s) | -32602 |
unexpected_parameters |
Передан ошибочный параметр или параметр, которого не существует |
Общие поля для всех методов
| Название | Тип | Обязательный | Допустимые значения | Описание |
|---|---|---|---|---|
id |
string или number | да | Уникальный идентификатор запроса к API, который используется для связи запроса с ответом. Рекомендуется делать в виде уникального хэша или случайного числа. |
|
method |
string | да | Вызываемый метод | |
jsonrpc |
string | да | 2.0 | Номер спецификации JSON-RPC |
params |
object | да | Содержит тело запроса к API. В зависимости от вызываемого метода тело запроса меняется. |
Аутентификация
Список доступных методов
| Метод | Описание |
|---|---|
| «login.user» | Вход |
| «logout.user» | Выход и удаление ключа сессии аутентификации |