Подменные номера

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

Объекты

DomainHideContact

DomainHideContactArch

DomainHideContactCall

Для добавления связки контактов необходимо выбрать, откуда брать номера со стороны АТС. У модуля существует три схемы реализации.

Схема 1

Данная схема подразумевает абонента А, который звонит на подменный номер, что бы попасть на абонента Б. По такой схеме абонент Б также может перезвонить на подменный номер, чтобы содединиться с абонентом А.

Для раздела Номера запрос будет выглядеть следующим образом:

{
  "action": "append",
  "obj": "DomainHideContact",
  "action_id": "12345",
  "params": {
    "domain_id": 34,
    "start_dt": 1703570405,
    "end_dt": 1703571405,
    "external_id": "some_external_id",
    "contact_a": "79ХХХХХХХХХ",
    "contact_b": "79YYYYYYYYY",
    "gw_source": 1,
    "status": 1,
    "rule_id": "ea20f8e2-1e0d-a7a0-aa12-17d479c5bc64"
  }
}

Схема 2

Данная схема подразумевает абонента А, который звонит на подменный номер, что бы попасть на абонента Б, но абонент Б не сможет по подменному номеру дозвониться до абонента А.

Для раздела Номера запрос будет выглядеть следующим образом:

{
"action": "append",
"obj": "DomainHideContact",
"action_id": "12345",
"params": {
    "domain_id": 34,
    "start_dt": 1730713480,
    "end_dt": 1730713680,
    "external_id": "some_external_id",
    "contact_a": "79ХХХХХХХХХ",
    "rule_id": "00348fdb-2221-42f3-b827-a2241241054f",
    "status": 1
    }
}

Схема 3

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

Для раздела Номера запрос будет выглядеть следующим образом:

{
"action": "append",
"obj": "DomainHideContact",
"action_id": "12345",
"params": {
    "domain_id": 34,
    "start_dt": 1730713606,
    "end_dt": 1730713806,
    "external_id": "some_external_id",
    "contact_a": "79ХХХХХХХХХ",
    "contact_b": "79YYYYYYYYY",
    "rule_id": "63723089-ca90-4f1d-953a-91b7a858af98",
    "status": 1
    }
}

Настройки

{
    "action": "append",
    "obj": "DomainHideContactSetting",
    "action_id": "59a9-1500-1ea0-b706",
    "params": {
        "domain_id": 34,
        "params": {
            "model_name": "DomainHideContactSetting",
            "rules": {
                "03bb43bf-de54-8bcf-bfcc-723cb53ee77c": {
                    "name": "Скрытие контакта. Схема 1.",
                    "contact_a_on_dial": {
                        "list": []
                    },
                    "contact_a_on_bridge": {
                        "list": []
                    },
                    "contact_a_on_no_answer": {
                        "list": []
                    },
                    "contact_b_on_dial": {
                        "list": []
                    },
                    "contact_b_on_bridge": {
                        "list": []
                    },
                    "contact_b_on_no_answer": {
                        "list": []
                    },
                    "outbound_condition": "mobile",
                    "default_gw_number_id": 83,
                    "gnpg_id": 78,
                    "schema": 1

                },
                "00348fdb-2221-42f3-b827-a2241241054f": {
                    "name": "Скрытие контакта. Схема 2.",
                    "contact_a_on_dial": {
                        "list": []
                    },
                    "contact_a_on_bridge": {
                        "list": []
                    },
                    "contact_a_on_no_answer": {
                        "list": []
                    },
                    "contact_b_on_dial": {
                        "list": []
                    },
                    "contact_b_on_bridge": {
                        "list": []
                    },
                    "contact_b_on_no_answer": {
                        "list": []
                    },
                    "outbound_condition": "mobile",
                    "default_gw_number_id": 83,
                    "gnpg_id": 78,
                    "schema": 2
                },
                "63723089-ca90-4f1d-953a-91b7a858af98": {
                    "name": "Скрытие контакта. Схема 3.",
                    "contact_a_on_dial": {
                        "list": []
                    },
                    "contact_a_on_bridge": {
                        "list": []
                    },
                    "contact_a_on_no_answer": {
                        "list": []
                    },
                    "contact_b_on_dial": {
                        "list": []
                    },
                    "contact_b_on_bridge": {
                        "list": []
                    },
                    "contact_b_on_no_answer": {
                        "list": []
                    },
                    "outbound_condition": "mobile",
                    "default_gw_number_id": 83,
                    "gnpg_id": 78,
                    "schema": 3
                }
            }
        }
    }
}

Ответы

Успешный ответ:

{
  "action": "append",
  "action_id": "12345",
  "obj": "DomainHideContact",
  "code": 200,
  "notifies": [],
  "body": {
    "id": 1,
    "domain_id": 34,
    "start_dt": 1703570405.0,
    "end_dt": 1703571405.0,
    "external_id": "some_external_id",
    "contact_a": "79ХХХХХХХХХ",
    "contact_b": "79YYYYYYYYY",
    "gw_number": "7495ZZZZZZZ",
    "gw_source": 1,
    "status": 1,
    "rule_id": "ea20f8e2-1e0d-a7a0-aa12-17d479c5bc64"
  }
}

Ошибка - не найдена связка по external_id:

{
  "action": "call_by_external_id",
  "action_id": "12345",
  "obj": "DomainHideContactCall",
  "code": 500,
  "notifies": [
    {
      "obj": "DomainHideContact",
      "calling_source": null,
      "type": 1,
      "msg_id": 10002,
      "filter": {
        "external_id": "some_external_id1"
      }
    }
  ]
}

Ошибка - нет свободных номеров:

{
  "action": "append",
  "action_id": "12345",
  "obj": "DomainHideContact",
  "code": 500,
  "notifies": [
    {
      "obj": "DomainGatewayNumberPool",
      "calling_source": null,
      "type": 1,
      "msg_id": 10022
    }
  ]
}

Запрос на инициализацию вызова:

{
  "action": "call_by_external_id",
  "obj": "DomainHideContactCall",
  "action_id": "12345",
  "params": {
    "domain_id": 34,
    "external_id": "some_external_id1",
    "first": "7495ZZZZZZZ"
  }
}

Ошибка - нет свободных линий для совершения вызовов:

{
  "action": "call_by_external_id",
  "action_id": "12345",
  "obj": "DomainHideContactCall",
  "code": 500,
  "notifies": [
    {
      "obj": "DomainHideContactCall",
      "calling_source": null,
      "type": 1,
      "msg_id": 10012,
      "limit": null
    }
  ]
}