package aliyun import ( 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), Address: tea.String(address), Description: tea.String(description), Vertical: tea.String(vertical), Email: tea.String(email), ProfilePictureUrl: tea.String(profilePicUrl), About: tea.String(about), Websites: websites, } response, _err := client.ModifyPhoneBusinessProfile(request) if _err != nil { return nil, _err } return response, nil }