{"id":20950147,"url":"https://github.com/qinxin0720/qcloudsms-go","last_synced_at":"2025-08-27T05:06:29.050Z","repository":{"id":57485923,"uuid":"142677443","full_name":"qinxin0720/QcloudSms-go","owner":"qinxin0720","description":"腾讯云短信SDK Go语言实现","archived":false,"fork":false,"pushed_at":"2018-09-21T02:17:37.000Z","size":21,"stargazers_count":33,"open_issues_count":0,"forks_count":12,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-02T12:11:10.526Z","etag":null,"topics":["golang","qcloud-sdk"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qinxin0720.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-28T12:58:22.000Z","updated_at":"2024-07-09T09:50:55.000Z","dependencies_parsed_at":"2022-09-18T18:03:50.026Z","dependency_job_id":null,"html_url":"https://github.com/qinxin0720/QcloudSms-go","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/qinxin0720/QcloudSms-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qinxin0720%2FQcloudSms-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qinxin0720%2FQcloudSms-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qinxin0720%2FQcloudSms-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qinxin0720%2FQcloudSms-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qinxin0720","download_url":"https://codeload.github.com/qinxin0720/QcloudSms-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qinxin0720%2FQcloudSms-go/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259420639,"owners_count":22854622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","qcloud-sdk"],"created_at":"2024-11-19T00:47:07.232Z","updated_at":"2025-06-12T07:33:01.294Z","avatar_url":"https://github.com/qinxin0720.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 腾讯云短信SDK Go语言实现\n\n## 说明\n\u003e 此 SDK 为非官方版本，命名和结构上与官方版本有一些区别。\n\n\u003e 海外短信和国内短信使用同一接口，只需替换相应的国家码与手机号码，每次请求群发接口手机号码需全部为国内或者海外手机号码。\n\n\u003e 语音通知目前支持语音验证码以及语音通知功能。\n\n## 功能\n\n##### 短信\n- [x] 单发短信\n- [x] 指定模板单发短信\n- [x] 群发短信\n- [x] 群发模板短信\n- [ ] 短信下发状态通知\n- [ ] 短信回复\n- [x] 拉取短信状态\n- [x] 拉取单个手机短信状态\n\n##### 语音\n- [x] 发送语音验证码\n- [x] 发送语音通知\n- [ ] 语音验证码状态通知\n- [ ] 语音通知状态通知\n- [ ] 语音通知按键通知\n- [ ] 语音送达失败原因推送\n\n## 如何使用\n\n### 单发短信\n\n```go\npackage main\n\nimport (\n\t\"github.com/qinxin0720/QcloudSms-go/QcloudSms\"\n\t\"net/http\"\n\t\"fmt\"\n)\n\nvar appID = 122333333\nvar appKey = \"111111111112132312xx\"\nvar phoneNumber = \"21212313123\"\nvar templId = 7839\nvar params = []string{\"指定模板单发\", \"深圳\", \"小明\"}\n\nfunc callback(err error, resp *http.Response, resData string) {\n\tif err != nil {\n\t\tfmt.Println(\"err: \", err)\n\t} else {\n\t\tfmt.Println(\"response data: \", resData)\n\t}\n}\n\nfunc main() {\n\tqcloudsms, err := QcloudSms.NewQcloudSms(appID, appKey)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\t//单发短信\n\t//发送短信没有指定模板ID时，发送的内容需要与已审核通过的模板内容相匹配，才可能下发成功，否则返回失败。\n\t//如需发送海外短信，同样可以使用此接口，只需将国家码\"86\"改写成对应国家码号。\n\tqcloudsms.SmsSingleSender.Send(0, 86, phoneNumber,\n\t\t\"测试短信，普通单发，深圳，小明，上学。\", \"\", \"\", callback)\n\n\t//指定模板ID单发\n\t//无论单发短信还是指定模板 ID 单发短信都需要从控制台中申请模板并且模板已经审核通过，才可能下发成功，否则返回失败。\n\tqcloudsms.SmsSingleSender.SendWithParam(86, phoneNumber, templId, params, \"\", \"\", \"\", callback)\n}\n```\n\n### 群发短信\n\n```go\npackage main\n\nimport (\n\t\"github.com/qinxin0720/QcloudSms-go/QcloudSms\"\n\t\"net/http\"\n\t\"fmt\"\n)\n\nvar appID = 122333333\nvar appKey = \"111111111112132312xx\"\nvar phoneNumbers = []string{\"21212313123\", \"12345678902\", \"12345678903\"}\nvar templId = 7839\nvar params = []string{\"指定模板群发\", \"深圳\", \"小明\"}\n\nfunc callback(err error, resp *http.Response, resData string) {\n\tif err != nil {\n\t\tfmt.Println(\"err: \", err)\n\t} else {\n\t\tfmt.Println(\"response data: \", resData)\n\t}\n}\n\nfunc main() {\n\tqcloudsms, err := QcloudSms.NewQcloudSms(appID, appKey)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\t//群发短信\n\tqcloudsms.SmsMultiSender.Send(0, 86, phoneNumbers,\n\t\t\"测试短信，普通群发，深圳，小明，上学。\", \"\", \"\", callback)\n\n\t//指定模板ID群发\n\t//群发一次请求最多支持 200 个号码\n\tqcloudsms.SmsMultiSender.SendWithParam(86, phoneNumbers, templId, params, \"\", \"\", \"\", callback)\n}\n```\n\n### 发送语音验证码\n\n```go\npackage main\n\nimport (\n\t\"github.com/qinxin0720/QcloudSms-go/QcloudSms\"\n\t\"net/http\"\n\t\"fmt\"\n)\n\nvar appID = 122333333\nvar appKey = \"111111111112132312xx\"\nvar phoneNumber = \"21212313123\"\n\nfunc callback(err error, resp *http.Response, resData string) {\n\tif err != nil {\n\t\tfmt.Println(\"err: \", err)\n\t} else {\n\t\tfmt.Println(\"response data: \", resData)\n\t}\n}\n\nfunc main() {\n\tqcloudsms, err := QcloudSms.NewQcloudSms(appID, appKey)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\t//发送语音验证码\n\t//语音验证码发送只需提供验证码数字，例如在 msg=“123”，您收到的语音通知为“您的语音验证码是1 2 3”，如需自定义内容，可以使用语音通知。\n\tqcloudsms.SmsVoiceVerifyCodeSender.Send(86, phoneNumber, \"1234\", 2, \"\", callback)\n\n\t//发送语音通知\n\tqcloudsms.SmsVoicePromptSender.Send(86, phoneNumber, 2, \"1234\", 2, \"\", callback)\n}\n```\n\n### 拉取短信回执以及回复\n\n```go\npackage main\n\nimport (\n\t\"github.com/qinxin0720/QcloudSms-go/QcloudSms\"\n\t\"net/http\"\n\t\"fmt\"\n)\n\nvar appID = 122333333\nvar appKey = \"111111111112132312xx\"\nvar phoneNumber = \"21212313123\"\n\nfunc callback(err error, resp *http.Response, resData string) {\n\tif err != nil {\n\t\tfmt.Println(\"err: \", err)\n\t} else {\n\t\tfmt.Println(\"response data: \", resData)\n\t}\n}\n\nfunc main() {\n\tqcloudsms, err := QcloudSms.NewQcloudSms(appID, appKey)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\t//拉取短信回执以及回复\n\t//拉取短信回执\n\tqcloudsms.SmsStatusPuller.PullCallBack(10, callback)\n\n\t//拉取回复\n\tqcloudsms.SmsStatusPuller.PullReply(10, callback)\n\n\t//拉取单个手机短信状态\n\t//拉取短信回执\n\tqcloudsms.SmsMobileStatusPuller.PullCallBack(86, phoneNumber, 1511125600, 1511841600, 10, callback)\n\n\t//拉取回复\n\tqcloudsms.SmsMobileStatusPuller.PullReply(86, phoneNumber, 1511125600, 1511841600, 10, callback)\n}\n```\n\n## 许可\n\n这个项目使用MIT许可.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqinxin0720%2Fqcloudsms-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqinxin0720%2Fqcloudsms-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqinxin0720%2Fqcloudsms-go/lists"}