Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "E-Commerce-CRM für B2B-Vermarkter",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Holen Sie es unter https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Einen Tag auf Abonnenten anwenden",
|
||||
"Add a subscriber to a campaign": "Abonnent einer Kampagne hinzufügen",
|
||||
"Create or Update Subscriber": "Abonnent erstellen oder aktualisieren",
|
||||
"Custom API Call": "Eigener API-Aufruf",
|
||||
"Apply a tag to a subscriber": "Einen Tag auf einen Abonnenten anwenden",
|
||||
"Add a subscriber to a campaign (Email series)": "Abonnent einer Kampagne hinzufügen (Email-Serie)",
|
||||
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
|
||||
"Account": "Konto",
|
||||
"Subscriber Email": "Abonnenten-E-Mail",
|
||||
"Tag": "Markierung",
|
||||
"Email Series Campaign": "E-Mail-Serie Kampagne",
|
||||
"tags": "tags",
|
||||
"Custom Fields": "Eigene Felder",
|
||||
"First Name": "Vorname",
|
||||
"Last Name": "Nachname",
|
||||
"Zip Code": "Postleitzahl",
|
||||
"Country": "Land",
|
||||
"State": "Bundesland",
|
||||
"City": "Stadt",
|
||||
"Phone": "Telefon",
|
||||
"Address": "Adresse",
|
||||
"Method": "Methode",
|
||||
"Headers": "Kopfzeilen",
|
||||
"Query Parameters": "Abfrageparameter",
|
||||
"Body": "Körper",
|
||||
"Response is Binary ?": "Antwort ist binär?",
|
||||
"No Error on Failure": "Kein Fehler bei Fehler",
|
||||
"Timeout (in seconds)": "Timeout (in Sekunden)",
|
||||
"Email of the subscriber": "E-Mail des Abonnenten",
|
||||
"Tag to apply": "Tag zum Anwenden",
|
||||
"Tags to apply to subscriber": "Tags für Abonnenten",
|
||||
"Custom field data about the subscriber": "Benutzerdefinierte Felddaten über den Abonnenten",
|
||||
"Postal code in which the subscriber resides": "Postleitzahl, in der sich der Abonnent befindet",
|
||||
"The country in which the subscriber resides": "Das Land, in dem der Abonnent wohnt",
|
||||
"The region in which the subscriber resides": "Die Region, in der sich der Abonnent aufhält",
|
||||
"The city in which the subscriber resides": "Die Stadt, in der der Abonnent wohnt",
|
||||
"The subscriber's primary phone number": "Die primäre Telefonnummer des Abonnenten",
|
||||
"The subscriber's mailing address": "Die Mailingadresse des Abonnenten",
|
||||
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
|
||||
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
|
||||
"GET": "ERHALTEN",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "LÖSCHEN",
|
||||
"HEAD": "HEAD",
|
||||
"New Subscriber": "Neuer Abonnent",
|
||||
"Tag Applied": "Tag angewendet",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Wird ausgelöst, wenn ein Abonnent in Ihrem Drip-Konto erstellt wurde.",
|
||||
"Triggers when a tag is applied.": "Wird ausgelöst, wenn ein Tag angewendet wird."
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "CRM de comercio electrónico para comercializadores B2B",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Obtenerlo en https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Aplicar una etiqueta al suscriptor",
|
||||
"Add a subscriber to a campaign": "Añadir un suscriptor a una campaña",
|
||||
"Create or Update Subscriber": "Crear o actualizar suscriptores",
|
||||
"Custom API Call": "Llamada API personalizada",
|
||||
"Apply a tag to a subscriber": "Aplicar una etiqueta a un suscriptor",
|
||||
"Add a subscriber to a campaign (Email series)": "Añadir un suscriptor a una campaña (serie Email)",
|
||||
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
|
||||
"Account": "Cuenta",
|
||||
"Subscriber Email": "Email del suscriptor",
|
||||
"Tag": "Etiqueta",
|
||||
"Email Series Campaign": "Campaña de la Serie de Correo",
|
||||
"tags": "etiquetas",
|
||||
"Custom Fields": "Campos personalizados",
|
||||
"First Name": "Nombre",
|
||||
"Last Name": "Apellido",
|
||||
"Zip Code": "Código postal",
|
||||
"Country": "País",
|
||||
"State": "Estado",
|
||||
"City": "Ciudad",
|
||||
"Phone": "Teléfono",
|
||||
"Address": "Dirección",
|
||||
"Method": "Método",
|
||||
"Headers": "Encabezados",
|
||||
"Query Parameters": "Parámetros de consulta",
|
||||
"Body": "Cuerpo",
|
||||
"Response is Binary ?": "¿Respuesta es binaria?",
|
||||
"No Error on Failure": "No hay ningún error en fallo",
|
||||
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
|
||||
"Email of the subscriber": "Email del suscriptor",
|
||||
"Tag to apply": "Etiqueta a aplicar",
|
||||
"Tags to apply to subscriber": "Etiquetas a aplicar al suscriptor",
|
||||
"Custom field data about the subscriber": "Datos de campo personalizado sobre el suscriptor",
|
||||
"Postal code in which the subscriber resides": "Código postal en el que reside el suscriptor",
|
||||
"The country in which the subscriber resides": "El país en el que reside el suscriptor",
|
||||
"The region in which the subscriber resides": "La región en la que reside el suscriptor",
|
||||
"The city in which the subscriber resides": "La ciudad en la que reside el suscriptor",
|
||||
"The subscriber's primary phone number": "Número de teléfono principal del suscriptor",
|
||||
"The subscriber's mailing address": "La dirección de correo del suscriptor",
|
||||
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
|
||||
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
|
||||
"GET": "RECOGER",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "BORRAR",
|
||||
"HEAD": "LIMPIO",
|
||||
"New Subscriber": "Nuevo suscriptor",
|
||||
"Tag Applied": "Etiqueta aplicada",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Dispara cuando un suscriptor es creado en su cuenta de Drip.",
|
||||
"Triggers when a tag is applied.": "Dispara cuando se aplica una etiqueta."
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "CRM e-commerce pour les marketeurs B2B",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Obtenez-le depuis https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Appliquer un tag à l'abonné",
|
||||
"Add a subscriber to a campaign": "Ajouter un abonné à une campagne",
|
||||
"Create or Update Subscriber": "Créer ou mettre à jour un abonné",
|
||||
"Custom API Call": "Appel API personnalisé",
|
||||
"Apply a tag to a subscriber": "Appliquer un tag à un abonné",
|
||||
"Add a subscriber to a campaign (Email series)": "Ajouter un abonné à une campagne (série d'e-mails)",
|
||||
"Make a custom API call to a specific endpoint": "Passez un appel API personnalisé à un point de terminaison spécifique",
|
||||
"Account": "Compte client",
|
||||
"Subscriber Email": "Courriel de l'abonné",
|
||||
"Tag": "Étiquette",
|
||||
"Email Series Campaign": "Campagne de la Série d'E-mail",
|
||||
"tags": "tags",
|
||||
"Custom Fields": "Champs personnalisés",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Zip Code": "Code postal",
|
||||
"Country": "Pays",
|
||||
"State": "État",
|
||||
"City": "Ville",
|
||||
"Phone": "Téléphone",
|
||||
"Address": "Adresses",
|
||||
"Method": "Méthode",
|
||||
"Headers": "En-têtes",
|
||||
"Query Parameters": "Paramètres de requête",
|
||||
"Body": "Corps",
|
||||
"Response is Binary ?": "La réponse est Binaire ?",
|
||||
"No Error on Failure": "Aucune erreur en cas d'échec",
|
||||
"Timeout (in seconds)": "Délai d'attente (en secondes)",
|
||||
"Email of the subscriber": "Courriel de l'abonné",
|
||||
"Tag to apply": "Étiquette à appliquer",
|
||||
"Tags to apply to subscriber": "Tags à appliquer à l'abonné",
|
||||
"Custom field data about the subscriber": "Données du champ personnalisé à propos de l'abonné",
|
||||
"Postal code in which the subscriber resides": "Code postal dans lequel se trouve l'abonné",
|
||||
"The country in which the subscriber resides": "Le pays dans lequel se trouve l'abonné",
|
||||
"The region in which the subscriber resides": "La région dans laquelle se trouve l'abonné",
|
||||
"The city in which the subscriber resides": "La ville dans laquelle se trouve l'abonné",
|
||||
"The subscriber's primary phone number": "Le numéro de téléphone principal de l'abonné",
|
||||
"The subscriber's mailing address": "Adresse postale de l'abonné",
|
||||
"Authorization headers are injected automatically from your connection.": "Les en-têtes d'autorisation sont injectés automatiquement à partir de votre connexion.",
|
||||
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
|
||||
"GET": "OBTENIR",
|
||||
"POST": "POSTER",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "EFFACER",
|
||||
"DELETE": "SUPPRIMER",
|
||||
"HEAD": "TÊTE",
|
||||
"New Subscriber": "Nouvel abonné",
|
||||
"Tag Applied": "Étiquette appliquée",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Déclenche lorsqu'un abonné est créé dans votre compte Drip.",
|
||||
"Triggers when a tag is applied.": "Déclenche quand un tag est appliqué."
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "B2Bマーケティング担当者向けのEコマースCRM",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Get it from https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "購読者にタグを適用する",
|
||||
"Add a subscriber to a campaign": "購読者をキャンペーンに追加",
|
||||
"Create or Update Subscriber": "購読者を作成または更新",
|
||||
"Custom API Call": "カスタムAPI通話",
|
||||
"Apply a tag to a subscriber": "購読者にタグを適用する",
|
||||
"Add a subscriber to a campaign (Email series)": "キャンペーンに購読者を追加します(メールシリーズ)",
|
||||
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
|
||||
"Account": "アカウント",
|
||||
"Subscriber Email": "購読者メールアドレス",
|
||||
"Tag": "タグ",
|
||||
"Email Series Campaign": "メール シリーズ キャンペーン",
|
||||
"tags": "タグ",
|
||||
"Custom Fields": "カスタムフィールド",
|
||||
"First Name": "名",
|
||||
"Last Name": "姓",
|
||||
"Zip Code": "郵便番号",
|
||||
"Country": "国",
|
||||
"State": "都道府県:",
|
||||
"City": "市区町村名",
|
||||
"Phone": "電話番号",
|
||||
"Address": "住所",
|
||||
"Method": "方法",
|
||||
"Headers": "ヘッダー",
|
||||
"Query Parameters": "クエリパラメータ",
|
||||
"Body": "本文",
|
||||
"Response is Binary ?": "応答はバイナリですか?",
|
||||
"No Error on Failure": "失敗時にエラーはありません",
|
||||
"Timeout (in seconds)": "タイムアウト(秒)",
|
||||
"Email of the subscriber": "購読者のメールアドレス",
|
||||
"Tag to apply": "適用するタグ",
|
||||
"Tags to apply to subscriber": "購読者に適用するタグ",
|
||||
"Custom field data about the subscriber": "購読者に関するカスタムフィールドデータ",
|
||||
"Postal code in which the subscriber resides": "購読者が居住する郵便番号",
|
||||
"The country in which the subscriber resides": "購読者が居住する国",
|
||||
"The region in which the subscriber resides": "購読者が居住する地域",
|
||||
"The city in which the subscriber resides": "購読者が居住する都市",
|
||||
"The subscriber's primary phone number": "購読者の主な電話番号",
|
||||
"The subscriber's mailing address": "購読者の郵送先住所",
|
||||
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
|
||||
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
|
||||
"GET": "取得",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "削除",
|
||||
"HEAD": "頭",
|
||||
"New Subscriber": "新規購読",
|
||||
"Tag Applied": "タグを適用しました",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Dripアカウントに登録者が作成されたときにトリガーします。",
|
||||
"Triggers when a tag is applied.": "タグが適用されたときにトリガーします。"
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "E-commerce CRM voor B2B marketers",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Download het via https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Een tag toepassen op abonnee",
|
||||
"Add a subscriber to a campaign": "Voeg een abonnee toe aan een campagne",
|
||||
"Create or Update Subscriber": "Aanmaken of bijwerken abonnee",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Apply a tag to a subscriber": "Een label toepassen op een abonnee",
|
||||
"Add a subscriber to a campaign (Email series)": "Voeg een abonnee toe aan een campagne (Emailseries)",
|
||||
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
|
||||
"Account": "Rekening",
|
||||
"Subscriber Email": "E-mailadres ontvanger",
|
||||
"Tag": "Tagnaam",
|
||||
"Email Series Campaign": "E-mail serie campagne",
|
||||
"tags": "labels",
|
||||
"Custom Fields": "Aangepaste velden",
|
||||
"First Name": "Voornaam",
|
||||
"Last Name": "Achternaam",
|
||||
"Zip Code": "Postcode code",
|
||||
"Country": "Land:",
|
||||
"State": "Provincie",
|
||||
"City": "Woonplaats",
|
||||
"Phone": "Telefoonnummer",
|
||||
"Address": "Adres:",
|
||||
"Method": "Methode",
|
||||
"Headers": "Kopteksten",
|
||||
"Query Parameters": "Query parameters",
|
||||
"Body": "Lichaam",
|
||||
"Response is Binary ?": "Antwoord is binair?",
|
||||
"No Error on Failure": "Geen fout bij fout",
|
||||
"Timeout (in seconds)": "Time-out (in seconden)",
|
||||
"Email of the subscriber": "E-mail van de abonnee",
|
||||
"Tag to apply": "Tag om toe te passen",
|
||||
"Tags to apply to subscriber": "Tags om toe te passen op abonnee",
|
||||
"Custom field data about the subscriber": "Aangepaste veldgegevens over de ontvanger",
|
||||
"Postal code in which the subscriber resides": "Postcode waarin de abonnee zich bevindt",
|
||||
"The country in which the subscriber resides": "Het land waar de abonnee woont",
|
||||
"The region in which the subscriber resides": "De regio waar de abonnee zich bevindt",
|
||||
"The city in which the subscriber resides": "De stad waar de abonnee zich bevindt",
|
||||
"The subscriber's primary phone number": "Het primaire telefoonnummer van de abonnee",
|
||||
"The subscriber's mailing address": "Postadres van de abonnee",
|
||||
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
|
||||
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
|
||||
"GET": "KRIJG",
|
||||
"POST": "POSTE",
|
||||
"PATCH": "BEKIJK",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "VERWIJDEREN",
|
||||
"HEAD": "HOOFD",
|
||||
"New Subscriber": "Nieuwe abonnee",
|
||||
"Tag Applied": "Tag toegepast",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Triggert wanneer een abonnee is aangemaakt in uw Drip account.",
|
||||
"Triggers when a tag is applied.": "Triggert wanneer een tag wordt toegepast."
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "E-commerce CRM para comerciantes B2B",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Baixe em https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Aplicar uma etiqueta ao assinante",
|
||||
"Add a subscriber to a campaign": "Adicionar um participante a uma campanha",
|
||||
"Create or Update Subscriber": "Criar ou Atualizar Assinante",
|
||||
"Custom API Call": "Chamada de API personalizada",
|
||||
"Apply a tag to a subscriber": "Aplicar uma tag a um assinante",
|
||||
"Add a subscriber to a campaign (Email series)": "Adicionar um assinante a uma campanha (série de e-mail)",
|
||||
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
|
||||
"Account": "conta",
|
||||
"Subscriber Email": "E-mail do Assinante",
|
||||
"Tag": "Etiqueta",
|
||||
"Email Series Campaign": "Campanha de Séries De E-Mail",
|
||||
"tags": "etiquetas",
|
||||
"Custom Fields": "Campos Personalizados",
|
||||
"First Name": "Nome",
|
||||
"Last Name": "Sobrenome",
|
||||
"Zip Code": "Código Postal",
|
||||
"Country": "País/região",
|
||||
"State": "Estado:",
|
||||
"City": "cidade",
|
||||
"Phone": "Smartphone",
|
||||
"Address": "Endereço",
|
||||
"Method": "Método",
|
||||
"Headers": "Cabeçalhos",
|
||||
"Query Parameters": "Parâmetros da consulta",
|
||||
"Body": "Conteúdo",
|
||||
"Response is Binary ?": "A resposta é binária ?",
|
||||
"No Error on Failure": "Nenhum erro no Failure",
|
||||
"Timeout (in seconds)": "Tempo limite (em segundos)",
|
||||
"Email of the subscriber": "E-mail do assinante",
|
||||
"Tag to apply": "Etiqueta para aplicar",
|
||||
"Tags to apply to subscriber": "Tags a serem aplicadas aos assinantes",
|
||||
"Custom field data about the subscriber": "Dados do campo personalizado sobre o membro",
|
||||
"Postal code in which the subscriber resides": "Código postal no qual o assinante reside",
|
||||
"The country in which the subscriber resides": "O país em que o assinante reside",
|
||||
"The region in which the subscriber resides": "A região na qual o assinante reside",
|
||||
"The city in which the subscriber resides": "A cidade na qual o assinante reside",
|
||||
"The subscriber's primary phone number": "Número primário do assinante",
|
||||
"The subscriber's mailing address": "Endereço postal do assinante",
|
||||
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
|
||||
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
|
||||
"GET": "OBTER",
|
||||
"POST": "POSTAR",
|
||||
"PATCH": "COMPRAR",
|
||||
"PUT": "COLOCAR",
|
||||
"DELETE": "EXCLUIR",
|
||||
"HEAD": "CABEÇA",
|
||||
"New Subscriber": "Novo Assinante",
|
||||
"Tag Applied": "Tag Aplicada",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Aciona quando um assinante é criado em sua conta de Gotejamento.",
|
||||
"Triggers when a tag is applied.": "Dispara quando uma tag é aplicada."
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"Drip": "Капать",
|
||||
"E-commerce CRM for B2B marketers": "Электронная коммерция для B2B маркеров",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Скачать с https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Применить тег для подписчика",
|
||||
"Add a subscriber to a campaign": "Добавить подписчика в кампанию",
|
||||
"Create or Update Subscriber": "Создать или обновить подписчика",
|
||||
"Custom API Call": "Пользовательский вызов API",
|
||||
"Apply a tag to a subscriber": "Применить тег подписчику",
|
||||
"Add a subscriber to a campaign (Email series)": "Добавить подписчика в кампанию (серия сообщений)",
|
||||
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
|
||||
"Account": "Аккаунт",
|
||||
"Subscriber Email": "Email подписчика",
|
||||
"Tag": "Тег",
|
||||
"Email Series Campaign": "Кампания Серии Электронных Почт",
|
||||
"tags": "теги",
|
||||
"Custom Fields": "Пользовательские поля",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Фамилия",
|
||||
"Zip Code": "Индекс",
|
||||
"Country": "Страна",
|
||||
"State": "Область",
|
||||
"City": "Город",
|
||||
"Phone": "Телефон",
|
||||
"Address": "Адрес",
|
||||
"Method": "Метод",
|
||||
"Headers": "Заголовки",
|
||||
"Query Parameters": "Параметры запроса",
|
||||
"Body": "Тело",
|
||||
"No Error on Failure": "Нет ошибок при ошибке",
|
||||
"Timeout (in seconds)": "Таймаут (в секундах)",
|
||||
"Email of the subscriber": "Email подписчика",
|
||||
"Tag to apply": "Тег для применения",
|
||||
"Tags to apply to subscriber": "Теги для применения к подписчику",
|
||||
"Custom field data about the subscriber": "Пользовательские поля данных о подписчике",
|
||||
"Postal code in which the subscriber resides": "Почтовый индекс, в котором проживает подписчик",
|
||||
"The country in which the subscriber resides": "Страна, в которой проживает подписчик",
|
||||
"The region in which the subscriber resides": "Регион, в котором проживает подписчик",
|
||||
"The city in which the subscriber resides": "Город, в котором проживает подписчик",
|
||||
"The subscriber's primary phone number": "Основной номер телефона подписчика",
|
||||
"The subscriber's mailing address": "Адрес рассылки подписчика",
|
||||
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
|
||||
"GET": "ПОЛУЧИТЬ",
|
||||
"POST": "ПОСТ",
|
||||
"PATCH": "ПАТЧ",
|
||||
"PUT": "ПОКУПИТЬ",
|
||||
"DELETE": "УДАЛИТЬ",
|
||||
"HEAD": "HEAD",
|
||||
"New Subscriber": "Новый подписчик",
|
||||
"Tag Applied": "Тег применён",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Включает при создании подписчика в вашем аккаунте Drip.",
|
||||
"Triggers when a tag is applied.": "Триггеры при применении тега."
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "E-commerce CRM for B2B marketers",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Get it from https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Apply a tag to subscriber",
|
||||
"Add a subscriber to a campaign": "Add a subscriber to a campaign",
|
||||
"Create or Update Subscriber": "Create or Update Subscriber",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Apply a tag to a subscriber": "Apply a tag to a subscriber",
|
||||
"Add a subscriber to a campaign (Email series)": "Add a subscriber to a campaign (Email series)",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Account": "Account",
|
||||
"Subscriber Email": "Subscriber Email",
|
||||
"Tag": "Tag",
|
||||
"Email Series Campaign": "Email Series Campaign",
|
||||
"tags": "tags",
|
||||
"Custom Fields": "Custom Fields",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Zip Code": "Zip Code",
|
||||
"Country": "Country",
|
||||
"State": "State",
|
||||
"City": "City",
|
||||
"Phone": "Phone",
|
||||
"Address": "Address",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"Email of the subscriber": "Email of the subscriber",
|
||||
"Tag to apply": "Tag to apply",
|
||||
"Tags to apply to subscriber": "Tags to apply to subscriber",
|
||||
"Custom field data about the subscriber": "Custom field data about the subscriber",
|
||||
"Postal code in which the subscriber resides": "Postal code in which the subscriber resides",
|
||||
"The country in which the subscriber resides": "The country in which the subscriber resides",
|
||||
"The region in which the subscriber resides": "The region in which the subscriber resides",
|
||||
"The city in which the subscriber resides": "The city in which the subscriber resides",
|
||||
"The subscriber's primary phone number": "The subscriber's primary phone number",
|
||||
"The subscriber's mailing address": "The subscriber's mailing address",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New Subscriber": "New Subscriber",
|
||||
"Tag Applied": "Tag Applied",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Triggers when a subscriber is created in your Drip account.",
|
||||
"Triggers when a tag is applied.": "Triggers when a tag is applied."
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"Drip": "Drip",
|
||||
"E-commerce CRM for B2B marketers": "E-commerce CRM for B2B marketers",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Get it from https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Apply a tag to subscriber",
|
||||
"Add a subscriber to a campaign": "Add a subscriber to a campaign",
|
||||
"Create or Update Subscriber": "Create or Update Subscriber",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Apply a tag to a subscriber": "Apply a tag to a subscriber",
|
||||
"Add a subscriber to a campaign (Email series)": "Add a subscriber to a campaign (Email series)",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Account": "Account",
|
||||
"Subscriber Email": "Subscriber Email",
|
||||
"Tag": "Tag",
|
||||
"Email Series Campaign": "Email Series Campaign",
|
||||
"tags": "tags",
|
||||
"Custom Fields": "Custom Fields",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Zip Code": "Zip Code",
|
||||
"Country": "Country",
|
||||
"State": "State",
|
||||
"City": "City",
|
||||
"Phone": "Phone",
|
||||
"Address": "Address",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"Email of the subscriber": "Email of the subscriber",
|
||||
"Tag to apply": "Tag to apply",
|
||||
"Tags to apply to subscriber": "Tags to apply to subscriber",
|
||||
"Custom field data about the subscriber": "Custom field data about the subscriber",
|
||||
"Postal code in which the subscriber resides": "Postal code in which the subscriber resides",
|
||||
"The country in which the subscriber resides": "The country in which the subscriber resides",
|
||||
"The region in which the subscriber resides": "The region in which the subscriber resides",
|
||||
"The city in which the subscriber resides": "The city in which the subscriber resides",
|
||||
"The subscriber's primary phone number": "The subscriber's primary phone number",
|
||||
"The subscriber's mailing address": "The subscriber's mailing address",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD",
|
||||
"New Subscriber": "New Subscriber",
|
||||
"Tag Applied": "Tag Applied",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Triggers when a subscriber is created in your Drip account.",
|
||||
"Triggers when a tag is applied.": "Triggers when a tag is applied."
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"E-commerce CRM for B2B marketers": "E-commerce CRM for B2B marketers",
|
||||
"Get it from https://www.getdrip.com/user/edit": "Get it from https://www.getdrip.com/user/edit",
|
||||
"Apply a tag to subscriber": "Apply a tag to subscriber",
|
||||
"Add a subscriber to a campaign": "Add a subscriber to a campaign",
|
||||
"Create or Update Subscriber": "Create or Update Subscriber",
|
||||
"Custom API Call": "自定义 API 呼叫",
|
||||
"Apply a tag to a subscriber": "Apply a tag to a subscriber",
|
||||
"Add a subscriber to a campaign (Email series)": "Add a subscriber to a campaign (Email series)",
|
||||
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
|
||||
"Account": "Account",
|
||||
"Subscriber Email": "Subscriber Email",
|
||||
"Tag": "标签",
|
||||
"Email Series Campaign": "Email Series Campaign",
|
||||
"tags": "标签",
|
||||
"Custom Fields": "Custom Fields",
|
||||
"First Name": "名字",
|
||||
"Last Name": "名字",
|
||||
"Zip Code": "Zip Code",
|
||||
"Country": "Country",
|
||||
"State": "State",
|
||||
"City": "City",
|
||||
"Phone": "Phone",
|
||||
"Address": "Address",
|
||||
"Method": "方法",
|
||||
"Headers": "信头",
|
||||
"Query Parameters": "查询参数",
|
||||
"Body": "正文内容",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "失败时没有错误",
|
||||
"Timeout (in seconds)": "超时(秒)",
|
||||
"Email of the subscriber": "Email of the subscriber",
|
||||
"Tag to apply": "Tag to apply",
|
||||
"Tags to apply to subscriber": "Tags to apply to subscriber",
|
||||
"Custom field data about the subscriber": "Custom field data about the subscriber",
|
||||
"Postal code in which the subscriber resides": "Postal code in which the subscriber resides",
|
||||
"The country in which the subscriber resides": "The country in which the subscriber resides",
|
||||
"The region in which the subscriber resides": "The region in which the subscriber resides",
|
||||
"The city in which the subscriber resides": "The city in which the subscriber resides",
|
||||
"The subscriber's primary phone number": "The subscriber's primary phone number",
|
||||
"The subscriber's mailing address": "The subscriber's mailing address",
|
||||
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"GET": "获取",
|
||||
"POST": "帖子",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "弹出",
|
||||
"DELETE": "删除",
|
||||
"HEAD": "黑色",
|
||||
"New Subscriber": "New Subscriber",
|
||||
"Tag Applied": "Tag Applied",
|
||||
"Triggers when a subscriber is created in your Drip account.": "Triggers when a subscriber is created in your Drip account.",
|
||||
"Triggers when a tag is applied.": "Triggers when a tag is applied."
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
||||
import { PieceAuth, createPiece } from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { dripAddSubscriberToCampaign } from './lib/actions/add-subscriber-to-campaign.action';
|
||||
import { dripApplyTagToSubscriber } from './lib/actions/apply-tag-to-subscriber.action';
|
||||
import { dripUpsertSubscriberAction } from './lib/actions/upsert-subscriber.action';
|
||||
import { dripNewSubscriberEvent } from './lib/trigger/new-subscriber.trigger';
|
||||
import { dripTagAppliedEvent } from './lib/trigger/new-tag.trigger';
|
||||
|
||||
export const dripAuth = PieceAuth.SecretText({
|
||||
displayName: 'API Key',
|
||||
required: true,
|
||||
description: 'Get it from https://www.getdrip.com/user/edit',
|
||||
});
|
||||
|
||||
export const drip = createPiece({
|
||||
displayName: 'Drip',
|
||||
description: 'E-commerce CRM for B2B marketers',
|
||||
minimumSupportedRelease: '0.30.0',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/drip.png',
|
||||
authors: ["kishanprmr","MoShizzle","AbdulTheActivePiecer","khaledmashaly","abuaboud"],
|
||||
categories: [PieceCategory.MARKETING],
|
||||
auth: dripAuth,
|
||||
actions: [
|
||||
dripApplyTagToSubscriber,
|
||||
dripAddSubscriberToCampaign,
|
||||
dripUpsertSubscriberAction,
|
||||
createCustomApiCallAction({
|
||||
baseUrl: () => `https://api.getdrip.com/v2/`,
|
||||
auth: dripAuth,
|
||||
authMapping: async (auth) => ({
|
||||
Authorization: `Basic ${Buffer.from(auth.secret_text).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
}),
|
||||
}),
|
||||
],
|
||||
triggers: [dripNewSubscriberEvent, dripTagAppliedEvent],
|
||||
});
|
||||
@@ -0,0 +1,91 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { dripCommon } from '../common';
|
||||
import { dripAuth } from '../../';
|
||||
|
||||
export const dripAddSubscriberToCampaign = createAction({
|
||||
auth: dripAuth,
|
||||
name: 'add_subscriber_to_campaign',
|
||||
description: 'Add a subscriber to a campaign (Email series)',
|
||||
displayName: 'Add a subscriber to a campaign',
|
||||
props: {
|
||||
account_id: dripCommon.account_id,
|
||||
campaign_id: Property.Dropdown({
|
||||
displayName: 'Email Series Campaign',
|
||||
auth: dripAuth,
|
||||
refreshers: ['account_id'],
|
||||
required: true,
|
||||
options: async ({ auth, account_id }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please fill in API key first',
|
||||
};
|
||||
}
|
||||
if (!account_id) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please select an account first',
|
||||
};
|
||||
}
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.GET,
|
||||
url: `${dripCommon.baseUrl(account_id as string)}/campaigns`,
|
||||
headers: {
|
||||
Authorization: `Basic ${Buffer.from(auth .secret_text).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
};
|
||||
const response = await httpClient.sendRequest<{
|
||||
campaigns: { name: string; id: string }[];
|
||||
}>(request);
|
||||
const opts = response.body.campaigns.map((campaign) => {
|
||||
return { value: campaign.id, label: campaign.name };
|
||||
});
|
||||
if (opts.length === 0) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: [],
|
||||
placeholder: 'Please create an email series campaign',
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: false,
|
||||
options: opts,
|
||||
};
|
||||
},
|
||||
}),
|
||||
subscriber: dripCommon.subscriber,
|
||||
tags: dripCommon.tags,
|
||||
custom_fields: dripCommon.custom_fields,
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.POST,
|
||||
url: `${dripCommon.baseUrl(propsValue.account_id)}/campaigns/${
|
||||
propsValue.campaign_id
|
||||
}/subscribers`,
|
||||
body: {
|
||||
subscribers: [
|
||||
{
|
||||
email: propsValue.subscriber,
|
||||
tags: propsValue.tags,
|
||||
custom_fields: propsValue.custom_fields,
|
||||
},
|
||||
],
|
||||
},
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(auth),
|
||||
},
|
||||
queryParams: {},
|
||||
};
|
||||
return await httpClient.sendRequest<Record<string, never>>(request);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,43 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { dripCommon } from '../common';
|
||||
import { dripAuth } from '../../';
|
||||
|
||||
export const dripApplyTagToSubscriber = createAction({
|
||||
auth: dripAuth,
|
||||
name: 'apply_tag_to_subscriber',
|
||||
description: 'Apply a tag to a subscriber',
|
||||
displayName: 'Apply a tag to subscriber',
|
||||
props: {
|
||||
account_id: dripCommon.account_id,
|
||||
subscriber: dripCommon.subscriber,
|
||||
tag: Property.ShortText({
|
||||
displayName: 'Tag',
|
||||
required: true,
|
||||
description: 'Tag to apply',
|
||||
}),
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.POST,
|
||||
url: `${dripCommon.baseUrl(propsValue.account_id)}/tags`,
|
||||
body: {
|
||||
tags: [
|
||||
{
|
||||
email: propsValue.subscriber,
|
||||
tag: propsValue.tag,
|
||||
},
|
||||
],
|
||||
},
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(auth),
|
||||
},
|
||||
queryParams: {},
|
||||
};
|
||||
return await httpClient.sendRequest<Record<string, never>>(request);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,87 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { dripCommon } from '../common';
|
||||
import { dripAuth } from '../../';
|
||||
|
||||
export const dripUpsertSubscriberAction = createAction({
|
||||
auth: dripAuth,
|
||||
name: 'upsert_subscriber',
|
||||
description: 'Create or Update Subscriber',
|
||||
displayName: 'Create or Update Subscriber',
|
||||
props: {
|
||||
account_id: dripCommon.account_id,
|
||||
subscriber: dripCommon.subscriber,
|
||||
tags: dripCommon.tags,
|
||||
custom_fields: dripCommon.custom_fields,
|
||||
first_name: Property.ShortText({
|
||||
displayName: 'First Name',
|
||||
required: false,
|
||||
}),
|
||||
last_name: Property.ShortText({
|
||||
displayName: 'Last Name',
|
||||
required: false,
|
||||
}),
|
||||
zip: Property.ShortText({
|
||||
displayName: 'Zip Code',
|
||||
description: 'Postal code in which the subscriber resides',
|
||||
required: false,
|
||||
}),
|
||||
country: Property.ShortText({
|
||||
displayName: 'Country',
|
||||
description: 'The country in which the subscriber resides',
|
||||
required: false,
|
||||
}),
|
||||
state: Property.ShortText({
|
||||
displayName: 'State',
|
||||
description: 'The region in which the subscriber resides',
|
||||
required: false,
|
||||
}),
|
||||
city: Property.ShortText({
|
||||
displayName: 'City',
|
||||
description: 'The city in which the subscriber resides',
|
||||
required: false,
|
||||
}),
|
||||
phone: Property.ShortText({
|
||||
displayName: 'Phone',
|
||||
description: "The subscriber's primary phone number",
|
||||
required: false,
|
||||
}),
|
||||
address: Property.ShortText({
|
||||
displayName: 'Address',
|
||||
description: "The subscriber's mailing address",
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.POST,
|
||||
url: `${dripCommon.baseUrl(propsValue.account_id)}/subscribers`,
|
||||
body: {
|
||||
subscribers: [
|
||||
{
|
||||
email: propsValue.subscriber,
|
||||
tags: propsValue.tags,
|
||||
custom_fields: propsValue.custom_fields,
|
||||
country: propsValue.country,
|
||||
address1: propsValue.address,
|
||||
city: propsValue.city,
|
||||
state: propsValue.state,
|
||||
zip: propsValue.zip,
|
||||
phone: propsValue.phone,
|
||||
first_name: propsValue.first_name,
|
||||
last_name: propsValue.last_name,
|
||||
},
|
||||
],
|
||||
},
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(auth),
|
||||
},
|
||||
queryParams: {},
|
||||
};
|
||||
return await httpClient.sendRequest<Record<string, never>>(request);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,65 @@
|
||||
import { AppConnectionValueForAuthProperty, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { dripAuth } from '../..';
|
||||
|
||||
export const dripCommon = {
|
||||
baseUrl: (accountId: string) => {
|
||||
return `https://api.getdrip.com/v2/${accountId}`;
|
||||
},
|
||||
account_id: Property.Dropdown({
|
||||
auth: dripAuth,
|
||||
displayName: 'Account',
|
||||
required: true,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please fill in API key first',
|
||||
};
|
||||
}
|
||||
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://api.getdrip.com/v2/accounts',
|
||||
headers: {
|
||||
Authorization: `Basic ${Buffer.from(auth.secret_text ).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
};
|
||||
const response = await httpClient.sendRequest<{
|
||||
accounts: { id: string; name: string }[];
|
||||
}>(request);
|
||||
const opts = response.body.accounts.map((acc) => {
|
||||
return { value: acc.id, label: acc.name };
|
||||
});
|
||||
return {
|
||||
disabled: false,
|
||||
options: opts,
|
||||
};
|
||||
},
|
||||
}),
|
||||
subscriber: Property.ShortText({
|
||||
required: true,
|
||||
displayName: 'Subscriber Email',
|
||||
description: 'Email of the subscriber',
|
||||
}),
|
||||
tags: Property.Array({
|
||||
displayName: 'tags',
|
||||
required: false,
|
||||
description: 'Tags to apply to subscriber',
|
||||
}),
|
||||
custom_fields: Property.Object({
|
||||
displayName: 'Custom Fields',
|
||||
required: false,
|
||||
description: 'Custom field data about the subscriber',
|
||||
}),
|
||||
authorizationHeader: (apiKey: AppConnectionValueForAuthProperty<typeof dripAuth>) =>
|
||||
`Basic ${Buffer.from(apiKey.secret_text).toString('base64')}`,
|
||||
};
|
||||
@@ -0,0 +1,73 @@
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { TriggerStrategy, createTrigger } from '@activepieces/pieces-framework';
|
||||
import { dripCommon } from '../common';
|
||||
import { dripAuth } from '../../';
|
||||
|
||||
const triggerNameInStore = 'drip_new_subscriber_trigger';
|
||||
export const dripNewSubscriberEvent = createTrigger({
|
||||
auth: dripAuth,
|
||||
name: 'new_subscriber',
|
||||
displayName: 'New Subscriber',
|
||||
description: 'Triggers when a subscriber is created in your Drip account.',
|
||||
props: {
|
||||
account_id: dripCommon.account_id,
|
||||
},
|
||||
sampleData: {
|
||||
event: 'subscriber.created',
|
||||
data: {
|
||||
account_id: '9999999',
|
||||
subscriber: {},
|
||||
},
|
||||
occurred_at: '2013-06-21T10:31:58Z',
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
async onEnable({ auth, propsValue, webhookUrl, store }) {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.POST,
|
||||
url: `${dripCommon.baseUrl(propsValue.account_id)}/webhooks`,
|
||||
body: {
|
||||
webhooks: [{ post_url: webhookUrl, events: ['subscriber.created'] }],
|
||||
},
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(auth),
|
||||
},
|
||||
queryParams: {},
|
||||
};
|
||||
const { body } = await httpClient.sendRequest<{
|
||||
webhooks: { id: string }[];
|
||||
}>(request);
|
||||
await store.put<DripWebhookInformation>(triggerNameInStore, {
|
||||
webhookId: body.webhooks[0].id,
|
||||
userId: propsValue.account_id,
|
||||
});
|
||||
},
|
||||
async onDisable(context) {
|
||||
const response = await context.store?.get<DripWebhookInformation>(
|
||||
triggerNameInStore
|
||||
);
|
||||
if (response !== null && response !== undefined) {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.DELETE,
|
||||
url: `${dripCommon.baseUrl(response.userId)}/webhooks/${
|
||||
response.webhookId
|
||||
}`,
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(context.auth),
|
||||
},
|
||||
};
|
||||
await httpClient.sendRequest(request);
|
||||
}
|
||||
},
|
||||
async run(context) {
|
||||
return [context.payload.body];
|
||||
},
|
||||
});
|
||||
|
||||
interface DripWebhookInformation {
|
||||
webhookId: string;
|
||||
userId: string;
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { TriggerStrategy, createTrigger } from '@activepieces/pieces-framework';
|
||||
import { dripCommon } from '../common';
|
||||
import { dripAuth } from '../../';
|
||||
|
||||
const triggerNameInStore = 'drip_tag_applied_to_subscriber_trigger';
|
||||
export const dripTagAppliedEvent = createTrigger({
|
||||
auth: dripAuth,
|
||||
name: 'tag_applied_to_subscribers',
|
||||
displayName: 'Tag Applied',
|
||||
description: 'Triggers when a tag is applied.',
|
||||
props: {
|
||||
account_id: dripCommon.account_id,
|
||||
},
|
||||
sampleData: {
|
||||
event: 'subscriber.applied_tag',
|
||||
data: {
|
||||
account_id: '9999999',
|
||||
subscriber: {},
|
||||
properties: {
|
||||
tag: 'Customer',
|
||||
},
|
||||
},
|
||||
occurred_at: '2013-06-21T10:31:58Z',
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
async onEnable(context) {
|
||||
const request: HttpRequest = {
|
||||
method: HttpMethod.POST,
|
||||
url: `${dripCommon.baseUrl(context.propsValue.account_id)}/webhooks`,
|
||||
body: {
|
||||
webhooks: [
|
||||
{ post_url: context.webhookUrl, events: ['subscriber.applied_tag'] },
|
||||
],
|
||||
},
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(context.auth),
|
||||
},
|
||||
queryParams: {},
|
||||
};
|
||||
const { body } = await httpClient.sendRequest<{
|
||||
webhooks: { id: string }[];
|
||||
}>(request);
|
||||
await context.store?.put<DripWebhookInformation>(triggerNameInStore, {
|
||||
webhookId: body.webhooks[0].id,
|
||||
userId: context.propsValue['account_id']!,
|
||||
});
|
||||
},
|
||||
async onDisable(context) {
|
||||
const response = await context.store?.get<DripWebhookInformation>(
|
||||
triggerNameInStore
|
||||
);
|
||||
if (response !== null && response !== undefined) {
|
||||
const request: HttpRequest<never> = {
|
||||
method: HttpMethod.DELETE,
|
||||
url: `${dripCommon.baseUrl(response.userId)}/webhooks/${
|
||||
response.webhookId
|
||||
}`,
|
||||
headers: {
|
||||
Authorization: dripCommon.authorizationHeader(context.auth),
|
||||
},
|
||||
};
|
||||
await httpClient.sendRequest(request);
|
||||
}
|
||||
},
|
||||
async run(context) {
|
||||
return [context.payload.body];
|
||||
},
|
||||
});
|
||||
|
||||
interface DripWebhookInformation {
|
||||
webhookId: string;
|
||||
userId: string;
|
||||
}
|
||||
Reference in New Issue
Block a user