Callback сервис: Что такое Callback-сервис? | Москва

Содержание

чего хотят клиенты / Хабр

Концепция обратных вызовов (call-back offering) появилась несколько лет назад и распространилась по лендингам и продающим сайтам со скоростью лесного пожара. Незамысловатая идея заключается в том, что клиент не хочет сам звонить продавцу по ряду причин: психологический дискомфорт начала разговора, боязнь звонить по частным делам в рабочее время, нежелание тратить на звонок деньги и так далее. Кнопка на сайте “Оставьте свой номер телефона и мы перезвоним вам в течение минуты” решает все эти проблемы: клиент получает входящий звонок и спокойно может уйти в переговорную, чтобы на него ответить.

Voximplant давно и прочно обосновался на рынке платформ для создания callback-сервисов. В этом Хабрапосте я расскажу о ряде интересных кейсов, с которыми сталкиваются стартаперы при попытках создать собственный стопятисотый callback-сервис с преферансом и распознаванием голоса. Казалось бы, что может быть проще? Немного frontend-магии, сбор заявок на стороне backend, и… Но есть нюансы.

Большинство сайтов, внедривших callback-сервисы, для обработки звонков используют колл-центры.

Колл-центры устроены довольно просто: они могут либо принимать входящие звонки и дальше общаться по скрипту, либо обзванивать клиентов и тоже общаться по скрипту. Поэтому, чтобы не интегрировать между собой колл-центр и backend с заказами (а это может быть… не так легко), большинство сайтов реализует следующую многоходовку:

  1. Клиент набирает на сайте свой номер и нажимает на кнопку “Позвоните мне”.
  2. Сайт обращается в облачный сервис телефонии (например, наш VoxImplant) и передает ему номер клиента.
  3. Облачный сервис совершает звонок в колл-центр, ждет, пока ответит оператор, диктует ему, с какого сайта пришел клиент (или открывает карточку сайта на компьютере оператора, если есть интеграция).
  4. Облачный сервис совершает звонок клиенту и, когда клиент ответил, коммутирует его с уже ожидающим “на проводе” оператором, который уже знает, что говорить клиенту.

Дальше — веселее. Большинство компаний, которые хотят использовать на своих сайтах callback-сервис, совершенно не горят желанием самостоятельно разрабатывать соответствующий frontend-код. Ориентируясь на потребности таких пользователей, провайдеры сервисов предлагают SaaS-решения, не требующие программирования. Достаточно добавить к сайту небольшой фрагмент кода — и виджет, связанный с личным кабинетом, волшебным образом материализуется на нужных страницах.

Но не все так просто. Наши коллеги из Media 108 уже через несколько месяцев предоставления подобного сервиса поняли, насколько все на самом деле непросто. Благодарные клиенты, получив виджет обратного звонка и увеличив поток заказов, начинают фонтанировать идеями, “как можно сделать еще лучше”. И конечно же, чтобы ничего не нужно было программировать. Типичные хотелки сферического клиента в вакууме:

  • Настройки виджета для разных страниц сайта.
  • Настройки виджета в зависимости от того, откуда посетитель пришел на сайт.
  • Настройки виджета в зависимости от времени суток, языка посетителя и еще десятка других параметров.

Так что через несколько месяцев продуктивной работы callback-сервиса обыкновенная админка обрастает мудреными визуальными редакторами, которые позволяют сотрудникам заказчика производить тонкую настройку виджета под любое пожелание клиента без помощи айтишников.

Дальше — еще веселее. Многим клиентам в принципе не нравится виджет, так как он нарушает “целостный дизайн” купленной темы WordPress или заказанного у студии лендинга. При этом писать код они не хотят точно так же, как их менее склонные к перфекционизму коллеги. Решение? “Виджет”, который на самом деле никакой не виджет. При включении в админке “интегрированного” режима виджет прекращает рисовать на сайте телефонную трубку и вместо этого интегрируется в существующие поля ввода и кнопки. Заказчик создает необходимый интерфейс средствами админки своего сайта, указывает идентификаторы полей ввода и кнопки в админке Media 108.

Теперь клик по этой кнопке реализует функционал, который ранее выполнял виджет, а именно инициирует механику обратного звонка. Легко осуществимое на первый взгляд решение шлифовалось и отлаживалось несколько месяцев, после чего получило красивое название “SmartCallBack” и начало со страшной силой экономить клиентам время и деньги — раньше подобное приходилось делать силами разработчиков.

Что-то интегрировать с колл-центрами клиенты тоже не любят. А вот воплотить в жизнь собственные представления об общении с клиентами — любят. Поэтому вся логика по пробрасыванию звонков также ложится на плечи тех, кто предоставляет callback-сервис: балансировка нагрузки между колл-центрами, использование разных колл-центров в зависимости от времени и расположения звезд, соединение VIP-клиентов с выделенными менеджерами и множество других интересных решений. Админка провайдера callback-сервисов, плотно работающего на этом рынке несколько лет, более чем впечатляет.

