Documentation ¶
Overview ¶
Package movizor package provides access to http://MoVizor.ru API which provides access for GSM geo-position services of russian telecommunications operators. Beeline, MTS, Megafon, Tele2.
As soon as MoVizor provides service only in Russia all documentation will be in russian.
Index ¶
- Constants
- type API
- func (api *API) AddEventSubscription(o SubscribeEventOptions) error
- func (api *API) AddObject(o Object, oo *ObjectOptions) (APIResponse, error)
- func (api *API) AddObjectToSlave(o Object, oo *ObjectOptions, slaveID uint64) (APIResponse, error)
- func (api *API) CancelTariffChangeObject(o Object) (APIResponse, error)
- func (api *API) ClearAllEventSubscriptions() error
- func (api *API) ClearObjectEventSubscriptions(o Object, eType *EventType) error
- func (api *API) ClearUnusedSubscriptions() error
- func (api *API) DeleteEventsSubscription(id int64) (APIResponse, error)
- func (api *API) DeleteObject(o Object) (APIResponse, error)
- func (api *API) EditObject(o Object, oo *ObjectOptions) (APIResponse, error)
- func (api *API) EditObjectWithActivate(o Object, oo *ObjectOptions, activate bool) (APIResponse, error)
- func (api *API) GeoCode(addr string) (GeoPoints, error)
- func (api *API) GetBalance() (Balance, error)
- func (api *API) GetEventSubscriptions() (SubscribedEvents, error)
- func (api *API) GetEvents(o ObjectEventsOptions) (ObjectEvents, error)
- func (api *API) GetFilteredObjects(filter func(ObjectStatus) bool) (ObjectsWithStatus, error)
- func (api *API) GetObjectInfo(o Object) (ObjectInfo, error)
- func (api *API) GetObjectLastPosition(o Object) (Position, error)
- func (api *API) GetObjectPositions(o Object, rpo *RequestPositionsOptions) (Positions, error)
- func (api *API) GetObjects() (ObjectsWithStatus, error)
- func (api *API) GetObjectsPositions() (ObjectPositions, error)
- func (api *API) GetOperatorInfo(o Object) (OperatorInfo, error)
- func (api *API) GetRequestedPosition(pr PositionRequest) (Position, error)
- func (api *API) MakeRequest(action string, params url.Values) (APIResponse, error)
- func (api *API) ReactivateObject(o Object) (APIResponse, error)
- func (api *API) RequestPosition(o Object) (PositionRequest, error)
- func (api *API) SubscribeEvent(o SubscribeEventOptions) (APIResponse, error)
- func (api *API) UnsubscribeObject(o Object) error
- type APIResponse
- type Balance
- type Coordinate
- type Coordinates
- type CoordinatesAttributes
- type CurrentCoordinates
- type Destination
- type DestinationOptions
- type ETAStatus
- type EventType
- type GeoPoint
- type GeoPoints
- type Int
- type Object
- type ObjectEvent
- type ObjectEvents
- type ObjectEventsOptions
- type ObjectInfo
- type ObjectOptions
- type ObjectPosition
- type ObjectPositions
- type ObjectStatus
- type ObjectsWithStatus
- type Operator
- type OperatorInfo
- type Position
- type PositionRequest
- type Positions
- type RequestPositionsOptions
- type SchedulingOptions
- type Service
- type Status
- type SubscribeEventOptions
- type SubscribedEvent
- type SubscribedEvents
- type Tariff
- type TariffType
- type Time
- type Weekday
Constants ¶
const ( // DefaultAPIMovizorEndpoint is default API Movizor endpoint DefaultAPIMovizorEndpoint = "https://movizor.ru/api" // APIMovizorEndpointSuffix is API Movizor endpoint suffix to pass method and parameters // /%s/%s = /project/action APIMovizorEndpointSuffix = "/%s/%s" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct { Endpoint string Project string Token string Client *http.Client IsDebug bool Retries uint }
API - это клиент к API Мовизора. Сервиса определения гео-координат на основе GSM сервиса.
func NewMovizorAPI ¶
NewMovizorAPI создает экземпляр Movizor API для стандартного адреса сервера.
func NewMovizorAPIWithEndpoint ¶
NewMovizorAPIWithEndpoint создает экземпляр Movizor API. Может быть указан нестандартный адрес сервиса МоВизора на случай, если такой появится.
func (*API) AddEventSubscription ¶ added in v0.1.4
func (api *API) AddEventSubscription(o SubscribeEventOptions) error
AddSubscription добавляет подписку на событие по телефону в существующую подписку подписчика, если таковой будет найден. Если такой подписчик не будет найден, то создастся новая подписка.
func (*API) AddObject ¶
func (api *API) AddObject(o Object, oo *ObjectOptions) (APIResponse, error)
AddObject подключает абонента к мониторингу.
func (*API) AddObjectToSlave ¶
func (api *API) AddObjectToSlave(o Object, oo *ObjectOptions, slaveID uint64) (APIResponse, error)
AddObjectToSlave подключает абонента к мониторингу в подчиненный кабинет по ID этого кабинета. ID кабинета тоже самое, что и "Номер клиента" указанные в правом верхнем углу кабинета клиента.
func (*API) CancelTariffChangeObject ¶
func (api *API) CancelTariffChangeObject(o Object) (APIResponse, error)
CancelTariffChangeObject отменяет переход на новый тариф со следующего дня. Если с помощтю EditObject и без автоматической активации меняется тариф, то эту смену можно отменить.
func (*API) ClearAllEventSubscriptions ¶
ClearAllEventSubscriptions удаляет все подписки в аккаунте.
func (*API) ClearObjectEventSubscriptions ¶
ClearObjectEventSubscriptions производит отписку от конкретного события для определенного телефона. Если существует подписка на все телефоны на какое-то событие, то она не будет затронута. Т.е. удаляются только подписки с явным указанием номера телефона.
func (*API) ClearUnusedSubscriptions ¶
ClearUnusedSubscriptions удаляет все не используемые подписки. То есть, если конретного объекта нет в списке трекинга (в любом статусе), то подписка на события по этому объекуту удаляется. Удаление касается всех подписок для конкретных телефонов. Общие подписки для всех телефонов не затраниваются.
func (*API) DeleteEventsSubscription ¶
func (api *API) DeleteEventsSubscription(id int64) (APIResponse, error)
DeleteEventsSubscription удаляет подписку по ее id. Для получения id используйте GetEventSubscriptions.
func (*API) DeleteObject ¶
func (api *API) DeleteObject(o Object) (APIResponse, error)
DeleteObject отключает и удаляет абонента из системы мониторинга.
func (*API) EditObject ¶
func (api *API) EditObject(o Object, oo *ObjectOptions) (APIResponse, error)
EditObject производит изменение опций мониторинга ранее добавленного абонента.
func (*API) EditObjectWithActivate ¶
func (api *API) EditObjectWithActivate(o Object, oo *ObjectOptions, activate bool) (APIResponse, error)
EditObjectWithActivate проивзодит изменение опций мониторинга ранее добавленного абонента с опцией немедленной активации или на следующие сутки.
api.EditObjectWithActivate(object, options, true) // немедленная активация api.EditObjectWithActivate(object, options, false) // активация на следующие сутки
func (*API) GeoCode ¶ added in v0.1.4
GeoCode выполняет геокодинг указанной строки. Метод возвращает набор подходящий точек с их точными найденными адресами.
func (*API) GetBalance ¶
GetBalance возвращает текущее состояние баланса и установленные тарифы для всех видов мониторинга.
func (*API) GetEventSubscriptions ¶
func (api *API) GetEventSubscriptions() (SubscribedEvents, error)
GetEventSubscriptions получает список подписок активных на текущий момент.
func (*API) GetEvents ¶
func (api *API) GetEvents(o ObjectEventsOptions) (ObjectEvents, error)
GetEvents получает список событий, с возможностью определить с какого id события выводить данные.
func (*API) GetFilteredObjects ¶ added in v0.1.4
func (api *API) GetFilteredObjects(filter func(ObjectStatus) bool) (ObjectsWithStatus, error)
GetFilteredObjects возвращает список объектов отфильтрованных переданным параметром-функцией
func (*API) GetObjectInfo ¶
func (api *API) GetObjectInfo(o Object) (ObjectInfo, error)
GetObjectInfo возвращает информацию о ранее добавленном абоненте с наиболее полной информацией, включая все опции, с которыми добавлялся объект.
func (*API) GetObjectLastPosition ¶
GetObjectLastPosition возвращает информацию о последнем зафиксированном в системе местоположении.
func (*API) GetObjectPositions ¶
func (api *API) GetObjectPositions(o Object, rpo *RequestPositionsOptions) (Positions, error)
GetObjectPositions возвращает информацию о всех координатах абонента. По умолчанию выдаются последние 1000 записей.
func (*API) GetObjects ¶
func (api *API) GetObjects() (ObjectsWithStatus, error)
GetObjects возвращает список абонентов, добавленных в мониторинг с их статусом и текущим местоположением.
func (*API) GetObjectsPositions ¶
func (api *API) GetObjectsPositions() (ObjectPositions, error)
GetObjectsPositions возвращает список объектов с их местоположением и ETA (estimated time of arrival)
func (*API) GetOperatorInfo ¶
func (api *API) GetOperatorInfo(o Object) (OperatorInfo, error)
GetOperatorInfo возвращает информацию по оператору объекта трекинга (номеру телефона)
func (*API) GetRequestedPosition ¶
func (api *API) GetRequestedPosition(pr PositionRequest) (Position, error)
GetRequestedPosition получает информацию о сделанном запросе на определение местоположения по его идентификатору, который получен методом RequestPosition.
func (*API) MakeRequest ¶
MakeRequest делает запрос в Movizor API с указанным действием и параметрами. Все методы API вызывают MakeRequest.
func (*API) ReactivateObject ¶
func (api *API) ReactivateObject(o Object) (APIResponse, error)
ReactivateObject производит повторное подключение к системе абонента, если сработало автоматическое отключение. Невозможно повторно подключить ранее удаленный объект мониторинга.
func (*API) RequestPosition ¶
func (api *API) RequestPosition(o Object) (PositionRequest, error)
RequestPosition выполняет запрос на определение местоположения. Используется для определения координат вручную (TariffManual). Однако можно использовать и с другими тарифами. RequestPosition возвращает ID запроса, который передается в GetRequestedPosition для получения координат объекта.
func (*API) SubscribeEvent ¶
func (api *API) SubscribeEvent(o SubscribeEventOptions) (APIResponse, error)
SubscribeEvent выполняет подписку на указанное тип события для всех объектов (телефонов) или по списку.
func (*API) UnsubscribeObject ¶
UnsubscribeObject производит отписку от всех событий для определенного телефона. Если существует подписка на все телефоны на какое-то событие, то она не будет затронута. Т.е. удаляются только подписки с явным указанием номера телефона.
type APIResponse ¶
type APIResponse struct { Result string `json:"result"` // "success" or "error" expected ResultCode string `json:"code"` // "OK" expected Message string `json:"message"` // "Balance info", ... Data json.RawMessage `json:"data,omitempty"` // optional Payload of response ErrorCode string `json:"error_code,omitempty"` // Код ошибка ErrorText string `json:"error_text,omitempty"` // Текст ошибки ErrorTextRU string `json:"error_text_ru,omitempty"` // optional Текст ошибки на русском }
APIResponse представляет собой ответ от сервиса с описанием типа сообщения и сегмента с данными.
type Balance ¶
type Balance struct { Balance float64 `json:"balance,string"` // Текущий остаток средств на балансе Credit float64 `json:"credit,string"` // Сумма кредитных средств на балансе ContractType string `json:"type"` // Тип договора OperatorTariffs map[Operator]map[TariffType]Tariff ServiceTariffs map[Service][]Tariff }
Balance содержит текущий баланс по договору и список подключенных тарифов по мобильным операторам.
func (*Balance) UnmarshalJSON ¶
type Coordinate ¶
type Coordinate float32
Coordinate - гео-координата. ToDo: сделать проверку на допустимые значения и возможно заменить на float64
func (Coordinate) Float32 ¶
func (c Coordinate) Float32() float32
Float32 возвращает гео-координату в виде float32.
func (Coordinate) String ¶
func (c Coordinate) String() string
String возвращает гео-координату в виде строки формата "%.8f"
func (*Coordinate) UnmarshalJSON ¶
func (c *Coordinate) UnmarshalJSON(data []byte) (err error)
type Coordinates ¶
type Coordinates struct { Lat Coordinate `json:"lat"` // Долгота Lon Coordinate `json:"lon"` // Широта }
Coordinates представляет собой структуру гео-координат.
type CoordinatesAttributes ¶
type CoordinatesAttributes struct { Distance *Int `json:"distance"` // Остаток в км до конечной точки ETA *Int `json:"distance_forecast_time,omitempty"` // Прогноз оставшегося времени до конечной точки // Прогноз строится в зависимости от наличия информации о конечном пункте назначения и времени прибытия. // Если этой информации нет, значения элементов будут пустыми. ETAStatus *ETAStatus `json:"distance_forecast_status,omitempty"` // Прогноз успеваемости до конечной точки. // Прогноз строится в зависимости от наличия информации о конечном пункте назначения и времени прибытия. // Если этой информации нет, значения элементов будут пустыми. Place string `json:"place"` // Населенный пункт местоположения. }
CoordinatesAttributes преставляет собой аттрибуты гео-координат. ETA, статус ETA, описание гео-координат (обратный гео-кодинг)
type CurrentCoordinates ¶
type CurrentCoordinates struct { CurrentLon *Coordinate `json:"current_lon"` // Широта последнего местоположения CurrentLat *Coordinate `json:"current_lat"` // Долгота последнего местоположения }
CurrentCoordinates представляют собой текущие гео-координаты объекта. Допускается null значения.
type Destination ¶
type Destination struct { Text string `json:"text"` Coordinates Time string `json:"time"` Status ETAStatus `json:"status"` }
Destination представляю собой структуру описания точки назначения, в которую следует объект.
type DestinationOptions ¶
DestinationOptions указывает точку следования объекта мониторинга. ToDo: заменить на Coordinates
type EventType ¶
type EventType string
EventType представляет собой возможный тип события, которые регистрируются в сервисе МоВизора. Не по всем типам событий можно производить подписку для нотификации.
const ( AddEvent EventType = "add" // - добавлен объект AutoOffEvent EventType = "auto_off" // - автоматическое отключение OffEvent EventType = "off" // - отключение ConfirmEvent EventType = "confirm" // - объект подтвердил подключение RejectEvent EventType = "reject" // - объект отказался от подключения RequestOkEvent EventType = "request" // - запрос: успешно RequestErrorEvent EventType = "request_error" // - запрос: ошибка RequestObjectOfflineEvent EventType = "request_offline" // - запрос: телефон недоступен RequestObjectInRoamingEvent EventType = "request_roaming" // - запрос: телефон в роуминге ReactivateEvent EventType = "reactivate" // - повторное подключение ChangeTariffEvent EventType = "tariff_auto" // - смена тарифного плана InTimeEvent EventType = "pos_ok" // - объект начал успевать LateEvent EventType = "pos_late" // - объект начал опаздывать FinishedEvent EventType = "pos_finished" // - объект прибывает CallToDriverEvent EventType = "autoinform" // - автоинформатор NoConfirmationEvent EventType = "no_confirm" // - объект не подтвердил подключение ObjectLimitedEvent EventType = "limit" // - у объекта стоит ограничение OnRouteEvent EventType = "onroute" // - встал на маршрут ReturnRouteEvent EventType = "returnroute" // - вернулся на маршрут LeftRouteEvent EventType = "leftroute" // - отклонился от маршрута NotRouteEvent EventType = "notroute" // - не на маршруте OnParkingEvent EventType = "onparking" // - встал на парковку OffParkingEvent EventType = "offparking" // - начал движение MStopEvent EventType = "mstop" // - приложение остановлено MStartEvent EventType = "mstart" // - приложение запущено )
type GeoPoint ¶ added in v0.1.4
type GeoPoint struct { Coordinates Description string `json:"title"` }
GeoPoint указывает на точку геокодирования.
type GeoPoints ¶ added in v0.1.4
type GeoPoints []GeoPoint
GeoPoints содержит слайс точек геокодирования.
type Int ¶
type Int int
Int - определение типа int для unmarshaling json с возможным значением json null.
func (*Int) UnmarshalJSON ¶
type Object ¶
type Object string
Object - это номер подключаемого абонента в формате MSISDN (например, 79210010203). Возможно так же передавать номер при добавлении в систему в следующих форматах:( +7 (921) 001-02-03; 8-921-001-02-03).
type ObjectEvent ¶
type ObjectEvent struct { EventID int64 `json:"id"` // Идентификатор события (возрастающий номер события) Timestamp Time `json:"timestamp"` // Время возникновения события Phone Object `json:"phone"` // Номер телефона абонента, по которому произошло событие Event EventType `json:"type"` // Тип события }
ObjectEvent содержит информацию о событиях, которые происходили с объектом. Такие как: подтверждение трекинга, отклонение трекига, отклонения от маршрута следования и т.д.
func (*ObjectEvent) UnmarshalJSON ¶
func (oe *ObjectEvent) UnmarshalJSON(data []byte) (err error)
type ObjectEvents ¶
type ObjectEvents []ObjectEvent
ObjectEvents является списком событий по объектам.
type ObjectEventsOptions ¶
ObjectEventsOptions предоставляет опции для получения списка событий через метод GetEvents.
type ObjectInfo ¶
type ObjectInfo struct { Phone Object `json:"phone"` // Номер абонента Status Status `json:"status"` // status type Confirmed bool `json:"confirmed"` // Получено подтверждение от абонента Title string `json:"title"` // Имя абонента (название объекта) Tariff TariffType `json:"tariff"` // Текущий тарифный план TariffNew *TariffType `json:"tariff_new,omitempty"` // Новый тарифный план со следующего дня LastTimestamp Time `json:"last_timestamp"` // Время последнего запроса на определение местоположения AtRequest bool `json:"at_request,omitempty"` // Производится определение местоположения в данный момент CurrentCoordinates CoordinatesAttributes OnParking *bool `json:"on_parking,omitempty"` // Находится ли объект на парковке Destination []Destination `json:"destination,omitempty"` // Список точек назначения, которые должен посетить Водитель. OfflineTime Time `json:"offline_time,omitempty"` // Время последнего известного местоположения PosError bool `json:"pos_error,omitempty"` // Последнее местоположение не удалось определить TimestampOff Time `json:"timestamp_off"` // Время автоматического отключения от мониторинга TimestampAdd Time `json:"timestamp_add"` // Время добавления объекта в Мовизор Metadata map[string]string `json:"metadata,omitempty"` // Метаинформация объекта, массив }
ObjectInfo содержит почти полную информацию по объекту, включая опции, с которыми добавлялся объект.
func (*ObjectInfo) UnmarshalJSON ¶
func (oi *ObjectInfo) UnmarshalJSON(data []byte) (err error)
type ObjectOptions ¶
type ObjectOptions struct { Title string //title - Название объекта Tags []string //tags - Список меток через запятую DateOff time.Time //dateoff - Дата и время автоматического отключения абонента (dd.mm.yyyy hh:mm:ss) Tariff TariffType //tariff - Id-тарифного плана PackageProlong bool //package_prolong - Автоматически продлевать пакет (при использовании пакетного тарифа) Destinations []DestinationOptions // destination[] - массив конечных точек маршрута. Schedules *SchedulingOptions // рассписание для ручного обновления координат Metadata map[string]string // metadata Массив с дополнительной информацией по объекту для отображения в событиях и отчетах. CallToDriver bool // autoinform integer Включить услугу автоинформатора. }
ObjectOptions предоставляет опции для AddObject (add_object) и EditObject (edit_object)
type ObjectPosition ¶
ObjectPosition представляет собой гео-координаты, последнее временя обновления координат, текущее местонахождение и ETA объекта.
type ObjectPositions ¶
type ObjectPositions []ObjectPosition
ObjectPositions является списком объектов с гео-координатами, последним временем обновления координат, текущим местонахождением и ETA.
type ObjectStatus ¶
type ObjectStatus struct { Phone Object `json:"phone"` // Номер телефона абонента Status Status `json:"status"` // Статус добавления для отслеживания }
ObjectStatus представляет собой текущий статус объекта трекинга.
type ObjectsWithStatus ¶
type ObjectsWithStatus []ObjectStatus
ObjectsWithStatus является списком объектов с их статусами.
func (ObjectsWithStatus) IsObjectIn ¶
func (os ObjectsWithStatus) IsObjectIn(o Object) bool
IsObjectIn проверяет, есть ли соответствующий объект в списке.
func (ObjectsWithStatus) Len ¶
func (os ObjectsWithStatus) Len() int
func (ObjectsWithStatus) Less ¶
func (os ObjectsWithStatus) Less(i, j int) bool
func (ObjectsWithStatus) Swap ¶
func (os ObjectsWithStatus) Swap(i, j int)
type OperatorInfo ¶
type OperatorInfo struct { Operator Operator `json:"operator"` // Внутренний идентификатор оператора Title string `json:"title"` // Название оператора Region string `json:"region,omitempty"` // Домашний регион абонента }
OperatorInfo содержит информацию о сотовом операторе.
type Position ¶
type Position struct { Coordinates Timestamp Time `json:"timestamp"` // Время получения координат для этой точки TimestampRequest Time `json:"timestamp_request,omitempty"` // Время создания запроса на получение координат Deviation *Int `json:"radius,omitempty"` // Радиус погрешности (м) CoordinatesAttributes }
Position содержит информацию о последнем зафиксированном в системе местоположении.
type PositionRequest ¶
type PositionRequest struct {
RequestID int64 `json:"request_id"`
}
PositionRequest хранит ID запроса на опреления гео-координат.
type RequestPositionsOptions ¶
type RequestPositionsOptions struct { RequestLimit uint64 // req_limit - Разрешить делать не более X запросов в сутки на определение координат всех объектов Offset uint64 // offset - Смещение количества получаемых координат TimeFrom time.Time // date_start - Unix Timestamp. Фильтрация вывода, начиная с этой даты TimeTo time.Time // date_end - Unix Timestamp. Фильтрация вывода, до этой даты }
RequestPositionsOptions - представляет собой указание выборки списка координат методом GetObjectPositions.
type SchedulingOptions ¶
type SchedulingOptions struct { FireAt []time.Time // st Массив времени в расписании. Передается в многомерном массиве, // contains filtered or unexported fields }
SchedulingOptions является расписанием запросов на определение координат объекта.
func (*SchedulingOptions) IsWeekdayOn ¶ added in v0.1.4
func (s *SchedulingOptions) IsWeekdayOn(day Weekday) bool
IsWeekdayOn возвращает текущее состояние расписания запросов для указанного дня недели.
func (*SchedulingOptions) WeekdayOff ¶ added in v0.1.4
func (s *SchedulingOptions) WeekdayOff(day Weekday)
WeekdayOff исключает день недели из расписания запросов на определение координат объекта.
func (*SchedulingOptions) WeekdayOn ¶ added in v0.1.4
func (s *SchedulingOptions) WeekdayOn(day Weekday)
WeekdayOn добавляет день недели в расписание запросов на определение координат объекта.
type Status ¶
type Status string
Status представляет собой возможный статус состояния объекта в системе МоВизор.
const ( StatusNew Status = "new" // Новый StatusWaitOk Status = "wait" // Ожидание подтверждения StatusOk Status = "ok" // Подтвержден и доступен для мониторинга StatusWaitOff Status = "off_new" // В процессе отключения от мониторинга StatusOff Status = "off" // Отключен от мониторинга StatusRejected Status = "rejected" // Абонент отказался от мониторинга StatusNotConfirmed Status = "no_confirmed" // Абонент не подтвердил подключение StatusError Status = "error" // Оператор не поддерживается StatusOperatorNotAllowed Status = "wrong" // Оператор не поддерживается StatusTrackCollision Status = "error_exists" // Номер отслеживается другой компанией у оператора StatusTrackingIsOff Status = "limited" // У абонента ограничение на подключение к услуге )
type SubscribeEventOptions ¶
type SubscribeEventOptions struct { AllObjects bool Objects []Object Event EventType // contains filtered or unexported fields }
SubscribeEventOptions предоставляет опции подписки на нотификацию по событиям. Если установлен признак AllObjects, то список Objects игнорируется.
func NewSubscribeEventOptions ¶
func NewSubscribeEventOptions(o Object, e EventType) SubscribeEventOptions
NewSubscribeEventOptions возвращает экземпляр SubscribeEventOptions для указанного объекта и типа события.
func (*SubscribeEventOptions) IsSubscriberEqualTo ¶ added in v0.1.4
func (se *SubscribeEventOptions) IsSubscriberEqualTo(event SubscribedEvent) bool
IsSubscriberEqualTo проверяет, что у опций подписки на конкретное событие один и тот же подписчик
func (*SubscribeEventOptions) SetEMailNotification ¶
func (se *SubscribeEventOptions) SetEMailNotification(mail string) error
SetEMailNotification устанавливает нотификацию на указанный почтовый адрес. Работает только та нотификация, которая была установлена последней в данной подписке. Это особенности API Movizor.
func (*SubscribeEventOptions) SetSMSNotification ¶
func (se *SubscribeEventOptions) SetSMSNotification(phone Object) error
SetSMSNotification устанавливает нотификацию на указанный телефон по СМС. Работает только та нотификация, которая была установлена последней в данной подписке. Это особенности API Movizor.
func (*SubscribeEventOptions) SetTelegramNotification ¶
func (se *SubscribeEventOptions) SetTelegramNotification()
SetTelegramNotification устанавливает нотификацию на Телеграм указанные в профиле держателя аккаута. Работает только та нотификация, которая была установлена последней в данной подписке. Это особенности API Movizor.
type SubscribedEvent ¶
type SubscribedEvent struct { SubscriptionID int64 `json:"id"` // Идентификатор события (возрастающий номер события) IsAllObjectsSubscribed bool `json:"phones_all"` // Уведомление о событии для всех объектов (в том числе добавляемых в будущем) ObjectsSubscribed []Object `json:"phones"` // Список телефонов (объектов) Timestamp Time `json:"timestamp"` // Время возникновения события Event EventType `json:"type"` // Тип события, на которые зарегистрирована подписка Phone Object `json:"phone"` // Номер телефона абонента, по которому отправляются уведомления EMail string `json:"email"` // Email, по которому отправляются уведомления IsTelegram bool `json:"telegram"` // Уведомления отправляются на аккаунт telegram указанный в настройках аккаунта }
SubscribedEvent содержит информацию о подписке на одно из событий.
func (SubscribedEvent) MakeOptions ¶
func (se SubscribedEvent) MakeOptions() (seo SubscribeEventOptions, err error)
MakeOptions создает опции на создание подписки на события на основе существуещей подписки для последующего добавления. Используется для редактирования подписки путем удаления старой и добавления новой.
func (*SubscribedEvent) UnmarshalJSON ¶
func (se *SubscribedEvent) UnmarshalJSON(data []byte) (err error)
type SubscribedEvents ¶
type SubscribedEvents []SubscribedEvent
SubscribedEvents является списком подписок на события.
type Tariff ¶
type Tariff struct { AbonentPayment float64 `json:"abon"` // Абоненская плата RequestCost float64 `json:"request"` // Стоимость запроса TariffTitle string `json:"title"` // Название тарифа }
Tariff представляет собой структуру тариф для одного из сервисов.
func (*Tariff) UnmarshalJSON ¶
type TariffType ¶
type TariffType string
TariffType представляет собой тип тарифа.
const ( TariffManual TariffType = "0" // Вручную TariffOnline TariffType = "1" // Онлайн TariffOneMonth TariffType = "3" // Пакет на 1 месяц TariffEvery15 TariffType = "15" // Каждые 15 мин TariffEvery30 TariffType = "30" // Каждые 30 мин TariffEvery60 TariffType = "60" // Каждые 60 мин TariffEvery180 TariffType = "180" // Каждые 3 часа )