Установка и настройка Java API
API системы рассылки поставляется в виде библиотеки ccs-api.jar и в виде приложения ccs-api.war для установки под tomcat и WebSphere соответственно.
Установка под tomcat
Установка выполняется в следующем порядке:
- Скопировать поставляемый ccs-api.jar в каталог $(CATALINA_HOME)/lib
- Выполнить настройку способа подключения к серверу рассылки
- Перезапустить сервер tomcat
Для настройки пути к конфигурационному файлу необходимо задать системное свойство Java com.colvir.ccs.connection.configFile.
Установка под WebSphere
Установка библиотек выполняется из консоли сервера, меню Deploy New
Добавляем ccs-api.war
Group:
| colvir |
Artifact:
| ccs-api |
Version:
| 1.0.1 |
Type:
| car |
При необходимости задается альтернативный конфигурационный файл. Например, "C:\Program Files\IBM\WebSphere\AppServerCommunityEdition\var\config\ccs.connection.jaxws.xml".
Установить системное свойство можно через переменную окружения JAVA_OPTS в файле “C:\Program Files\IBM\WebSphere\AppServerCommunityEdition\bin\setjavaenv.bat” следующей командной:
Установить системное свойство можно через переменную окружения JAVA_OPTS в файле “C:\Program Files\IBM\WebSphere\AppServerCommunityEdition\bin\setjavaenv.bat” следующей командной:
set JAVA_OPTS = %JAVA_OPTS% -Dcom.colvir.ccs.connection.configFile=”C:\Program Files\IBM\WebSphere\AppServerCommunityEdition\var\config\ccs.connection.jaxws.xml” |
Настройка подключения к серверу рассылки
API системы рассылки поддерживает два способа подключения к серверу. Локальное подключение и удаленное с использованием технологии jaxws. По умолчанию поставляется конфигурационный файл с локальным подключением (файл конфигурации ccs-api:ccs.connection.xml).
Задать альтернативный файл конфигурации можно через системное свойство Java com.colvir.ccs.connection.configFile.
Файл настройки для подключения к локальному серверу рассылки выглядит следующим образом:
<settings>
<connection type="api"/>
</settings>
|
Файл настройки для подключения к удаленному серверу рассылки выглядит следующим образом:
<settings>
<connection type="jaxws"
namespace="http://service.ccs.colvir.com/"
service="RequestService"
/>
</settings>
|
Атрибут url задает имя пользователя, пароль, хост и путь к сервису jaxws.
Подключение Java API к проекту на maven
Определение версии API
Версию API можно определить по содержанию файла ccs-api.jar:META-INF/MANIFEST.MF. В этом файле содержится информация о версии библиотеки API:
Specification-Title: Colvir Communication System API
Specification-Version: 1.0.1
Implementation-Title: Colvir Communication System API
Implementation-Version: 1.0.1
Implementation-Vendor-Id: com.colvir
CCS-API-Version: 1.0.1
|
Установка библиотеки в локальный репозиторий maven.
Перед началом использования библиотеку API необходимо установить в локальный репозиторий maven. Установка выполняется командой:
mvn install:install-file -Dfile=ccs-api.jar -DgroupId=com.colvir -DartifactId=ccs-api -Dversion=1.0.1 -Dpackaging=jar |
Сборка и установка Web приложения
Для сборки проекта maven в pom.xml необходимо включить информацию о зависимостях:
<dependency>
<groupId>com.colvir</groupId>
<artifactId>ccs-api</artifactId>
<version>1.0.1</version>
<scope>provided</scope>
</dependency>
|
Установка Web приложения под tomcat
В каталоге $(CATALINA_HOME)/lib должна быть установлена библиотека ccs-api.jar. Установка приложения использующего систему рассылки выполняется штатным образом через консоль сервера tomcat.
Установка Web приложения под WebSphere
Файл geronimo-web.xml должен содержать зависимости на установленный ранее ccs-api.war:
<dep:dependency>
<dep:groupId>colvir</dep:groupId>
<dep:artifactId>ccs-api</dep:artifactId>
<dep:version>1.0.1</dep:version>
|
Пример использования системы рассылки
Сначала необходимо получить ссылку на объект, реализующий доступ к серверу рассылки. Этот объект получается через фабрику серверов ServerFactory:
import com.colvir.ccs.api.ServerEngine;
import com.colvir.ccs.api.ServerFactory;
ServerEngine server = ServerFactory.getServer();
|
Объект server дает доступ к функциям сервера рассылки (локального или удаленного, в зависимости от настройки подключения).
Пример отправки сообщения:
ServerFactory.getServer().postSingleDirect(
system, refer, channel, address, subject, text, include, priority
);
|
API рассылки
Доставка сообщений
Процедуры доставки сообщений предназначены для постановки заданий на рассылку в системе рассылки. Предусмотрены следующие процедуры постановки заданий:
Процедура | Назначение |
postSingleDirect | Одиночная без шаблона |
postSingleTemplate | Одиночная по шаблону |
postSingleSubscribe | Одиночная по подписке |
postGroupSubscribe | Групповая по подписке |
postMass | Массовая рассылка без подписки |
Одиночная без шаблона
Этот вид рассылки предназначен для отправки одного сообщения по известному адресу. Подготовленный текс сообщения передается в процедуру.
Спецификация процедуры:
public void postSingleDirect(
String system,
String refer,
String channel,
String address,
String subject,
String text,
String include,
int priority
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
- refer Уникальный ключ задания на рассылку
- channel Код канала для отправки сообщения
- address Адрес доставки сообщения
- subject Тема сообщения
- text Текст сообщения
- include Список вложений
- priority Приоритет задания
Одиночная по шаблону
Этот вид рассылки предназначен для отправки сообщения по известному адресу получателя. Текст сообщения формируется по шаблону. Данные для формирования текста передаются в процедуру постановки задания. Окончательный текст сообщения, который будет передан, формируется сервером рассылки в момент отправки.
Спецификация процедуры одиночной рассылки по шаблону:
public void postSingleTemplate(
String system,
String refer,
String channel,
String language,
String address,
String tz,
String avtime,
String message,
String message_data
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
- refer Уникальный ключ задания на рассылку
- channel Код канала для отправки сообщения
- language Код языка шаблона в канале отправки сообщения
- address Адрес доставки сообщения
- tz Временная зона получателя сообщения
- avtime Допустимое время доставки сообщения
- message Код сообщения
- message_data Данные для шаблона сообщения
Одиночная по подписке
Этот вид рассылки предназначен для отправки сообщения заранее зарегистрированному в системе рассылке абоненту. Данные для формирования текста передаются в процедуру постановки задания. Окончательный текст сообщения, который будет передан, формируется сервером рассылки в момент отправки.
Спецификация процедуры отправки по подписке:
public void postSingleSubscribe(
String system,
String refer,
String abonent,
String message,
String message_data
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
- refer Уникальный ключ задания на рассылку
- abonent Код абонента которому отправляется сообщения
- message Код сообщения
- message_data Данные для шаблона сообщения
Групповая по подписке
Этот вид рассылки предназначен для отправки сообщений группе абонентов, подписанных на данный вид сообщения. Группа задает список абонентов, которым будет отправлено сообщение. Фактические адреса доставки, языки и шаблоны определяются на основании подписки выбранных абонентов на рассылаемое сообщение.
Спецификация процедуры групповой отправки по подписке:
public void postGroupSubscribe(
String system,
String refer,
String group,
String message,
String message_data
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
- refer Уникальный ключ задания на рассылку
- group Код группы которой отправляется сообщения
- message Код сообщения
- message_data Данные для шаблона сообщения
Массовая без подписки
Этот вид рассылки предназначен для отправки сообщений по списку адресов. Текст сообщения формируется по шаблону, список адресов передается в процедуру.
Спецификация процедуры массовой отправки без подписки:
public void postMass(
String system,
String refer,
String channel,
String addresses,
String message,
String message_data
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
- refer Уникальный ключ задания на рассылку
- channel Код канала отправки сообщений
- addresses Список адресов по которым будет выполняться рассылка сообщений
- message Код сообщения
- message_data Данные для шаблона сообщения
История обработки, управление журналом доставки
Процедура | Назначение |
getTasks | Поучает список заданий по журналу отправки |
getTaskDetail | Получает информацию по одному заданию на отправку, включая журнал отправки |
updTaskState | Изменяет состояние задания на отправку |
putTaskJournal | Записывает новый статус задания в журнал в целом по заданию |
putChannelJournal | Записывает новый статус задания в журнал в разрезе каналов доставки и адресатов |
getJournal | Возвращает журнал доставки |
cleanJournal | Очистка журнала доставки |
Список заданий на отправку
Функция предназначена для получения списка всех заданий на отправку по системе-отправителю.
Спецификация функции получения списка заданий:
public List<Map<String, Object>> getTasks(
String system
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
Детализация задания на отправку
Функция предназначена для получения детальной информации по одному заданию на отправку.
Спецификация функции получения детализации задания:
public Map<String, Object> getTaskDetail(
String system,
String refer,
String id
);
|
Параметры имеют следующее назначение:
- system Код системы-источника сообщения
- refer Уникальный ключ задания на рассылку
- id Идентификатор задания на рассылку
Запрашивать детализацию по заданию на рассылку можно либо по ключу (refer) либо по идентификатору задания.
Изменение состояния задания на отправку
Процедура предназначена для изменения состояния одного задания на отправку.
Спецификация процедуры изменения состояния:
public void updTaskState(
Long taskID,
String state
);
|
Параметры имеют следующее назначение:
- taskID Идентификатор задания на рассылку
- state Новое состояние задания на рассылку
Запись статуса доставки задания в журнал
Процедура предназначена для записи статуса в журнал доставки по заданию. Записывается статус доставки, который относится в целом к заданию на рассылку.
Спецификация процедуры записи статуса доставки:
public void putTaskJournal(
Long taskID,
Long taskaddr_nord,
String status,
String txt
);
|
Параметры имеют следующее назначение:
- taskID Идентификатор задания на рассылку
- taskaddr_nord Порядковый номер получателя (адрес доставки)
- status Новый статус задания на рассылки
- txt Описание статуса доставки, дополнительная текстовая информация
Запись статуса доставки канала в журнал
Процедура предназначена для записи статуса в журнал доставки по каналу. Записывается статус доставки, который относится к заданию на рассылку и конкретному адресу в канале доставки.
Спецификация процедуры записи статуса доставки:
public void putChannelJournal(
Long taskID,
Long taskaddr_nord,
Long channelID,
String address,
String status,
String txt
);
|
Запрос журнала доставки
Функция предназначена для получения журнала доставки сообщения. Получать журнал можно по референсу задания на доставку, по коду абонента, за выбранный промежуток времени.
Спецификация функции запроса журнала:
public List<Map<String, Object>> getJournal(
String system,
String refer,
String abonent,
Date fromdate,
Date todate
);
|
Параметры имеют следующее назначение:
- system Код системы источника, поставившей задание на рассылку
- refer Уникальный ключ задания на рассылку
- abonent Код абонента, журнал доставки сообщений которому нужно получить
- fromdate Дата начала обработки журнала доставки
- todate Дата окончания обработки журнала доставки
Комментариев нет:
Отправить комментарий