Информация из личного кабинета

Материал из wiki.sipnet.ru
Перейти к: навигация, поиск

Личный кабинет SIPNET использует для своей работы именно этот API.
По понятным причинам, мы не можем его опубликовать полностью. Если Вы считаете, что использование этого инструментария Вам необходимо, обратитесь в тех.поддержку.

Общие положения

Весь обмен информацией осуществляется по протоколу HTTP/1.1 SSL (порт 443). Передача и получение информации осуществляется методом POST. Запрос и ответ формируются в виде XML-документа (xml version="1.0").
Все запросы осуществляются на URL https://customer.voipexchange.ru/cgi-bin/Exchange.dll/Api.

Схема запроса и получения ответа:

 HTTP POST Request >>-------->> XML Data >>----------->> SSL HTTP Server (443 порт)

 HTTP Response <<------------<< XML Data <<-----------<< SSL HTTP Server

Описание XML данных для запроса.

Каждый запрос имеет следующий формат данных:

<?xml version="1.0"?>
  <method name="метод">
     <engine>Cabinet 2.0</engine>
     <owner>Me</owner>
     <key>My Key</key>
     <language>ru</language>
     <domain>customer.sipnet.ru</domain>
     <user>имя пользователя</user>
     <password>пароль</password>
     <ip>ip-адрес</ip>
     <payload>полезные данные</payload>
  </method>

Если в тэге <method> присутствует поле remote, то данные в запросе необходимо отправлять на URL, указанный в этом поле.

Пример:

<?xml version="1.0"?>
  <method name="init">
     <engine>Cabinet 2.0</engine>
     <owner>Me</owner>
     <key>My Key</key>
     <language>ru</language>
     <domain>customer.sipnet.ru</domain>
     <user>sippoint</user>
     <password>******</password>
     <ip>25.25.66.35</ip>
     <payload></payload>
  </method>

Описание XML данных ответа от сервера.

Каждый ответ от сервера имеет следующий формат данных:

<?xml version="1.0" ?>
  <method name="метод">
     <version>1.0</version>
     <status>success</status>
     <UserInfo>
        <UserName>имя пользователя</UserName>
        <RealName>Реально имя пользователя</RealName>
        <Plan>Тарифный план</Plan>
        <SipID>SIPID</SipID>
        <EmailAttached>Включён ли почтовый ящик</EmailAttached>
        <PhoneNotebook>Включена ли телефонная книга</PhoneNotebook>
        <AdminAccount>Включён ли доступ администратора</AdminAccount>
        <UserMoneyLimit>Остаток на счёте</UserMoneyLimit>
        <AccountStatus>Статус аккаунта</AccountStatus>
        <ParentCard>Дочерние карты</ParentCard>
        <ParentAccessible>No</ParentAccessible>
        <Entity>person</Entity>
        <alert>No</alert>
        <Routing>Variable</Routing>
     </UserInfo>
     ...другие данные
  </method>

Пример:

 
<?xml version="1.0" ?>
  <method name="init">
     <version>1.0</version>
     <status>success</status>
  <UserInfo>
     <UserName>sippoint</UserName>
     <RealName>SIPPoint</RealName>
     <Plan>Спецсвязь Плюс</Plan>
     <SipID>1799534</SipID>
     <EmailAttached>Yes</EmailAttached>
     <PhoneNotebook>Yes</PhoneNotebook>
     <AdminAccount>Yes</AdminAccount>
     <UserMoneyLimit>29.14585</UserMoneyLimit>
     <AccountStatus>Full</AccountStatus>
     <ParentCard>No</ParentCard>
     <ParentAccessible>No</ParentAccessible>
     <Entity>person</Entity>
     <alert>No</alert>
     <Routing>Variable</Routing>
  </UserInfo>
  </method>

Ответ от сервера представляет собой XML документ с набором тегов для дальнейшего удобного формирования отчёта:
Все данные подразделяются на блоки с тегом <block>, где задаётся имя блока и его тип. Например: <block name="info_block" type="table">
Внутри блока может находиться следующая информация:

  • < caption > - название блока
  • < records > - количество записей (строки)
  • < range > - период из общего количества записей (строки)
  • < columns > - число столбцов
  • < headers > - шапка таблицы
  • < rows > - строки таблицы (внутри этого тега формируется таблица с информцией на основании вышеуказанных xml-тегов с использованием html-тегов)
  • < buttons > - кнопки в форме для формирования запроса и отправки данных (как правило с блока)

