Давненько не заходил на форум, потому как с не работал. Но сейчас возник интерес к бирже )
https://tinkoffcreditsystems.github.io/ ... napi/auth/ - ссылка на описание.
Подскажите, какими инструментами я могу выполнить запрос на операцию или какое-либо действие:
Код: Выделить всё
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"strings"
"time"
)
const (
token = "just_place_token_here"
timeout = time.Second * 3
url = "https://api-invest.tinkoff.ru/openapi/sandbox/sandbox/register"
)
func main() {
client := &http.Client{
Timeout: timeout,
}
req, err := http.NewRequest("POST", url, nil)
if err != nil {
log.Fatalf("Can't create register http request: %s", err)
}
req.Header.Add("Authorization", "Bearer "+token)
resp, err := client.Do(req)
if err != nil {
log.Fatalf("Can't send register request: %s", err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
log.Fatalf("Register, bad response code '%s' from '%s'", resp.Status, url)
}
respBody, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("Can't read register response: %s", err)
}
type Register struct {
TrackingID string `json:"trackingId"`
Status string `json:"status"`
}
var regResp Register
err = json.Unmarshal(respBody, ®Resp)
if err != nil {
log.Fatalf("Can't unmarshal register response: '%s' \nwith error: %s", string(respBody), err)
}
if strings.ToUpper(regResp.Status) != "OK" {
log.Fatalf("Register failed, trackingId: '%s'", regResp.TrackingID)
}
fmt.Println("Register succeed")
}