HLR API (HTTPS,JSON,XML)

Запросы передаются на адрес: https://auth.terasms.ru/outbox/hlr/
JSON запрос: https://auth.terasms.ru/outbox/hlr/json/
XML запрос: https://auth.terasms.ru/outbox/hlr/xml/

Пример запроса:
https://auth.terasms.ru/outbox/hlr/?login=terasms&password=12345&target=79017654321

Возможные варианты реализации на языке программирования php:

1) для запроса информации по одному номеру (GET)

$api_uri = 'https://auth.terasms.ru/outbox/hlr/';
$query_array = array(
    'login' => 'login',
    'password' => 'password',
    'target' => 'target'
);
$get_string = http_build_query( $query_array );
$id = file_get_contents( $api_uri . '?' . $get_string);

2) для запроса информации по одному номеру (POST)

$api_uri = 'https://auth.terasms.ru/outbox/hlr/';
$query_array = array(
    'login' => 'login',
    'password' => 'password',
    'target' => 'target'
);
$context = stream_context_create(array(
    'http' => array(
        'method'  => 'POST',
        'content' =>http_build_query($query_array),
        'timeout' => 10,
    ),
));
$id = file_get_contents($api_uri, false, $context);

3) для запроса информации по нескольким номерам (POST)

$api_uri = 'https://auth.terasms.ru/outbox/hlr/';
$query_array = array(
    'login' => 'login',
    'password' => 'password',
    'target' => 'target1,target2,target3'
);
$context = stream_context_create(array(
    'http' => array(
        'method'  => 'POST',
        'content' => http_build_query($query_array),
        'timeout' => 10,
    ),
));
$ids = file_get_contents($api_uri, false, $context);

Примеры ответов:

Ответ в формате XML:

    <hlrlist>
        <hlr>
            <destination>79858691234</destination>
            <id>v1ofozgy9m7hs6jllmnq</id>
            <stat>DELIVRD</stat>
            <IMSI>250018555579718</IMSI>
            <err>0</err>
            <orn>MTS (Mobile TeleSystems)</orn>
            <pon>MTS (Mobile TeleSystems)</pon>
            <ron>MTS (Mobile TeleSystems)</ron>
            <mccmnc>25001</mccmnc>
            <rcn>Russian Federation</rcn>
            <onp>985</onp>
            <ocn>Russian Federation</ocn>
            <ocp>7</ocp>
            <is_ported>false</is_ported>
            <rnp>916</rnp>
            <rcp>7</rcp>
            <is_roaming>false</is_roaming>
            <pnp>79871200000</pnp>
            <pcn>Russian Federation</pcn>
            <pcp>7</pcp>
        </hlr>
        </hlrlist>

Ответ в формате JSON:

[
   {
      "destination":"79858691234",
      "id":"ikcr8of7erqhitzc45uf",
      "stat":"REJECTD",
      "IMSI":"",
      "err":"0",
      "orn":"",
      "pon":"",
      "ron":"",
      "mccmnc":"",
      "rcn":"",
      "onp":"",
      "ocn":"",
      "ocp":"",
      "is_ported":"false",
      "rnp":"",
      "rcp":"",
      "is_roaming":"false",
      "pnp":"",
      "pcn":"",
      "pcp":""
   }
]

Возвращаемые данные:

  • destination - возвращаемые данные
  • id - ид ответа
  • stat - статус ответа
  • IMSI
  • err - код ошибки
  • orn - Original network name
  • pon - Ported network name
  • ron - Roaming network name
  • MCCMNC
  • rcn - Roaming network code
  • onp - Original network prefix
  • ocn - Original country name
  • ocp - Original country prefix
  • is_ported - Был ли перенос номера от оператора к оператору
  • rnp - Roaming network prefix
  • rcp - Roaming country prefix
  • is_roaming - номер в роуминге
  • pcn - Ported network name

Возможные статусы ответа:

  • DELIVD - запрос успешно выполнен
  • UNDELIV - произошла ошибка
  • UNKNOWN - произошла неизвестная ошибка
  • REJECTED - такие запросы невозможны в эту сеть
  • EXPIRED - вышел срок жизни
  • DELETED - удалено из очереди обработки
  • ACCEPTED - принято в обработку

Коды ошибок

Основые:

  • 1 - номер адресата отсутствует в БД оператора (Абонент не обслуживается)
  • 27 и 6 - Адресат не может принять короткое текстовое сообщение, т.к. или выключен аппарат, или находится вне зоны действия сети
  • 13 - На телефоне установлен запрет на прием (по меньшей мере, входящих) вызовов и сообщений.
  • 11 - Абоненту запрещен прием коротких сообщений оператором его домашней сети
Дополнительные коды ошибок
Готовы начать работу?
Если остались вопросы, свяжитесь с нами по телефону: 8 800 555-9412