Метод 'init'.

Метод 'init' предназначен для инициализации и авторизации имени пользователя и пароля клиента и получения основных сведений. Является основным методом при осуществлении авторизации и входит в состав всех остальных методов.
Пример XML документа и описание полей можно увидеть в пунктах 2 и 3. Метод не включает

Метод 'do_info'.

Метод 'do_info' предназначен для получения информации о личных данных и истории платежей.
Запрос: формируется стандартный с методом do_info.

Пример:

<?xml version="1.0"?>
<method name="do_info">
   <engine>Cabinet 2.0</engine>
   <owner>Me</owner>
   <key>My Key</key>
   <language>ru</language>
   <domain>customer.sipnet.ru</domain>
   <user>sippoint</user>
   <password>***</password>
   <ip>25.25.66.35</ip>
   <payload></payload>
</method>

Ответ: формируется ответ с блоками данных в стандартном формате XML ответа сервера.

Пример:

<?xml version="1.0" ?>
<method name="do_info">
   <version>1.1</version>
   <status>success</status>
   <UserInfo>
      <UserName>sippoint</UserName>
      <RealName>SIPPoint</RealName>
      <Plan>Спецсвязь Плюс</Plan>
      <SipID>1799534</SipID>
      <EmailAttached>Yes</EmailAttached>
      <PhoneNotebook>Yes</PhoneNotebook>
      <AdminAccount>Yes</AdminAccount>
      <UserMoneyLimit>29.14585</UserMoneyLimit>
      <AccountStatus>Full</AccountStatus>
      <ParentCard>No</ParentCard>
      <ParentAccessible>No</ParentAccessible>
      <Entity>person</Entity>
      <alert>No</alert>
      <Routing>Variable</Routing>
   </UserInfo>
   <block name="info_block" type="table">
      <caption>Информация о клиенте</caption>
      <records>12</records>
      <range>1-12</range>
      <columns>2</columns>
      <headers>
         <tr><th colspan="2">Информация о клиенте</th></tr>
      </headers>
      <rows>
         <tr><td>Имя пользователя</td><td align="right">sippoint</td></tr>
         <tr><td>SIP ID</td><td align="right">1799534</td></tr>
         <tr><td>Тарифный план</td><td align="right">Спецсвязь Плюс</td></tr>
         <tr><td>Баланс</td><td align="right">29.14585</td></tr>
         <tr><td>Начислено</td><td align="right">61.00000</td></tr>
         <tr><td>Длительность звонков</td><td align="right">9227:00</td></tr>
         <tr><td>Фамилия Имя Отчество</td><td align="right">SIPPoint</td></tr>
         <tr><td>Страна</td><td align="right">Russia</td></tr>
         <tr><td>Город</td><td align="right"></td></tr>
         <tr><td>Организация</td><td align="right"></td></tr>
         <tr><td>Телефон для связи</td><td align="right"></td></tr>
         <tr><td>E-Mail для восстановления пароля</td><td align="right">xxx@xxx.ru</td></tr>
         <tr><td>Часовой пояс</td><td align="right">(GMT) Гринвич, Лондон</option></td></tr>
      </rows>
   </block>
   <block name="info_add_money" type="table">
      <caption>Пополнения счёта</caption>
      <records>2</records>
      <range>1-2</range>
      <columns>3</columns>
      <headers>
         <tr><th>Сумма</th><th>Дата</th><th>Способ оплаты</th></tr>
      </headers>
      <rows>
         <tr><td>50.00</td><td>04/05/2007</td><td align="right">Cash</td></tr><tr><td>10.00</td><td>06/06/2006</td><td align="right">Cash</td></tr>
      </rows>
   </block>
   <block name="info_cg_registration" type="table">
      <caption>CG регистрация</caption>
      <records>1</records>
      <range>1-1</range>
      <columns>2</columns>
      <headers>
         <tr><th>Адрес</th><th>Оборудование</th></tr>
      </headers>
      <rows>
         <tr><td colspan="2">Активных регистраций нет.</td></tr>
      </rows>
   </block>
</method>