Библиотека queries
Библиотека queriesОтправить прощальное письмо пользователям, отписавшимся в ConvertKit (через вебхук)

Отправить прощальное письмо пользователям, отписавшимся в ConvertKit (через вебхук)

Когда пользователь инициирует событие в ConvertKit (например, подписывается или отписывается), сервис вызовет вебхук, передав данные события. Мы можем настроить Persisted 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
  }
}