Documentation
¶
Index ¶
- Constants
- func GetInitCallURL(s *Service, ic *InitCall) (string, error)
- type Client
- type ID
- type InitCall
- type InputData
- type PhoneInfo
- type Requester
- type ResponseBalance
- type ResponseInfo
- type ResponseInitCall
- type ResponseInitRepeat
- type ResponseService
- type Service
- func (s *Service) AddCalls(uID ID)
- func (s *Service) Calls(id ID) []ID
- func (s *Service) GetBalance() (r *ResponseBalance, err error)
- func (s *Service) GetInfo(uid ID) (r *ResponseInfo, err error)
- func (s *Service) GetService() (r *ResponseService, err error)
- func (s *Service) InitCall(ic *InitCall) (r *ResponseInitCall, err error)
- func (s *Service) InitRepeat(uid ID) (r *ResponseInitRepeat, err error)
- type TestInfo
- type UCaller
Constants ¶
View Source
const ( MaxCode uint16 = 9999 MaxLenForSecretKey int = 32 APIURL string = "https://api.ucaller.ru/v1.0" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type InitCall ¶
type InitCall struct { // REQUIRED. Без + с кодом страны. Номер телефона пользователя, которому будет совершен звонок с авторизацией. // Цифровое значение Phone *uint64 `json:"phone"` // 4 цифры. На эти 4 цифры будет заканчиваться исходящий от нас звонок к вашему пользователю. // Если `code` не передан, он будет автоматически сгенерирован нами. // Цифровое значение Code *uint16 `json:"code"` // До 64 символов. Можете передать информацию о вашем пользователе, например его никнейм, E-mail и так далее. // В статистике сервиса сможете найти ту или иную авторизацию по этому параметру. // Набор символов Client *string `json:"client"` // До 64 символов. Для активации идемпотентности запроса. // Рекомендуем использовать V4 UUID. // Набор символов Unique *string `json:"unique"` }
type InputData ¶
type InputData struct { // Секретный ключ вашего сервиса, Строка, 32 символа SecretKey string // ID вами созданного сервиса, Цифровое значение ID uint32 // FreeRepeatTime время отведенное для совершения бесплатного повторного звонка FreeRepeatTime time.Duration // FreeRepeatNumber количество бесплатных повторов FreeRepeatNumber uint8 }
type ResponseBalance ¶
type ResponseBalance struct { // true в случае успеха, false в случае неудачи Status bool `json:"status"` // Остаточный баланс на рублевом счете аккаунта Rub float32 `json:"rub_balance"` // Остаточный бонусный баланс Bonus float32 `json:"bonus_balance"` // Кодовое значение вашего тарифного плана Tariff string `json:"tariff"` // Название тарифного плана TariffName string `json:"tariff_name"` Error string `json:"error"` }
type ResponseInfo ¶
type ResponseInfo struct { // true в случае успеха, false в случае неудачи Status bool `json:"status"` // запрошенный uCaller ID ID ID `json:"ucaller_id"` // время, когда была инициализирована авторизация InitTime uint64 `json:"init_time"` // Статус звонка, // -1 = информация проверяется (от 1 сек до 1 минуты), // 0 = дозвониться не удалось, // 1 = звонок осуществлен CallStatus int8 `json:"call_status"` // является ли этот uCaller ID повтором (initRepeat), если да, будет добавлен first_ucaller_id с первым uCaller ID этой цепочки IsRepeated bool `json:"is_repeated"` // возможно ли инициализировать бесплатные повторы (initRepeat) Repeatable bool `json:"repeatable"` // Появляется в случае repeatable: true, говорит о количестве возможных повторов RepeatTimes uint8 `json:"repeat_times"` // цепочка uCaller ID инициализированных повторов (initRepeat) RepeatedUIDs []ID `json:"repeated_ucaller_ids"` // ключ идемпотентности (если был передан) UniqueRequestID uuid.UUID `json:"unique"` // идентификатор пользователя переданный клиентом (если был передан) Client string `json:"client"` // номер телефона пользователя, куда мы совершали звонок Phone uint64 `json:"phone"` // код авторизации Code uint64 `json:"code"` // ISO код страны пользователя CountryCode string `json:"country_code"` // static.ucaller.ru/flag/ru.svg, изображение флага страны пользователя CountryImage string `json:"country_image"` // информация по телефону PhoneInfo []PhoneInfo `json:"phone_info"` // сколько стоила эта авторизация клиенту Cost float32 `json:"cost"` Error string `json:"error"` }
type ResponseInitCall ¶
type ResponseInitCall struct { // true в случае успеха, false в случае неудачи Status bool `json:"status"` // уникальный ID в системе uCaller, который позволит проверять статус и инициализировать метод initRepeat ID ID `json:"ucaller_id"` // номер телефона, куда мы совершили звонок Phone string `json:"phone"` // код, который будет последними цифрами в номере телефона Code interface{} `json:"code"` // идентификатор пользователя переданный клиентом Client string `json:"client"` // появляется только если вами был передан параметр `unique` UniqueRequestID uuid.UUID `json:"unique_request_id"` // появляется при переданном параметре `unique`, если такой запрос уже был инициализирован ранее Exists bool `json:"exists"` Error string `json:"error"` }
type ResponseInitRepeat ¶
type ResponseInitRepeat struct { // true в случае успеха, false в случае неудачи Status bool `json:"status"` // уникальный ID в системе uCaller, который позволит проверять статус и инициализировать метод initRepeat ID ID `json:"ucaller_id"` // номер телефона, куда мы совершили звонок Phone string `json:"phone"` // код, который будет последними цифрами в номере телефона Code interface{} `json:"code"` // идентификатор пользователя переданный клиентом Client string `json:"client"` // появляется только если вами был передан параметр `unique` UniqueRequestID uuid.UUID `json:"unique_request_id"` // появляется при переданном параметре `unique`, если такой запрос уже был инициализирован ранее Exists bool `json:"exists"` // показывает, что осуществлена повторная авторизация FreeRepeated bool `json:"free_repeated"` Error string `json:"error"` }
type ResponseService ¶
type ResponseService struct { // true в случае успеха, false в случае неудачи Status bool `json:"status"` // ID сервиса ServiceStatus uint64 `json:"service_status"` // Название сервиса Name string `json:"name"` // Время создания сервиса в unix формате CreationTime uint64 `json:"creation_time"` // Время последнего не кэшированного обращения к API сервиса в unix формате LastRequest uint64 `json:"last_request"` // E-mail адрес владельца сервиса Owner string `json:"owner"` // Информация о том, где будет использоваться сервис UseDirection string `json:"use_direction"` // Состояние тестового режима на текущий момент NowTest bool `json:"now_test"` // Информация о тестовом состоянии TestInfo TestInfo `json:"test_info"` Error string `json:"error"` }
type Service ¶
type Service struct { Requester // contains filtered or unexported fields }
func (*Service) GetBalance ¶
func (s *Service) GetBalance() (r *ResponseBalance, err error)
func (*Service) GetService ¶
func (s *Service) GetService() (r *ResponseService, err error)
func (*Service) InitCall ¶
func (s *Service) InitCall(ic *InitCall) (r *ResponseInitCall, err error)
func (*Service) InitRepeat ¶
func (s *Service) InitRepeat(uid ID) (r *ResponseInitRepeat, err error)
type UCaller ¶
type UCaller interface { // InitCall Данный метод позволяет инициализировать авторизацию для пользователя вашего приложения. InitCall(ic *InitCall) (*ResponseInitCall, error) // InitRepeat В случае, если ваш пользователь не получает звонок инициализированный методом initCall, // вы можете два раза и совершенно бесплатно инициализировать повторную авторизацию по uCaller ID, // который вы получаете в ответе метода initCall. // Повторную авторизацию можно запросить только в течение пяти минут с момента выполнения основной авторизации методом initCall. // Все данные, например `code` или `phone`, совпадают с теми же, которые были переданы в первом запросе initCall. InitRepeat(uid ID) (*ResponseInitRepeat, error) // GetInfo возвращает развернутую информацию по уже осуществленному uCaller ID GetInfo(uid ID) (*ResponseInfo, error) // Этот метод возвращает информацию по остаточному балансу. GetBalance() (*ResponseBalance, error) // Этот метод возвращает информацию по сервису. GetService() (*ResponseService, error) }
Source Files
¶
Click to show internal directories.
Click to hide internal directories.