Skip to content

rongcloud/server-sdk-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

Server SDK in Go

RongCloud Server SDK in Go.

Version notes

  • New developers should use Server SDK v4. If you’re using an older version, retest before switching—–direct upgrades aren’t supported.

API documentation

How to use

1. Using older versions with Go Module

  • Go Module file: require github.com/rongcloud/server-sdk-go
  • Import: import "github.com/rongcloud/server-sdk-go/sdk"

2. Using v4 with Go Module

  • v4 version: require github.com/rongcloud/server-sdk-go/v4
  • Import: import "github.com/rongcloud/server-sdk-go/v4/sdk"

3. Using without Go Module

  • Download/update to GOPATH: go get -u github.com/rongcloud/server-sdk-go
  • Import: import "github.com/rongcloud/server-sdk-go/sdk"

Method invocation

  • See rongcloud_test.go for API call examples.
package main import"fmt"// Older version or non-Go Module usageimport"github.com/rongcloud/server-sdk-go/sdk"// Go Module v4 usage//import "github.com/rongcloud/server-sdk-go/v4/sdk"funcmain(){//Initialization must specify a data centerrc:=sdk.NewRongCloud("appKey", "appSecret", REGION_BJ) msg:= sdk.TXTMsg{Content: "hello", Extra: "helloExtra", } err:=rc.PrivateSend( "userId", []string{"toUserId"}, "RC:TxtMsg", &msg, "", "", 1, 0, 1, 0, 0, ) fmt.Println(err) }

HTTP parameter optimization

  • Optimize HTTP connections for better performance.
  • sdk.WithMaxIdleConnsPerHost: Max active connections per host, default 100.
  • sdk.WithTimeout: Connection timeout, default 10 seconds; minimum unit is seconds, e.g., sdk.WithTimeout(30) sets it to 30 seconds.
  • sdk.WithKeepAlive: Connection keepalive time, default 30 seconds; minimum unit is seconds, e.g., sdk.WithKeepAlive(30) sets it to 30 seconds.
  • rc.SetHttpTransport: Manually set the HTTP client.
  • rc.GetHttpTransport: Get the current global HTTP client.