Вот так и получается, что совершенно несложное решение (реализуемое на VoxImplant в несколько строк кода) при столкновении с реальностью и бизнес-задачами начинает обрастать… назовем это нюансами. И это я еще рассказал только про интересные с точки зрения широкого круга читателей вещи. А ведь есть еще скучные подробности: биллинг, отчетность, обратная связь от клиентов, аналитика, интеграция с CRM, рекламными системами и множество других нужных бизнесу штук, без которых этот самый бизнес неторопливо уползает к конкурентам.

Сервис CallBack — обратный звонок

Сервис CallBack – обратный звонок

  • Telcom
  • 0 Комм.
  • 827 просмотров

Сервис CallBack – обратный звонок. Многие владельцы сайтов имеют уникальную возможность увеличить конверсию с помощью внедрения сервиса Callback. Эта услуга позволяет посетителям сайта практически мгновенно связаться с владельцами сайта и получить необходимую информацию. Время, затрачиваемое на соединение с оператором, лежит в диапазоне от 25 до 40 секунд.

Для организации связи посетителям сайта необходимо заполнить специальное поле, где они указывают свой номер телефона. Система Callback в этом случае осуществляет два звонка: первый владельцу сайта, а второй заинтересованному клиенту, после чего объединяет их.

Кроме эффекта регулярного присутствия на сайте консультанта, сервис Callback помогает улучшить конверсию посетителей в клиентов на уровень порядка 10-20 %, что зависит от сферы деятельности сайта.

Сервис Callback является своеобразной мотивацией получить подробную информацию о товарах или услугах, непосредственно у специалистов на сайте по их продаже. Подробная консультация в сочетании с заинтересованностью потенциального клиента являются двумя составляющими успешной сделки.

Отличие сервиса обратного звонка

Сервисы Callback могут различаться между собой по ценообразованию и методам технической организации. Характерной чертой политики ценообразования является поминутная тарификация и оплата количества соединений. При этом минуты всех совершенных звонков округляют в большую сторону.

При наличии квалифицированного программиста возможно предоставление тонкой настройки таргетинга, где для каждого региона будет свой индивидуальный виджет Callback. В настройках сервиса помимо этого можно указать источник перехода на сайт, регион пользователя, его часовой пояс и множество других параметров.

Мифы про Callback-сервис

Самыми популярными заблуждениями относительно сервиса Callback являются:

1.Высокая стоимость. Эти услуги предоставляют практически все крупные операторы IP-телефонии, что заставляет их конкурировать между собой, как по качеству услуг, так и тарифам. Благодаря этому стоимость обратной связи регулярно снижается. В настоящее время она доступна для компаний и частных лиц с любым бюджетом на услуги связи.
2.Отсутствие влияния на уровень продаж. Некоторые предприниматели с высоким уровнем скептицизма относятся к подобным сервисам и считают их пригодными только для продажи товаров. Но, продавать услуги в процессе телефонного разговора значительно проще. Потенциальный клиент имеет возможность оценить у исполнителя знание его сферы деятельности, владение терминологией и мотивацию к достижению положительного результата.
3.Для подключения необходимы высокооплачиваемые IT-специалисты. Для подключения сервиса Callback достаточно будет поверхностных знаний функций API на сайте, что без труда осваивают все владельцы интернет-ресурсов.

Хотите подключить сервис обратного звонка?
Подключить

  • Назад — Виртуальный номер – отличие от обычного
  • Вперёд — Функциональность голосового меню IVR

01.

Об услугах обратного звонка | ThingSpace

Содержание

  • О службах обратного вызова API управления подключением
    • Обзор
    • Подписка на услуги обратного вызова
    • Безопасность обратного вызова
    • Надежность обратного вызова
    • Получение асинхронных обратных вызовов API
    • Получение обратных вызовов уведомлений ThingSpace
    • Обратные вызовы сообщения принимающего устройства
    • Рекомендации по обратному вызову
    • Примеры обратного вызова
      • CarrierService
        • Активировать
        • Приостановить
        • Восстановить
        • Деактивировать
        • Изменить контактную информацию устройства
        • Изменить МВЗ устройства
        • Изменение пользовательских полей устройства
        • Изменить идентификатор устройства
        • Изменить план обслуживания устройства
        • Перемещение устройства
      • DeviceService
        • Проверка доступности устройства
        • DevicePRLIInformation
        • ДевицесуспенсионСтатус
        • Использование устройства
        • UploadDevices
      • EnhancedConnectivityService
        • SendSMSMessage
        • Сообщения обратного вызова SmsDeliveryConfirmation
        • SMS-сообщение с устройства
      • ЭкстерналПровиженингКенжес
      • GoToState
      • Рекламные изменения
      • Уведомление о возобновлении отслеживания
      • SubscriptionNotificationService

