Query 库
Query 库向取消订阅 ConvertKit 的用户发送告别邮件(通过 webhook)

向取消订阅 ConvertKit 的用户发送告别邮件(通过 webhook)

当用户在 ConvertKit 上触发事件(例如订阅或取消订阅)时,该服务会携带事件数据调用 webhook。我们可以将 Persisted Query 设置为 webhook,用于处理传入数据并执行相应操作。

此 query 会向在 ConvertKit 上取消订阅的用户发送一封告别邮件(其中包含一个用于收集反馈的表单链接)。

query ExtractPayloadData {
  body: _httpRequestBody
  bodyJSONObject: _strDecodeJSONObject(string: $__body)
 
  subscriberFirstName: _objectProperty(
    object: $__bodyJSONObject,
    by: { path: "subscriber.first_name" }
  )
    @export(as: "subscriberFirstName")
  
  subscriberEmail: _objectProperty(
    object: $__bodyJSONObject,
    by: { path: "subscriber.email_address" }
  )
    @export(as: "subscriberEmail")
}
 
query CreateEmailMessage(
  $formURL: URL!
)
  @depends(on: "ExtractPayloadData")
{
  emailMessageTemplate: _strConvertMarkdownToHTML(
    text: """
 
Hey {$subscriberFirstName}, it's sad to let you go!
 
Please be welcome to complete [this form]({$formURL}) and let us know if there is anything we can do better.
 
Thanks. Hope to see you back!
 
    """
  )
  emailMessage: _strReplaceMultiple(
    search: ["{$subscriberFirstName}", "{$formURL}"],
    replaceWith: [$subscriberFirstName, $formURL],
    in: $__emailMessageTemplate
  )
    @export(as: "emailMessage")
}
 
mutation SendFarewellEmailToUnsubscribingUsersFromConvertKit
  @depends(on: "CreateEmailMessage")
{
  _sendEmail(
    input: {
      to: $subscriberEmail
      subject: "Would you like to give us feedback on how we can improve?"
      messageAs: {
        html: $emailMessage
      }
    }
  ) {
    status
  }
}