123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442 |
- package aliyun
- import (
- "fmt"
- cams20200606 "github.com/alibabacloud-go/cams-20200606/v2/client"
- openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
- "github.com/alibabacloud-go/tea/tea"
- )
- const (
- AccessKeyId string = "LTAI5tSJwCQyuaxXR3UxfnWw"
- AccessKeySecret string = "0pv4xhSPJv9IPSxrkB52FspJk27W7V"
- RegionId string = "cams.ap-southeast-1.aliyuncs.com"
- )
- // Description:
- // 使用AK&SK初始化账号Client
- // @return Client
- // @throws Exception
- func CreateCamsClient() (_result *cams20200606.Client, _err error) {
- // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
- // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378661.html。
- config := &openapi.Config{
- // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
- AccessKeyId: tea.String(AccessKeyId),
- // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
- AccessKeySecret: tea.String(AccessKeySecret),
- }
- // Endpoint 请参考 https://api.aliyun.com/product/cams
- config.Endpoint = tea.String(RegionId)
- _result = &cams20200606.Client{}
- _result, _err = cams20200606.NewClient(config)
- return _result, _err
- }
- // GetCamsAppId 获取 AppId
- // "LTAI5tSJwCQyuaxXR3UxfnWw", "0pv4xhSPJv9IPSxrkB52FspJk27W7V" "cams.ap-southeast-1.aliyuncs.com"
- func GetCamsAppId() (string, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return "", _err
- }
- request := &cams20200606.IsvGetAppIdRequest{
- Type: tea.String("WHATSAPP"),
- }
- isvResponse, _err := client.IsvGetAppId(request)
- if _err != nil {
- return "", _err
- }
- return *isvResponse.Body.AppId, nil
- }
- // GetAutomation 获取号码欢迎消息、开场白和命令
- func GetAutomation(custSpaceId, phone string) (*cams20200606.GetConversationalAutomationResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.GetConversationalAutomationRequest{
- CustSpaceId: tea.String(custSpaceId),
- PhoneNumber: tea.String(phone),
- }
- response, _err := client.GetConversationalAutomation(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // SetAutomation 设置号码欢迎消息、开场白和命令
- func SetAutomation(custSpaceId, phone string, prompts []string) (*cams20200606.UpdateConversationalAutomationResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- tmpPrompts := make([]*string, 0)
- for _, v := range prompts {
- tmpPrompts = append(tmpPrompts, &v)
- }
- request := &cams20200606.UpdateConversationalAutomationRequest{
- CustSpaceId: tea.String(custSpaceId),
- PhoneNumber: tea.String(phone),
- Prompts: tmpPrompts,
- }
- response, _err := client.UpdateConversationalAutomation(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // AddCamsPhoneNumber 添加WhatsApp号码
- func AddCamsPhoneNumber(phone, cc, custSpaceId, verifiedName string) (*cams20200606.AddChatappPhoneNumberResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.AddChatappPhoneNumberRequest{
- PhoneNumber: tea.String(phone),
- Cc: tea.String(cc),
- CustSpaceId: tea.String(custSpaceId),
- VerifiedName: tea.String(verifiedName),
- }
- response, _err := client.AddChatappPhoneNumber(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // SendCamsCode 发送验证码
- func SendCamsCode(phone, custSpaceId, method, locale string) (*cams20200606.GetChatappVerifyCodeResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.GetChatappVerifyCodeRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- Method: tea.String(method),
- Locale: tea.String(locale),
- }
- response, _err := client.GetChatappVerifyCode(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // SubmitCamsCode 提交验证信息
- func SubmitCamsCode(phone, code, custSpaceId string) (*cams20200606.ChatappVerifyAndRegisterResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.ChatappVerifyAndRegisterRequest{
- PhoneNumber: tea.String(phone),
- VerifyCode: tea.String(code),
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.ChatappVerifyAndRegister(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // GetCamsQrcode 获取二维码列表
- func GetCamsQrcode(phone, custSpaceId string) (*cams20200606.ListPhoneMessageQrdlResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.ListPhoneMessageQrdlRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.ListPhoneMessageQrdl(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // CreateCamsQrcode 创建二维码
- func CreateCamsQrcode(phone, custSpaceId, generateQrImage, prefilledMessage string) (*cams20200606.CreatePhoneMessageQrdlResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.CreatePhoneMessageQrdlRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- GenerateQrImage: tea.String(generateQrImage),
- PrefilledMessage: tea.String(prefilledMessage),
- }
- response, _err := client.CreatePhoneMessageQrdl(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // UpdateCamsQrcode 修改二维码
- func UpdateCamsQrcode(phone, custSpaceId, generateQrImage, prefilledMessag, qrdlCode string) (*cams20200606.UpdatePhoneMessageQrdlResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.UpdatePhoneMessageQrdlRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- GenerateQrImage: tea.String(generateQrImage),
- PrefilledMessage: tea.String(prefilledMessag),
- QrdlCode: tea.String(qrdlCode),
- }
- response, _err := client.UpdatePhoneMessageQrdl(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // RemoveCamsQrcode 删除二维码
- func RemoveCamsQrcode(phone, custSpaceId, qrdlCode string) (*cams20200606.DeletePhoneMessageQrdlResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.DeletePhoneMessageQrdlRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- QrdlCode: tea.String(qrdlCode),
- }
- response, _err := client.DeletePhoneMessageQrdl(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // GetCamsBusiness 获取商业信息
- func GetCamsBusiness(phone, custSpaceId string) (*cams20200606.QueryPhoneBusinessProfileResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.QueryPhoneBusinessProfileRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.QueryPhoneBusinessProfile(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // SetCamsBusiness 获取商业信息
- func SetCamsBusiness(phone, custSpaceId, address, description, vertical, email, profilePicUrl, about string, websites []*string) (*cams20200606.ModifyPhoneBusinessProfileResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.ModifyPhoneBusinessProfileRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- Vertical: tea.String(vertical),
- }
- if vertical != "" && vertical != "UNDEFINED" {
- request.Vertical = tea.String(vertical)
- }
- if address != "" {
- request.Address = tea.String(address)
- }
- if description != "" {
- request.Description = tea.String(description)
- }
- if profilePicUrl != "" {
- request.ProfilePictureUrl = tea.String(profilePicUrl)
- }
- if email != "" {
- request.Email = tea.String(email)
- }
- if about != "" {
- request.About = tea.String(about)
- }
- if len(websites) > 0 {
- request.Websites = websites
- }
- fmt.Printf("request=%v\n", request)
- response, _err := client.ModifyPhoneBusinessProfile(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // GetCamsPhoneVerifyStatus 查询号码验证状态
- func GetCamsPhoneVerifyStatus(phone, custSpaceId string) (*cams20200606.GetPhoneNumberVerificationStatusResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.GetPhoneNumberVerificationStatusRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.GetPhoneNumberVerificationStatus(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // RegisterCamsPhoneNumber 号码注册
- func RegisterCamsPhoneNumber(phone, custSpaceId string) (*cams20200606.ChatappPhoneNumberRegisterResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.ChatappPhoneNumberRegisterRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.ChatappPhoneNumberRegister(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // DeRegisterCamsPhoneNumber 号码取消注册
- func DeRegisterCamsPhoneNumber(phone, custSpaceId string) (*cams20200606.ChatappPhoneNumberDeregisterResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.ChatappPhoneNumberDeregisterRequest{
- PhoneNumber: tea.String(phone),
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.ChatappPhoneNumberDeregister(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // QueryCamsChatappPhoneNumbers 查询客户下的所有发送号码及号码状态
- func QueryCamsChatappPhoneNumbers(custSpaceId string) (*cams20200606.QueryChatappPhoneNumbersResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.QueryChatappPhoneNumbersRequest{
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.QueryChatappPhoneNumbers(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // ChatappSyncPhoneNumber 同步号码信息
- func ChatappSyncPhoneNumber(custSpaceId string) (*cams20200606.ChatappSyncPhoneNumberResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.ChatappSyncPhoneNumberRequest{
- CustSpaceId: tea.String(custSpaceId),
- }
- response, _err := client.ChatappSyncPhoneNumber(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
- // UpdatePhoneWebhook 修改号码回调
- func UpdatePhoneWebhook(phone, custSpaceId, callback string) (*cams20200606.UpdatePhoneWebhookResponse, error) {
- client, _err := CreateCamsClient()
- if _err != nil {
- return nil, _err
- }
- request := &cams20200606.UpdatePhoneWebhookRequest{
- CustSpaceId: tea.String(custSpaceId),
- PhoneNumber: tea.String(phone),
- //StatusCallbackUrl: tea.String(callback),
- UpCallbackUrl: tea.String(callback),
- HttpFlag: tea.String("Y"),
- }
- response, _err := client.UpdatePhoneWebhook(request)
- if _err != nil {
- return nil, _err
- }
- return response, nil
- }
|