首页 > 文章列表 > 创建非发送电子邮件票证用户代表

创建非发送电子邮件票证用户代表

278 2025-03-16
问题内容

我使用 go 和 zendesk api 代表用户创建票证,但我不希望将票证创建邮件发送给用户。有什么办法可以实现这一点吗? 这是我的实现:

func CreateZendeskTicket(title, body, email string) error {
    ticket := ZendeskTicket{
        Ticket: Ticket{
            Comment: Comment{
                Body: body,
            },
            Priority: "normal",
            Subject:  title,
            Requester: Requester{
                Email: email,
            },
        },
    }
    payload, err := json.Marshal(ticket)
    if err != nil {
        return err
    }
    url, _ := url.JoinPath(configs.CONFIG.Zendesk.BaseURL, "api/v2/tickets.json")
    req, err := http.NewRequest("POST", url, bytes.NewBuffer(payload))
    if err != nil {
        return err
    }

    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Basic "+configs.CONFIG.Zendesk.APIKey)

    client := &http.Client{}
    res, err := client.Do(req)
    if err != nil {
        return err
    }
    defer res.Body.Close()
    if res.StatusCode != 201 {
        return errors.New("Failed to create ticket: " + res.Status)
    }
    return nil
}


正确答案


我终于找到了方法。

  1. 创建标签并更新触发条件,以便它不会在 Zendesk 仪表板上触发发送给请求者的任何电子邮件
  2. 触发时在代码上添加标签。