Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
BitgetLimited
GitHub Repository: BitgetLimited/V3-bitget-api-sdk
Path: blob/master/bitget-golang-sdk-api/README.md
731 views

Bitget Go

使用此sdk前请阅读api文档 Bitget API

Supported API Endpoints:

  • pkg/client/v1: *client.go

  • pkg/client/v2: *client.go

  • pkg/client/ws: bitgetwsclient.go

下载

git clone git@github.com:BitgetLimited/v3-bitget-api-sdk.git

REST API Demo

package test import ( "bitget/internal" "bitget/pkg/client" "bitget/pkg/client/v1" "fmt" "testing" ) func Test_PlaceOrder(t *testing.T) { client := new(v1.MixOrderClient).Init() params := internal.NewParams() params["symbol"] = "BTCUSDT_UMCBL" params["marginCoin"] = "USDT" params["side"] = "open_long" params["orderType"] = "limit" params["price"] = "27012" params["size"] = "0.01" params["timInForceValue"] = "normal" resp, err := client.PlaceOrder(params) if err != nil { println(err.Error()) } fmt.Println(resp) } func Test_post(t *testing.T) { client := new(client.BitgetApiClient).Init() params := internal.NewParams() params["symbol"] = "BTCUSDT_UMCBL" params["marginCoin"] = "USDT" params["side"] = "open_long" params["orderType"] = "limit" params["price"] = "27012" params["size"] = "0.01" params["timInForceValue"] = "normal" resp, err := client.Post("/api/mix/v1/order/placeOrder", params) if err != nil { println(err.Error()) } fmt.Println(resp) } func Test_get(t *testing.T) { client := new(client.BitgetApiClient).Init() params := internal.NewParams() params["productType"] = "umcbl" resp, err := client.Get("/api/mix/v1/account/accounts", params) if err != nil { println(err.Error()) } fmt.Println(resp) } func Test_get_with_params(t *testing.T) { client := new(client.BitgetApiClient).Init() params := internal.NewParams() resp, err := client.Get("/api/spot/v1/account/getInfo", params) if err != nil { println(err.Error()) } fmt.Println(resp) }

Websocket Demo

package test import ( "bitget/internal/model" "bitget/pkg/client/ws" "fmt" "testing" ) func TestBitgetWsClient_New(t *testing.T) { client := new(ws.BitgetWsClient).Init(true, func(message string) { fmt.Println("default error:" + message) }, func(message string) { fmt.Println("default error:" + message) }) var channelsDef []model.SubscribeReq subReqDef1 := model.SubscribeReq{ InstType: "UMCBL", Channel: "account", InstId: "default", } channelsDef = append(channelsDef, subReqDef1) client.SubscribeDef(channelsDef) var channels []model.SubscribeReq subReq1 := model.SubscribeReq{ InstType: "UMCBL", Channel: "account", InstId: "default", } channels = append(channels, subReq1) client.Subscribe(channels, func(message string) { fmt.Println("appoint:" + message) }) client.Connect() }

RSA

如果你的apikey是RSA类型则主动设置签名类型为RSA

// config.go const ( BaseUrl = "https://api.bitget.com" WsUrl = "wss://ws.bitget.com/mix/v1/stream" ApiKey = "" SecretKey = "" // 如果是RSA类型则设置RSA私钥 PASSPHRASE = "" TimeoutSecond = 30 SignType = constants.RSA // 如果你的apikey是RSA类型则主动设置签名类型为RSA )