Обзор

API управления подключением ThingSpace использует службы обратного вызова (также называемые веб-перехватчиками) для отправки сообщений в ваше приложение. Существует три широких категории сообщений обратного вызова:

  • Асинхронные ответы API — сообщения, содержащие статус или запрошенную информацию из запросов API, для обработки которых требуется время, например активация устройств.
  • Уведомления ThingSpace — сообщения, отправляемые для уведомления вашего приложения об изменении, внесенном вне интерфейса API, например, об изменении вручную через портал Verizon, об истечении срока действия промокода для устройства или о предстоящей дате приостановки устройство автоматически вернется в активное состояние.
  • Сообщения устройства — SMS-сообщения, отправленные устройствами через ThingSpace в ваше приложение.

Подписка на службы обратного вызова

Чтобы получать сообщения обратного вызова, необходимо создать и развернуть веб-службу, которая может проверять и обрабатывать сообщения REST, соответствующие схеме JSON обратного вызова. Затем вам нужно зарегистрировать URL-адрес вашей веб-службы через API управления подключением, чтобы он знал, куда отправлять сообщения обратного вызова.

Вы можете запустить несколько служб прослушивания обратного вызова на одном сервере, но ваше приложение будет более надежным, если вы будете использовать отдельный порт для каждого типа сообщения обратного вызова, которое вы планируете получать.

Вам нужно зарегистрироваться только один раз для каждого типа обратного вызова, который вы хотите получать. Вам не нужно подписываться на все сообщения — только на те, которые применимы к вашим потребностям.

ПРИМЕЧАНИЕ. Вам придется обеспечить проход через брандмауэры для сообщений обратного вызова, например, путем внесения в белый список IP-адресов, используемых серверами Verizon ThingSpace. IP-адреса:

  • 137.117.33.109
  • 168.62.173.153
  • 3.87.163.45
  • 3.91.119.203
  • 54.197.62.209
  • 35.165.205.14
  • 54.200.43.232
  • 34.216.81.234

ПРИМЕЧАНИЕ. Чтобы протестировать службы прослушивания обратных вызовов в непроизводственной среде, у вас должен быть внешний URL-адрес для компьютера или сервера, на котором размещены веб-службы. Платформа ThingSpace не может отправлять сообщения обратного вызова в систему, не имеющую URL-адреса.

Безопасность обратного вызова

Когда вы регистрируетесь для получения сообщений обратного вызова любого типа, вы можете указать имя пользователя и/или пароль, которые вы хотите, чтобы ThingSpace включала в каждое сообщение. Он будет включать имя пользователя и пароль в виде обычного текста в сообщения обратного вызова. ThingSpace не будет взаимодействовать ни с какой системой аутентификации. Он будет включать имя пользователя и пароль в виде обычного текста в сообщение обратного вызова, например:

 "пароль": "строка",
  "имя пользователя": "строка"
 

Для повышения безопасности при получении сообщений обратного вызова от ThingSpace можно реализовать следующие протоколы:

  • Включите белый список на брандмауэре или интерфейсном сервере и добавьте IP-адреса ThingSpace в белый список. Это позволит вашим серверам отклонять запросы с других IP-адресов.
  • Установите односторонний сертификат и включите HTTPS. Вы должны использовать сертификат из сторонней службы сертификации; самоподписанный сертификат работать не будет. ThingSpace будет проверять действительность сертификата в начале каждого сеанса.

Надежность обратного вызова

Ваша веб-служба прослушивателя обратного вызова должна подтвердить получение сообщения обратного вызова, отправив обратно код состояния 2xx. Сообщения обратного вызова, которые не подтверждены вашим приложением, будут повторно отправлены ThingSpace еще три раза с 5-минутными интервалами, всего 4 попытки отправить сообщение. Неудачные (неподтвержденные) сообщения обратного вызова архивируются на 30 дней. В течение 30 дней вы можете связаться со службой поддержки, указав ID запроса неудачных обратных вызовов, и попросить отправить их повторно.

Получение асинхронных обратных вызовов API

Для запросов службы API, требующих значительного времени обработки, таких как подготовка службы для устройства или изменение плана обслуживания, API управления подключением сначала отвечает синхронным ответом, который просто подтверждает запрос и разрешает ваше приложение продолжить обработку. Позже API отправляет асинхронное сообщение обратного вызова, сообщая о результатах запроса.

Синхронный ответ содержит уникальный идентификатор запроса. Сообщение обратного вызова будет содержать тот же идентификатор запроса, чтобы вы могли связать обратный вызов с исходным запросом API.

Ниже приведены службы обратного вызова, которые возвращают асинхронные ответы API:

