/*
  Сервис реализует функционал получения информации для взаимодействия с ГО ЧС
*/
syntax = "proto3";

import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "keyapis/dial/v1/keyapis_dial_alert_scenario_v1.proto";

package keyapis.dial.v1;

option java_package = "ru.keyapis.dial.v1";
option java_outer_classname = "KeyapisDialV1Proto";
option java_multiple_files = false;
option java_string_check_utf8 = true;
option go_package = "/keyapis_dial_v1";
option cc_enable_arenas = true;
option csharp_namespace = "Keyapis.Dial.V1";
option objc_class_prefix = "KEYAPISDIALV1";
option php_namespace = "Keyapis\\Dial\\V1";
option ruby_package = "Keyapis::Dial::V1";
option optimize_for = LITE_RUNTIME;

// Сервис получения информации для взаимодействия с ГО ЧС
service DialEmergencyService{
    //Метод получения sip-логина устройства.
    //Метод доступен для: ApiKey
    rpc GetSipLogin(GetSipLoginRequest) returns (GetSipLoginResponse) {
      option (google.api.http) = {
        get: "/dial/internal/api/v1/sip_login"
      };
    }
}

//Запрос на получение списка устройств
message GetSipLoginRequest{
  // Фильтр по АБС-номеру устройства.
  // # Паттерн: /^\+[1-9][0-9]{10}$/
  string abc_number = 1 [(google.api.field_behavior) = REQUIRED];
}

//Ответ на запрос на получение списка устройств
message GetSipLoginResponse{
  // Ошибка запроса на получение списка устройств
  message Error {
    // Причина ошибки
    oneof reason {
      // Ошибка валидации
      ValidationError validation = 1;
    }
  }
  // Тип результата
  oneof type {
    // SIP-Логин устройства
    string sip_account = 1;
    // Ошибка
    Error error = 2;
  }
}