package main import"fmt"import"time"import"net"import"net/http"import"github.com/rongcloud/server-sdk-go/sdk"funcmain(){// Method 1: Set during object creationrc:=sdk.NewRongCloud("appKey", "appSecret", //Initialization must specify a data centerREGION_BJ, // Max active connections per hostsdk.WithMaxIdleConnsPerHost(100), ) // Method 2: Custom HTTP client, set via the set methoddialer:=&net.Dialer{Timeout: 10*time.Second, KeepAlive: 30*time.Second, } globalTransport:=&http.Transport{DialContext: dialer.DialContext, MaxIdleConnsPerHost: 100, } rc.SetHttpTransport(globalTransport) }

GO SDK feature support version list

ModuleMethod nameDescriptionmaster
User informationUserRegisterRegister, get token
UserUpdateUpdate user info
UserInfoGetGet user info
OnlineStatusCheckCheck user online status
BlacklistAddAdd to blocklist
BlacklistGetGet blocklist
BlacklistRemoveRemove from blocklist
BlockAddBan user
BlockGetListGet banned user list
BlockRemoveUnban user
TagSetAdd user tag
TagBatchSetBatch add user tags
TagGetGet user tags
UserQueryQuery users with pagination (functional options)
UserDelUsersDelete users in batch (up to 100 per request)
GroupMuteAddAdd global group mute, user can’t send messages in any group
GroupMuteRemoveRemove global group mute
GroupMuteGetListGet global group mute list
ChatRoomMuteAddAdd global chatroom mute, user can’t send messages in any chatroom
ChatRoomMuteRemoveRemove global chatroom mute
ChatRoomMuteGetListGet global chatroom mute list
UserDeactivateDeactivate user
UserDeactivateQueryQuery deactivated users
UserReactivateReactivate deactivated users
Sensitive wordsSensitiveAddAdd sensitive word, takes effect in 2 hours
SensitiveGetListGet sensitive word list
SensitiveRemoveRemove sensitive word, supports batch removal, takes effect in 2 hours
Message sendingPrivateSendSend private message
PrivateSendTemplateSend private template message
PrivateRecallRecall private message
ChatRoomSendSend chatroom message
ChatRoomBroadcastSend chatroom broadcast message
GroupSendSend group message
GroupSendMentionSend group @ message
GroupRecallRecall group message
SystemSendSend system message
SystemSendTemplateSend system template message
SystemBroadcastSend broadcast message, max 2 per hour, 3 per day.
Message historyHistoryGetGet message history download URL
HistoryRemoveDelete message history
ConversationMessageHistoryCleanClean conversation history (functional options)
Broadcast pushPushSendSend push, max 2 per hour, 3 per day.
GroupGroupCreateCreate group
GroupSyncSync group relationships
GroupUpdateUpdate group info
GroupGetGet group info
GroupJoinInvite users to group
GroupQuitQuit group
GroupDismissDismiss group
GroupMuteMembersAddMute users in group
GroupMuteMembersRemoveUnmute users in group
GroupMuteMembersGetListGet muted users in group
GroupMuteAllMembersAddMute all group members
GroupMuteAllMembersRemoveUnmute all group members
GroupMuteAllMembersGetListGet group mute list
GroupMuteWhiteListUserAddAdd users to group mute allowlist
GroupMuteWhiteListUserRemoveRemove users from group mute allowlist
GroupMuteWhiteListUserGetListGet group mute allowlist
Conversation do not disturbConversationMuteMute conversation
ConversationUnmuteUnmute conversation
ConversationGetGet conversation mute status
ChatroomChatRoomCreateCreate chatroom
ChatRoomDestroyDestroy chatroom
ChatRoomGetGet chatroom info
ChatRoomIsExistCheck if user is in chatroom
ChatRoomBlockAddBan user from chatroom
ChatRoomBlockGetListGet banned users in chatroom
ChatRoomBlockRemoveUnban user from chatroom
ChatRoomMuteMembersAddMute users in chatroom
ChatRoomMuteMembersGetListGet muted users in chatroom
ChatRoomMuteMembersRemoveUnmute users in chatroom
ChatRoomDemotionAddAdd low-priority messages in chatroom
ChatRoomDemotionGetListGet low-priority messages in chatroom
ChatRoomDemotionRemoveRemove low-priority messages in chatroom
ChatRoomDistributionStopStop chatroom message distribution
ChatRoomDistributionResumeResume chatroom message distribution
ChatRoomKeepAliveAddKeep chatroom alive
ChatRoomKeepAliveRemoveRemove chatroom keepalive
ChatRoomKeepAliveGetListGet keepalive chatrooms
ChatRoomWhitelistAddAdd whitelist message types in chatroom
ChatRoomWhitelistRemoveRemove whitelist message types
ChatRoomWhitelistGetListGet whitelist message types
ChatRoomUserWhitelistAddAdd whitelist users in chatroom
ChatRoomUserWhitelistRemoveRemove whitelist users
ChatRoomUserWhitelistGetListGet whitelist users
GroupSendSend a group message
GroupSendMentionSend a group @ message
GroupRecallRecall a group message
SystemSendSend a system message
SystemSendTemplateSend a system template message
SystemBroadcastBroadcast a message, limited to 2 times per hour and 3 times per day per app.
Message historyHistoryGetGet message history download URL
HistoryRemoveDelete message history
GetPrivateHistoryMessageGet one-to-one historical messages
GetGroupHistoryMessageGet group historical messages
GetUltraGroupHistoryMessageGet ultra group historical messages
GetChatroomHistoryMessageGet chatroom historical messages
Broadcast pushPushSendSend a push, combined with broadcast messages, limited to 2 times per hour and 3 times per day per app.
GroupGroupCreateCreate a group
GroupSyncSync group relationships
GroupUpdateUpdate group info
GroupGetGet group info
GroupJoinInvite users to join a group
GroupQuitQuit a group
GroupDismissDismiss a group
GroupMuteMembersAddMute users in a group, preventing them from sending messages
GroupMuteMembersRemoveUnmute users in a group
GroupMuteMembersGetListGet list of muted users in a group
GroupMuteAllMembersAddMute all members in a group, preventing them from sending messages
GroupMuteAllMembersRemoveUnmute all members in a group
GroupMuteAllMembersGetListGet list of muted groups
GroupMuteWhiteListUserAddAdd users to group mute whitelist, allowing them to send messages even if the group is muted
GroupMuteWhiteListUserRemoveRemove users from group mute whitelist
GroupMuteWhiteListUserGetListGet list of users in group mute whitelist
Conversation muteConversationMuteMute a conversation
ConversationUnmuteUnmute a conversation
ConversationGetGet conversation mute status
Chat roomChatRoomCreateCreate a chat room
ChatRoomDestroyDestroy a chat room
ChatRoomGetQuery chat room info
ChatRoomIsExistCheck if a user is in a chat room
ChatRoomBlockAddBlock a user from a chat room, preventing them from joining or kicking them if already in the chat room
ChatRoomBlockGetListGet list of blocked users in a chat room
ChatRoomBlockRemoveUnblock a user from a chat room
ChatRoomMuteMembersAddMute a user in a chat room, preventing them from sending messages
ChatRoomMuteMembersGetListGet list of muted users in a chat room
ChatRoomMuteMembersRemoveUnmute a user in a chat room
ChatRoomDemotionAddAdd low-priority messages to a chat room, which may be discarded when the server is under heavy load
ChatRoomDemotionGetListGet list of low-priority messages in a chat room
ChatRoomDemotionRemoveRemove low-priority messages from a chat room
ChatRoomDistributionStopStop chat room message distribution, preventing the server from sending messages after receiving them
ChatRoomKeepAliveAddAdd keepalive chatroom, keepalive chatrooms won’t be automatically destroyed
ChatRoomKeepAliveRemoveRemove keepalive chatroom
ChatRoomKeepAliveGetListGet keepalive chatroom list
ChatRoomWhitelistAddAdd allowlist message type, allowlist message types won’t be discarded when server pressure is high due to a surge in message volume, ensuring message delivery
ChatRoomWhitelistRemoveRemove allowlist message type
ChatRoomWhitelistGetListGet allowlist message type list
ChatRoomUserWhitelistAddAdd allowlist user, messages sent by allowlist users won’t be discarded when server pressure is high due to a surge in message volume, ensuring message delivery
ChatRoomUserWhitelistRemoveRemove allowlist user
ChatRoomUserWhitelistGetListGet allowlist user list

About

RongCloud Server SDK in Go.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 12

Languages