Служба оповещения клиентов Для оповещения клиентов используются два вида рассылок электронные письма (E-mail) и SMS рассылки. Электронные письма рассылаются в случаях:
после составления заявления отправляется с информацией, которая указана в заявлении;
при отклонении заявления по каким-либо причинам;
напоминание о необходимости продления услуги.
SMS сообщения рассылаются в следующих случаях:
при входе в личный кабинет владельцу сертификата приходит сообщения;
напоминание о необходимости продления услуги.
Для создания такого инструмента будет разработана Windows-служба, которая будет рассылать сообщения. Рассылка будет осуществляться по следующей схеме:
один раз в день отправляется на e-mail письмо и sms-сообщение тем клиентам, у которых осталось 2 недели до окончания срока действия услуги;
отправляется sms-сообщение при входе в личный кабинет.
Взаимодействие со службой будет осуществляться с помощью очередей сообщений (MSMQ). Такой подход позволит оперативно взаимодействовать со службой рассылки.
Использование очередей MSMQ В операционной системе Windows доступна служба очередей сообщений MSMQ (Microsoft Message Queuing). Очередь сообщений создана для взаимодействия приложений в распределенной среде. Для работы с очередями была написана вспомогательный класс (класс-обертка) для упрощенной работы, в котором используется стандартная библиотека (разработанная компанией Microsoft) и входит в .Net Framework и доступна в пространстве имен System.Messaging. В результате использование очередей сообщений упростилось, пример работы с классом [13]:
var rs = new MQReceiver();
rs.ReceivedMessage += rs_ReceiveMessage;
rs.Start();
Метод, который срабатывает при получении сообщения:
private void rs_ReceiveMessage(MQReceiver sender, MQMessage message) {
if (message.IsMail) {
mailsender.SendMailAsync(message, r =>{
if (r.Status == TaskStatus.RanToCompletion) {
AddLog("Mail sended to " + message.Address);
}else{
if (r.Exception != null&&r. Exception.InnerException!=null) { AddLog(r.Exception.InnerException.Message); }}});
}else{
smssender.Send(message, r =>{
if (r.Status == TaskStatus.RanToCompletion) {
AddLog("SMS sended to " + message.Address);
}else{
if (r.Exception != null){ AddLog(r.Exception.InnerException.Message);
}}});}}
Использование Контур-Фокус API Для автоматизации процесса заполнения заявлений будет использоваться сервис Контур-Фокус. У данного сервиса есть не публичное API, которое доступно только партнерам компании «СКБ-Контур».
Работа с сервисом организована следующим образом:
при заполнении клиент указывает ИНН организации;
при формировании заявления выполняется GET запрос на сервис Контур-Фокус, передавая ИНН клиента;
в ответ на запрос сервис возвращает информацию об юридическом лице.
Пример запроса на получения информации:
https://focus-api.kontur.ru/api?inn=7203158243&key={api-key}
Пример неполного ответа:
{"items": [
{
"inn": "7203158243",
"kpp": "720301001",
"ogrn": "1057200596970",
"okpo": "76822710",
"fullName": "Общество с ограниченной ответственностью \"Сибтел-Крипто\"",
"shortName": "ООО \"Сибтел-Крипто\"",
"statusText": "Действующее",
[…]
}]}
Описание параметров:
iin – ИНН организации о которой запрашивается информация.
key –уникальный ключ, который выдается партнерам компании «СКБ-Контур».
|