Cascade предоставляет REST API. Ниже — практический минимум на Go с клиентом net/http.
Полезные ссылки: API, send, verify, examples, FAQ, pricing, documentation.
Установка
Стандартной библиотеки достаточно; отдельный модуль Cascade может отсутствовать.
# go mod init example.com/app
Пример send
package main
import (
"bytes"
"encoding/json"
"net/http"
"os"
)
func cascade(path string, payload any) (map[string]any, error) {
b, _ := json.Marshal(payload)
req, _ := http.NewRequest(http.MethodPost, "https://otp.kztusdt.kz/api"+path, bytes.NewReader(b))
req.Header.Set("Authorization", "Bearer "+os.Getenv("OTP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil { return nil, err }
defer res.Body.Close()
var out map[string]any
json.NewDecoder(res.Body).Decode(&out)
return out, nil
}
Вызовите /otp/send и /otp/verify, проверяя success. См. API, errors, compare.