Служба обратного вызова Описание
КэрриерСервис Асинхронные ответы на все запросы, которые изменяют состояние устройства и метаданные: активация, приостановка, восстановление, деактивация, перемещение, изменение центра затрат, изменение тарифного плана и т. д.
DevicePRLInformation Сообщения обратного вызова, содержащие текущие значения PRL устройства, в ответ на POST /devices/prl/actions/list запросов.
Девайспрофилесервис Асинхронные ответы на все запросы, которые изменяют статус профиля устройства, включая загрузку, включение, отключение и удаление.
Использование устройства текст-заполнитель
ДевайсСервис Обратные сообщения об устройствах из запросов POST /devices/actions/upload .
DeviceSuspensionStatus Сообщения обратного вызова, содержащие информацию о приостановленном состоянии устройств, в ответ на запросы POST /devices/suspension/status .
Использование устройства Сообщения обратного вызова об использовании устройства из запросов POST /devices/usage/actions/list/aggregate .
Служба диагностики Асинхронные ответы на все запросы, разрешающие регистрацию, проверка состояния устройств SCEF для уведомлений при изменении состояния устройства (бодрствование/сон).
Расширенная служба подключения Сообщения обратного вызова от POST /sms , чтобы вы знали, когда ваши сообщения были отправлены на устройства. (Эта служба обратного вызова также используется для получения SMS-сообщений, отправленных с устройств в ваше приложение.)
ПмекСервис заполнитель
SMS-подтверждение доставки Указывает, что SMS-сообщение отправлено через POST /sms был получен и подтвержден устройством.
Государственная служба Асинхронные ответы от запросов PUT /devices/actions/gotostate .
VIPCallbackService заполнитель

Получение обратных вызовов уведомлений ThingSpace

Вы можете подписаться на эти службы, чтобы получать уведомления об изменениях устройства, которые не были инициированы через API ThingSpace. Вы можете использовать эти сообщения для синхронизации любой информации, которую хранит ваше приложение, с фактическим состоянием.

В таблице ниже перечислены службы обратного вызова, предоставляющие уведомления о внешних изменениях:

Служба обратного вызова Описание
АлертСервис Сообщения обратного вызова, отправленные при выполнении условий срабатывания.
Внешние изменения подготовки Транзакции инициализации, не инициированные API. Например, ThingSpace отправит сообщение, если пользователь бизнес-портала Verizon внес любое из следующих изменений:
  • Активировать
  • Деактивировать
  • Приостановить
  • Восстановить
  • Изменить ESN
  • Изменить MEID
  • Изменить MDN
Уведомление о возобновлении отслеживания Сообщения для уведомления о приостановленных устройствах, которые автоматически вернутся в активное состояние. ThingSpace отправит сообщение обратного вызова за 7 дней до автоматического возобновления работы приостановленного устройства.
SubscriptionNotificationService Уведомление для предупреждения пользователя о том, что службы данных будут частично или полностью «заблокированы».

Обратные вызовы сообщений принимающего устройства

Сложные приложения IoT часто должны обрабатывать информацию, отправленную с устройств, чтобы можно было предпринять соответствующие действия. Вы можете использовать службу обратного вызова, указанную ниже, для получения сообщений, отправленных устройствами.

Служба обратного звонка Описание
Расширенная служба подключения Эта служба обратного вызова предоставляет два типа сообщений:
  • Содержание SMS-сообщений, отправляемых вашими устройствами на номер 750075007500 или на номер
      0005010.
    • Уведомление о том, когда сообщений POST /sms отправляются на устройства.

Рекомендации по обратным вызовам

Дополнительные сведения о рекомендациях по обратным вызовам см. на странице Рекомендации по обратным вызовам.

Примеры обратного вызова

CarrierService

Активировать
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId":"2c90bd28-ece4-42ef-9f02-7e3bd4fbff33",
  "идентификаторы устройства": [
    {
      "id": "352452060026934",
      "вид":"IMEI"
    }
  ],
  "Ответ устройства": {
    "активировать ответ": {
      "идентификаторы устройства": [
        {
          "id":"10-значный номер телефона",
          "вид": "мдн"
        },
        {
          "id":"15-значный IMSI",
          "вид": "имси"
        },
        {
          "id":"20-значный ICCID",
          "вид": "iccId"
        },
        {
          "id":"1+ 10-значный номер телефона",
          "вид": "msisdn"
        },
        {
          "id":"МИН.  10 цифр",
          "вид":"мин"
        }
      ],
      «IP-адрес»: «10.224.48.88»,
      «состояние»: «Активный»,
      «План обслуживания»: «84638»,
      "коды функций": [
      ],
      "Учетные данные устройства": {
        "имя пользователя":"{10-значный MDN}@vzw3g.com",
        "пароль":"{пароль}"
      }
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Приостановить
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "5b645698-162f-4897-889d-c61275ab1afc",
  "идентификаторы устройства": [
    {
      "id":"14-символьный MEID",
      "вид":"MEID"
    },
    {
      "id":"10-значный номер телефона",
      "вид":"MDN"
    }
  ],
  "Ответ устройства": {
    "приостановить ответ": {
      "expectedResumeDate": "25.05.2018",
      "maxSuspendDaysAllowed":180,
      "numDaysSuspendedLast12Months":93,
      "numDaysSuspendAllowedCurrent12Months":87
    }
  },
  "comment": "Устройство приостановлено - применимые сборы будут продолжаться",
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Восстановить
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "52288eff-c306-44f0-9e73-0c3143ea9e7b",
  "идентификаторы устройства": [
    {
      "id":"15-значный IMEI",
      "вид": "имей"
    },
    {
      "id":"20-значный ICCID",
      "вид": "iccid"
    }
  ],
  "Ответ устройства": {
    "восстановитьответ":{
       «восстановлено»: правда
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Деактивировать
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId":"eb3406b0-15fc-4473-8e84-b92cfb67f22d",
  "идентификаторы устройства": [
    {
      "id":"15-значный IMEI",
      "вид": "имей"
    },
    {
      "id":"20-значный ICCID",
      "вид": "iccid"
    }
  ],
  "Ответ устройства": {
    "деактивировать ответ": {
      «деактивировано»: правда
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Изменить контактную информацию устройства
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "24da9f9a-d110-4a54-86b4-93fb76aab83c",
  "идентификаторы устройства": [
    {
      "вид": "ЕСН",
      "id":"11-значный ESN"
    },
    {
      "вид": "ЕСН",
      "id":"11-значный ESN"
    }
  ],
  "Ответ устройства": {
    "КонтактИнфоответ":{
      "имя_учетной записи":"0000123456-00001"
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Изменить центр затрат устройства
 {
  "имя пользователя": "",
  "пароль": "",
  "requestId": "3e4a42ca-6dfa-460e-9803-f677b069a694",
  "идентификаторы устройства": [
    {
      "id": "14-символьный MEID",
      "вид": "Мейд"
    }
  ],
  "Ответ устройства": {
    "deviceCostCenterResponse": {
      "costCenterCode": "VZW103",
      "основное место использования": {
        "адрес": {
          "адресная линия1": "9808",
          "addressLine2": "Скрэнтон-роуд",
          "город": "Сан-Диего",
          "состояние": "CA",
          "страна": "США",
          "молния": "92121",
          "zip4": "01234",
          "phone": "{10-значный номер телефона}",
          "тип телефона": "М",
          "Адрес электронной почты": "zaffod@theinternet. com"
        },
        "Имя Клиента": {
          "firstName": "Заффод",
          "lastName": "Библброкс",
          "middleName": "В",
          "название": "Президент",
          "суффикс": "я"
        }
      }
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Изменить настраиваемые поля устройства
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "c8de7c1d-59b9-4cf3-b969-db76cb2ce509",
  "идентификаторы устройства": [
    {
      "id":"10-значный номер телефона",
      "вид": "мдн"
    }
  ],
  "Ответ устройства": {
  },
  "комментарий":"Успех",
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Изменить идентификатор устройства
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "a28892ea-6503-4aa7-bfa2-4cd45d42f61b",
  "идентификаторы устройства": [
    {
      "id":"11-значный ESN",
      "вид": "ЕСН"
    }
  ],
  "Ответ устройства": {
    "changeIdentifierResponse":{
      "идентификаторы устройства": [
        {
          "id":"14-символьный MEID",
          "вид": "Мейд"
        }
      ],
      «План обслуживания»: «M2M_4G»
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Изменить план обслуживания устройства
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "c8de7c1d-59b9-4cf3-b969-db76cb2ce509",
  "идентификаторы устройства": [
    {
      "id":"10-значный номер телефона",
      "вид": "мдн"
    }
  ],
  "Ответ устройства": {
    "deviceChangeServicePlanResponse":{
      «План обслуживания»: «M2M5GB»,
      "efficientDate": "25. 12.2017 00:00:00"
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Переместить устройство
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId":"ec682a8b-e288-4806-934d-24e7a59ed889",
  "идентификаторы устройства": [
    {
      "id":"11-значный ESN",
      "вид":"Эсн"
    }
  ],
  "Ответ устройства": {
    «Ответ об использовании»: [ ],
    "moveDeviceResponse":{
      "идентификаторы устройства": [
        {
          "id":"11-значный ESN",
          "вид":"Эсн"
        }
      ],
      "имя_учетной записи":"0000123456-00001"
    }
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 

DeviceService

Проверка доступности устройства
 {
  "имя пользователя":"",
  "пароль":"",
  "идентификатор запроса": "595f5c44-c31c-4552-8670-020a1545a84d",
  "Ответ устройства": {
    "checkDeviceAvailabilityResponse":{
      "информация об устройстве":[
        {
          "устройство":[
            {
              "id":"15-значный IMEI",
              "вид": "IMEI",
              "deviceSku":"VZW0

450004", "productType":"Модем", "устройствоНайдено":правда }, { "id":"20-значный ICCID", "вид": "ICCID", "устройствоНайдено":правда } ], "associatedWithMTN": правда, "устройствоSimPair": правда }, ], "имя_учетной записи":"0000123456-00001" } }, "статус":"Успех", «коллбэккаунт»: 1, «maxCallbackThreshold»: 4 }

DevicePRLIInformation
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "5b645698-162f-4897-889d-c61275ab1afc",
  "идентификаторы устройства": [
    {
      "id":"14-символьный MEID",
      "вид":"MEID"
    },
    {
      "id":"10-значный номер телефона",
      "вид":"MDN"
    }
  ],
  "Ответ устройства": {
    "prlInformationResponse": {
      "prlVersion": "523310"
    },
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
ДевайссуспенсионСтатус
 {
  "имя пользователя": "",
  "пароль": "",
  "ID запроса": "904dcdc6-a590-45e4-ac76-403306f6d883",
  "Ответ устройства": {
    "deviceSuspensionStatusResponse": [
      {
        "идентификаторы устройства": [
          {
            "id": "15-значный IMEI",
            "вид": "имей"
          }
        ],
        "состояние": "приостановить",
        "suspendDate": "2017-12-21 00:00:00",
        "expectedResumeDate": "20. 03.2018",
        "daysRemainingAutoResume": "90",
        "maxSuspendDaysAllowed": "180",
        "numDaysSuspendedLast12Months": "0",
        "numDaysSuspendAllowedCurrent12Months": "91",
        "timesSuspendedLast12Months": "1"
      },
      {
        "идентификаторы устройства": [
          {
            "id": "20-значный ICCID",
            "вид": "кислотный"
          }
        ],
        "состояние": "приостановить",
        "suspendDate": "2017-12-21 00:00:00",
        "expectedResumeDate": "20.03.2018",
        "daysRemainingAutoResume": "90",
        "maxSuspendDaysAllowed": "180",
        "numDaysSuspendedLast12Months": "0",
        "numDaysSuspendAllowedCurrent12Months": "91",
        "timesSuspendedLast12Months": "1"
      }
    ]
  },
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 
Использование устройства
 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "24da9f9a-d110-4a54-86b4-93fb76aab83c",
  "Ответ устройства": {
    "prlInformationResponse":{},
    "smsDeliveryResponse":{},
    "Ответ об использовании": [
      {},
      {
        "идентификаторы устройства": [
          {
            "id":"10-значный номер телефона",
            "вид": "Мдн"
          },
          {
            "id":"14-символьный MEID",
            "вид": "Мейд"
          }
        ],
        «использование данных»: «0»,
        "использование смс":"0",
        "startDate":"2014-02-02T00:00:00. 0000000",
        "endDate":"2014-02-25T00:00:00.0000000"
      }
    ]
  },
  "comment":"Запрос завершен в обработке",
  "резюме":{
    "устройства запрошено": 0
  },
  "статус": "Успех",
  "callbackCount": 1,
  "maxCallbackThreshold": 4
}
 
UploadDevices
 {
   "имя пользователя":"",
   "пароль":"",
   "requestId":"595f5c44-c31c-4552-8670-020a1545a84d",
   "Ответ устройства": {
      "deviceUploadResponse":{
         "устройства": [
            {
               "идентификаторы устройства": [
                  {
                     "id":"20-значный ICCID",
                     "вид": "Икцид"
                  },
                  {
                     "id":"15-значный IMEI",
                     "вид": "Имей"
                  }
               ],
               "lineStatus":"Загрузка устройства прошла успешно."
            },
            {
               "идентификаторы устройства": [
                  {
                     "id":"20-значный ICCID",
                     "вид": "Икцид"
                  },
                  {
                     "id":"15-значный IMEI",
                     "вид": "Имей"
                  }
               ],
               "lineStatus":"Загрузка устройства прошла успешно"
            },
            {
               "идентификаторы устройства": [
                  {
                     "id":"20-значный ICCID",
                     "вид": "Икцид"
                  },
                  {
                     "id":"15-значный IMEI",
                     "вид": "Имей"
                  }
               ],
               "lineStatus":"Идентификатор SIM-карты недействителен"
            }
         ],
         "accountName":"0000123456-00001",
         "deviceSku":"VZW123456",
         "totalLineCount":"3",
         "сбойLineCount":"1",
         "успехЛинекаунт":"2"
      }
   },
   "статус":"Успех",
   «коллбэккаунт»: 1,
   «maxCallbackThreshold»: 4
}
 

EnhancedConnectivityService

SendSMSMessage

Сообщение для каждого устройства

 {
  "имя пользователя":"",
  "пароль":"",
  "requestId":"2c90bd28-ece4-42ef-9f02-7e3bd4fbff33",
  "идентификаторы устройства": [
    {
      "id":"20-значный ICCID",
      "вид": "Икцид"
    },
    {
      "id":"10-значный номер телефона",
      "вид": "Мдн"
    },
    {
      "id":"15-значный IMEI",
      "вид": "Имей"
    },
    {
      "id":"1+ 10-значный номер телефона",
      "вид": "Msisdn"
    }
  ],
  "comment":"SendSmsMessage,Выполнено действие на устройстве. ",
  "статус":"Успех",
  «коллбэккаунт»: 1,
  «maxCallbackThreshold»: 4
}
 

Сообщение о завершении запроса

 {
  "имя пользователя":"",
  "пароль":"",
  "requestId":"2c90bd28-ece4-42ef-9f02-7e3bd4fbff33",
  "comment":"SendSmsMessage,запрос завершен в обработке."
  "резюме": {
    "устройства запрошено": 2
  },
  "callbackCount": 1,
  "maxCallbackThreshold": 4
}
 
Сообщения обратного вызова SmsDeliveryConfirmation

Успех после подтверждения устройства

 {
  "имя пользователя":"",
  "пароль":"",
  "ID запроса":"2c90bd28-ece4-42ef-9f02-7e3bd4fbff33",
  "идентификаторы устройства": [
    {
      "id":"10-значный номер телефона",
      "вид": "Мдн"
    }
  ],
  "Ответ устройства": {
    "smsDeliveryResponse":{
      "подтверждение": "Доставлено"
    }
  }
}
 
SMS-сообщение с устройства
 {
  {
    "Сообщения": [
      {
        "идентификаторы устройства": [
          {
            "id": "11-значный ESN",
            "вид": "esn"
          }
        ],
        "сообщение": "тестовое сообщение1",
        "отметка времени": "2016-01-01T12:29:49-08:00"
      },
      {
        "идентификаторы устройства": [
          {
            "id": "11-значный ESN",
            "вид": "esn"
          }
        ],
        "сообщение": "тестовое сообщение2",
        "отметка времени": "2016-01-01T12:31:02-08:00"
      }
    ]
  },
  "hasMoreData": ложь
}
 

ExternalProvisioningChanges

Это пример сообщения обратного вызова ExternalProvisioningChanges, отправляемого, когда система, отличная от API беспроводных сетевых служб или API управления подключением ThingSpace, активирует линию обслуживания для устройства.

 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "24da9f9a-d110-4a54-86b4-93fb76aab83c",
  "идентификаторы устройства": [
    {
      "id":"15-значный IMEI",
      "вид": "Имей"
    }
  ],
  "Ответ устройства": {
    "externalProvisioningChangeResponse":{
      "изменить":"Активировать",
      "информация об устройстве":{
        "accountName":"0000123456-00001",
        "billingCycleEndDate":"2017-11-30T00:00:00.0000000Z",
        "Информация о перевозчике": [
          {
            "carrierName":"Verizon Wireless",
            «План обслуживания»: «M2M5GB»,
            «состояние»: «активно»
          }
        ],
        "подключен": правда,
        "createdAt":"2017-11-27T14:03:21.0000000Z",
        "идентификаторы устройства": [
          {
            "id":"10-значный номер телефона",
            "вид": "мдн"
          },
          {
            "id":"15-значный IMSI",
            "вид": "имси"
          },
          {
            "id":"15-значный IMEI",
            "вид": "имей"
          },
          {
            "id":"20-значный ICCID",
            "вид": "iccId"
          },
          {
            "id":"1+ 10-значный номер телефона",
            "вид": "msisdn"
          },
          {
            "id":"МИН.  10 цифр",
            "вид":"мин"
          }
        ],
        "названия групп": [
          «По умолчанию: грузовики западного побережья»
        ],
        "IP-адрес":"1.1.29.169",
        "lastActivationBy":"Пользователь Verizon",
        "lastActivationDate": "2017-11-27T14:13:37.0000000Z"
      }
    }
  },
  "статус": "Успех",
  "callbackCount": 1,
  "maxCallbackThreshold": 4
}
 

GoToState

 {
 "имя пользователя":"",
  "пароль":"",
  "requestId":"595f5c44-c31c-4552-8670-020a1545a84d",
  "идентификаторы устройства": [
    {
      "id":"20-значный ICCID",
      "вид": "Икцид"
    },
    {
      "id":"15-значный IMEI",
      "вид": "Имей"
    }
  ],
  "Ответ устройства": {
    «Ответ об использовании»: [],
    "goToStateResponse":{
      "идентификаторы устройства": [
        {
          "id":"20-значный ICCID",
          "вид": "Икцид"
        },
        {
          "id":"15-значный IMEI",
          "вид": "Имей"
        }
      ],
      "serviceName":"WAM",
      "stateName":"Активировать WAM"
    }
  },
  "статус": "Успех",
  "callbackCount": 1,
  "maxCallbackThreshold": 4
}
 

PromoChanges

ThingSpace отправляет сообщения при изменении промокодов для линии обслуживания, например, когда истекает срок действия промокода. ThingSpace отправляет сообщение обратного вызова PromoChange вскоре после окончания цикла выставления счетов за устройство, если рекламный пакет был удален во время цикла выставления счетов.

ПРИМЕЧАНИЕ. Вы можете использовать POST /devices/actions/list , чтобы просмотреть все активные промокоды для устройства и запланированную дату окончания для каждого из них.

 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "90682b54-66ad-4c1f-a0f2-f3bb77ea298b",
  "идентификаторы устройства": [
    {
      "id":"15-значный IMEI",
      "вид":"IMEI"
    }
  ],
  "Ответ устройства": {
    "promoChangeResponse":{
      "change":"Промокод потерян.",
      "changeDate":"15.12.2017 00:00:00"
    }
  }
}
 

Уведомление о возобновлении отслеживания

 {
  "имя пользователя":"",
  "пароль":"",
  "requestId": "24da9f9a-d110-4a54-86b4-93fb76aab83c",
  "Ответ устройства": {
    "идентификаторы устройства": [
      {
        "id":"10-значный номер телефона",
        "вид": "Мдн"
      },
      {
        "id":"14-символьный MEID",
        "вид": "Мейд"
      }
    ],
    "comment": "Устройство будет автоматически возобновлено - 15. 12.2018, 00:00:00"
  }
}
 

Служба уведомлений о подписке

 {
   "requestId":"535a2d96-33d9-4b36-8246-31058ffd0ff1",
   "идентификаторы устройства": [
      {
         "id":"10-значный номер телефона",
         "вид": "Мдн"
      },
      {
         "id":"15-значный IMEI",
         "вид": "Имей"
      },
      {
         "id":"20-значный ICCID",
         "вид": "Икцид"
      },
      {
         "id":"32-значный EID",
         "вид": "Ид"
      },
      {
         "id":"1+ 10-значный номер телефона",
         "вид": "Msisdn"
      }
   ],
   "Ответ устройства": {
      "Уведомление о подписке":[
         {
            "accountName":"0000123456-00001",
            "Отметка времени":"2019-10-28 05:41:39",
            "throttlingPercentage":"100%",
            "использование": "12348646456.000000",
            "usageUnits":"BYT"
         }
      ]
   },
   «коллбэккаунт»: 1,
   «maxCallbackThreshold»: 4
}
 

callback_service

Служба обратного вызова

Этот класс шаблона упрощает интеграцию событий в стиле ‘C’ (например, векторов прерываний) и обработчиков C++.

Это может обеспечить абстракцию между событиями низкого уровня, такими как прерывания, и их обработчиками, зависящими от приложения.

Обработчики могут быть любой комбинацией глобальных, статических функций или функций-членов.

Он использует оболочку шаблонной функции. Глянь сюда.

Обратные вызовы идентифицируются по идентификатору. Значения идентификаторов должны варьироваться от нуля или указанного смещения до максимального количества указанных обратных вызовов

. Вызов неиспользуемого идентификатора обратного вызова либо ничего не сделает, либо, если пользователь указал

обработчик, вызовет его с идентификатором обратного вызова.

Существуют функции, которые используют проверку идентификатора обратного вызова как во время выполнения, так и во время компиляции.

Предпочтительно время компиляции.

__________________________________________________________________________________________________

Функции-члены

template

etl::callback_service

RANGE Диапазон идентификаторов обратных вызовов.

OFFSET Начальный идентификатор диапазона.

__________________________________________________________________________________________________

callback_service()

Устанавливает маршрутизацию всех обратных вызовов на необработанный обратный вызов .

Устанавливает для необработанного обратного вызова значение по умолчанию (ничего не делать).

__________________________________________________________________________________________________

template

void register_callback(etl::ifunction& callback)

Регистрирует обратный вызов с идентификатором, указанным в параметре шаблона.

Ошибка времени компиляции, если идентификатор выходит за допустимые пределы.

__________________________________________________________________________________________________

void register_callback(size_t id, etl::ifunction& callback)

Регистрирует обратный вызов с идентификатором, указанным в параметре шаблона.

Регистрация будет проигнорирована, если идентификатор выходит за допустимые пределы.

__________________________________________________________________________________________________

void register_unhandled_callback(etl::ifunction& callback)

Регистрирует обратный вызов, который будет использоваться для необработанных идентификаторов.

__________________________________________________________________________________________________

template

void callback()

Вызывает обратный вызов, связанный с идентификатором.

Вызывает необработанный обратный вызов , если идентификатор не был зарегистрирован.

Ошибка времени компиляции, если идентификатор выходит за допустимые пределы.

__________________________________________________________________________________________________

void callback(const size_t id)

Вызывает callback, связанный с id.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *