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,33 @@
|
||||
{
|
||||
"extends": [
|
||||
"../../../../.eslintrc.base.json"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx",
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-smoove
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-smoove` to build the library.
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "@activepieces/piece-smoove",
|
||||
"version": "0.0.7",
|
||||
"type": "commonjs",
|
||||
"main": "./src/index.js",
|
||||
"types": "./src/index.d.ts",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "pieces-smoove",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/smoove/src",
|
||||
"projectType": "library",
|
||||
"release": {
|
||||
"version": {
|
||||
"manifestRootsToUpdate": [
|
||||
"dist/{projectRoot}"
|
||||
],
|
||||
"currentVersionResolver": "git-tag",
|
||||
"fallbackCurrentVersionResolver": "disk"
|
||||
}
|
||||
},
|
||||
"tags": [],
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/smoove",
|
||||
"tsConfig": "packages/pieces/community/smoove/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/smoove/package.json",
|
||||
"main": "packages/pieces/community/smoove/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/smoove/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/smoove/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"nx-release-publish": {
|
||||
"options": {
|
||||
"packageRoot": "dist/{projectRoot}"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/smoove",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove ist eine Plattform zur Erstellung und Verwaltung Ihrer E-Mail-Liste und zum Versenden von E-Mails an Ihre Abonnenten.",
|
||||
"Add or Update Subscriber": "Abonnent hinzufügen oder aktualisieren",
|
||||
"Create a List": "Liste erstellen",
|
||||
"Find Subscriber": "Abonnent finden",
|
||||
"Unsubscribe Subscriber": "Abonnent abbestellen",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Abonnenten-Daten erstellen oder aktualisieren und Listen abonnieren/abbestellen",
|
||||
"Create a new mailing list with custom settings and descriptions": "Erstellen Sie eine neue Mailingliste mit individuellen Einstellungen und Beschreibungen",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Suche nach Abonnenten mit eindeutigen Identifikatoren (ID, E-Mail, Telefon, externe ID) oder Namen",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Einen Kontakt von allen Listen abbestellen und in die Liste \"Abbestellen\" verschieben",
|
||||
"Email Address": "E-Mail-Adresse",
|
||||
"First Name": "Vorname",
|
||||
"Last Name": "Nachname",
|
||||
"Date of Birth": "Geburtsdatum",
|
||||
"Phone Number": "Telefonnummer",
|
||||
"Cell Phone": "Handy",
|
||||
"Address": "Adresse",
|
||||
"City": "Stadt",
|
||||
"Country": "Land",
|
||||
"Company": "Firma",
|
||||
"Position": "Position",
|
||||
"External ID": "Externe ID",
|
||||
"Campaign Source": "Kampagnenquelle",
|
||||
"Can Receive Emails": "Kann E-Mails empfangen",
|
||||
"Can Receive SMS": "Kann SMS empfangen",
|
||||
"Lists": "Listen",
|
||||
"Custom Fields": "Eigene Felder",
|
||||
"Operation": "Operation",
|
||||
"List Name": "Listenname",
|
||||
"Description": "Beschreibung",
|
||||
"Public Name": "Öffentlicher Name",
|
||||
"Public Description": "Öffentliche Beschreibung",
|
||||
"Is Public": "Ist öffentlich",
|
||||
"Allow Users to Subscribe": "Benutzern erlauben, sich zu abonnieren",
|
||||
"Allow Users to Unsubscribe": "Benutzern erlauben, sich abzumelden",
|
||||
"Is Portal": "Ist Portal",
|
||||
"Search Type": "Suchtyp",
|
||||
"Contact ID": "Kontakt-ID",
|
||||
"Fields to Return": "Felder zum Zurückgeben",
|
||||
"Include Custom Fields": "Benutzerdefinierte Felder einbeziehen",
|
||||
"Include Linked Lists": "Verknüpfte Listen einbeziehen",
|
||||
"Skip Records": "Datensätze überspringen",
|
||||
"Max Records": "Max. Datensätze",
|
||||
"Sort By": "Sortieren nach",
|
||||
"Contact": "Kontakt",
|
||||
"Unsubscribe Reason": "Grund für Abmeldung",
|
||||
"Select an existing contact email or type a new one": "Wählen Sie eine vorhandene Kontakt-E-Mail oder geben Sie eine neue ein",
|
||||
"The first name of the contact": "Der Vorname des Kontakts",
|
||||
"The last name of the contact": "Der Nachname des Kontakts",
|
||||
"The date of birth of the contact": "Das Geburtsdatum des Kontakts",
|
||||
"The primary phone number of the contact": "Die primäre Telefonnummer des Kontakts",
|
||||
"The cell phone number of the contact": "Die Handynummer des Kontakts",
|
||||
"The street address of the contact": "Die Straßenadresse des Kontakts",
|
||||
"The city of the contact": "Die Stadt des Kontakts",
|
||||
"The country of the contact": "Das Land des Kontakts",
|
||||
"The company name of the contact": "Der Firmenname des Kontakts",
|
||||
"The job title or position of the contact": "Der Jobtitel oder die Position des Kontakts",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "Externe Kennung für den Kontakt (nützlich für die Synchronisierung mit anderen Systemen)",
|
||||
"The campaign source that brought this contact": "Die Kampagnenquelle, die diesen Kontakt brachte",
|
||||
"Whether the contact can receive email communications": "Ob der Kontakt E-Mail-Kommunikation empfangen kann",
|
||||
"Whether the contact can receive SMS messages": "Ob der Kontakt SMS-Nachrichten empfangen kann",
|
||||
"Select lists to subscribe the contact to": "Wählen Sie Listen, um den Kontakt zu abonnieren",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Benutzerdefinierte Felder Daten (JSON-Objekt mit Feld-IDs als Schlüssel)",
|
||||
"Choose the contact operation type": "Wählen Sie den Typ der Kontaktoperation",
|
||||
"The name of the list to be created": "Der Name der zu erstellenden Liste",
|
||||
"Internal description of the list for your reference": "Interne Beschreibung der Liste für Ihre Referenz",
|
||||
"The public-facing name of the list visible to subscribers": "Der öffentliche Name der Liste, der für Abonnenten sichtbar ist",
|
||||
"Public description of the list visible to subscribers": "Öffentliche Beschreibung der Liste, die für Abonnenten sichtbar ist",
|
||||
"Make this list publicly visible": "Diese Liste öffentlich machen",
|
||||
"Allow users to subscribe to this list themselves": "Benutzern erlauben, diese Liste selbst zu abonnieren",
|
||||
"Allow users to unsubscribe from this list themselves": "Benutzern erlauben, sich von dieser Liste selbst abzumelden",
|
||||
"Enable portal access for this list": "Portalzugriff für diese Liste aktivieren",
|
||||
"Choose how to search for subscribers": "Wählen Sie die Suche nach Abonnenten",
|
||||
"The unique ID of the contact": "Die eindeutige ID des Kontakts",
|
||||
"The email address of the contact": "Die E-Mail-Adresse des Kontakts",
|
||||
"The phone number of the contact (cellphone)": "Die Telefonnummer des Kontakts (Handy)",
|
||||
"The external ID of the contact": "Die externe ID des Kontakts",
|
||||
"Search by first name": "Nach Vornamen suchen",
|
||||
"Search by last name": "Nach Nachnamen suchen",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Kommaseparierte Liste von Feldern, die zurückgegeben werden sollen (z.B. Id, E-Mail, Vorname,Nachname). Leer lassen für alle Felder.",
|
||||
"Include custom fields in the response": "Benutzerdefinierte Felder in die Antwort einbeziehen",
|
||||
"Include linked lists in the response": "Verknüpfte Listen in die Antwort einbeziehen",
|
||||
"Number of records to skip (for pagination, default: 0)": "Anzahl der zu überspringenden Datensätze (für Seiteneinstellung, Standard: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Maximale Anzahl der zurückzugebenden Datensätze (Standard: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Ergebnisse nach einem bestimmten Feld sortieren",
|
||||
"Select the contact to unsubscribe": "Kontakt zum Abmelden auswählen",
|
||||
"Reason for unsubscribing the contact": "Grund für die Abmeldung des Kontakts",
|
||||
"Create Only": "Nur erstellen",
|
||||
"Create or Update if Exists": "Erstelle oder aktualisiere wenn vorhanden",
|
||||
"Restore if Deleted": "Wiederherstellen wenn gelöscht",
|
||||
"Restore if Unsubscribed": "Wiederherstellen, wenn abgemeldet",
|
||||
"Override Nullable Values": "Nullable Werte überschreiben",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "Per Identifikator (ID, E-Mail, Telefon, externe ID)",
|
||||
"By Name (First Name, Last Name)": "Nach Name (Vorname, Nachname)",
|
||||
"All Active Contacts (with pagination)": "Alle aktiven Kontakte (mit Seitenination)",
|
||||
"ID (Newest First)": "ID (Neueste Erste)",
|
||||
"ID (Oldest First)": "ID (Älteste zuerst)",
|
||||
"Email (A-Z)": "E-Mail (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "Vorname (A-Z)",
|
||||
"First Name (Z-A)": "Vorname (Z-A)",
|
||||
"Last Changed (Newest)": "Zuletzt geändert (Neueste)",
|
||||
"Last Changed (Oldest)": "Zuletzt geändert (Älteste)",
|
||||
"Signup Date (Newest)": "Anmeldedatum (Neuest)",
|
||||
"Signup Date (Oldest)": "Anmeldedatum (älteste)",
|
||||
"New List Created": "Neue Liste erstellt",
|
||||
"New Subscriber": "Neuer Abonnent",
|
||||
"New Form Created": "Neues Formular erstellt",
|
||||
"New Lead Submitted": "Neuer Lead eingereicht",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Feuert ab, wenn eine neue Mailingliste in Ihrem Smoove-Konto erstellt wird",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Feuert ab, wenn ein neuer Abonnent zu Ihrem Smoove-Konto hinzugefügt wird",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Feuert ab, wenn eine neue Formular/Landing-Seite in Ihrem Smoove-Konto erstellt wird",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Feuert ab, wenn ein Lead Formular, Popup oder mobile Kampagne absendet",
|
||||
"Fields to Include": "Zu berücksichtigende Felder",
|
||||
"Sort Order": "Sortierung",
|
||||
"Max Lists to Monitor": "Max. zu überwachende Listen",
|
||||
"Join Source Filter": "Quellfilter beitreten",
|
||||
"Max Items to Check": "Max. zu überprüfende Elemente",
|
||||
"Form Type Filter": "Formulartyp-Filter",
|
||||
"Monitoring Mode": "Überwachungsmodus",
|
||||
"LandingPage/Form ID": "Startseite/Formular-ID",
|
||||
"Include Full Contact Details": "Füge vollständige Kontaktdaten hinzu",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Kommaseparierte Liste der einzuschließenden Felder (z.B. id,name,description,contactsCount). Leer lassen für alle Felder.",
|
||||
"How to sort the lists for monitoring": "Sortieren der Listen für die Überwachung",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Maximale Anzahl von Listen, die nach neuen Ergänzungen gesucht werden sollen (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Kommaseparierte Felder zum Einfügen (z. B. Id, E-Mail, Vorname,Nachname,Zeitstempelregistrierung). Leer lassen für Standardfelder.",
|
||||
"Include custom field data in subscriber information": "Fügen Sie benutzerdefinierte Feld-Daten in die Abonnenten-Informationen ein",
|
||||
"Include list associations in subscriber information": "Listenzuordnungen in Abonnenteninformationen einbeziehen",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Abonnenten filtern, wie sie beigetreten sind (als \"Alle\" lassen, um alle Quellen zu überwachen)",
|
||||
"How to sort contacts for monitoring new subscribers": "Wie sortieren Sie Kontakte für die Überwachung neuer Abonnenten",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Maximale Anzahl von Kontakten, die nach neuen Abonnenten gesucht werden sollen (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Nach einem bestimmten Formulartyp filtern oder \"Alle\" wählen, um alle Formulartypen zu überwachen",
|
||||
"Choose whether to monitor all forms or a specific form": "Wählen Sie, ob alle Formulare oder ein bestimmtes Formular überwachen sollen",
|
||||
"Select the andingPage/Form ": "Wählen Sie die andingPage/das Formular ",
|
||||
"Include custom field data in the lead submission": "Fügen Sie benutzerdefinierte Felddaten in die Lead-Sendung ein",
|
||||
"Include complete contact information in the submission data": "Fügen Sie vollständige Kontaktinformationen in die Einreichungsdaten ein",
|
||||
"Newest First (by ID)": "Neueste zuerst (nach ID)",
|
||||
"Oldest First (by ID)": "Älteste zuerst (nach ID)",
|
||||
"Name (A-Z)": "Name (A-Z)",
|
||||
"Name (Z-A)": "Name (Z-A)",
|
||||
"All Sources": "Alle Quellen",
|
||||
"Unknown": "Unbekannt",
|
||||
"Manual Entry": "Manueller Eintrag",
|
||||
"Import": "Importieren",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Startseite",
|
||||
"Embed Form": "Formular einbetten",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Formular",
|
||||
"Automation": "Automatisierung",
|
||||
"Newest Signups First": "Neueste Anmeldungen zuerst",
|
||||
"Oldest Signups First": "Älteste Anmeldungen zuerst",
|
||||
"Recently Changed First": "Zuletzt zuerst geändert",
|
||||
"All Types": "Alle Typen",
|
||||
"Facebook Form": "Facebook Formular",
|
||||
"Mobile Form": "Mobiles Formular",
|
||||
"Popup Form": "Popup-Formular",
|
||||
"All Forms/Landing Pages": "Alle Formulare/Landing Seiten",
|
||||
"Specific Form/Landing Page": "Spezifische Formular/Landing-Seite"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "smoove es una plataforma para crear y administrar tu lista de correo electrónico y enviar correos electrónicos a tus suscriptores.",
|
||||
"Add or Update Subscriber": "Añadir o actualizar suscriptores",
|
||||
"Create a List": "Crear una lista",
|
||||
"Find Subscriber": "Buscar suscriptores",
|
||||
"Unsubscribe Subscriber": "Darse de baja de suscriptores",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Crear o actualizar datos del suscriptor y suscribirse/darse de baja de las listas",
|
||||
"Create a new mailing list with custom settings and descriptions": "Crear una nueva lista de correo con configuraciones y descripciones personalizadas",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Buscar suscriptores por identificadores únicos (ID, correo electrónico, teléfono, ID externa) o nombre",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Darse de baja de un contacto de todas las listas y moverlos a la lista de \"Darse de baja\"",
|
||||
"Email Address": "Dirección de email",
|
||||
"First Name": "Nombre",
|
||||
"Last Name": "Apellido",
|
||||
"Date of Birth": "Fecha de nacimiento",
|
||||
"Phone Number": "Número de teléfono",
|
||||
"Cell Phone": "Teléfono",
|
||||
"Address": "Dirección",
|
||||
"City": "Ciudad",
|
||||
"Country": "País",
|
||||
"Company": "Empresa",
|
||||
"Position": "Posición",
|
||||
"External ID": "ID Externo",
|
||||
"Campaign Source": "Origen de campaña",
|
||||
"Can Receive Emails": "Puede recibir correos electrónicos",
|
||||
"Can Receive SMS": "Puede recibir SMS",
|
||||
"Lists": "Listas",
|
||||
"Custom Fields": "Campos personalizados",
|
||||
"Operation": "Operación",
|
||||
"List Name": "Nombre de lista",
|
||||
"Description": "Descripción",
|
||||
"Public Name": "Nombre público",
|
||||
"Public Description": "Descripción pública",
|
||||
"Is Public": "Es público",
|
||||
"Allow Users to Subscribe": "Permitir a los usuarios suscribirse",
|
||||
"Allow Users to Unsubscribe": "Permitir a los usuarios darse de baja",
|
||||
"Is Portal": "Es Portal",
|
||||
"Search Type": "Tipo de búsqueda",
|
||||
"Contact ID": "ID de contacto",
|
||||
"Fields to Return": "Campos a devolver",
|
||||
"Include Custom Fields": "Incluye campos personalizados",
|
||||
"Include Linked Lists": "Incluye listas vinculadas",
|
||||
"Skip Records": "Saltar registros",
|
||||
"Max Records": "Grabaciones máximas",
|
||||
"Sort By": "Ordenar por",
|
||||
"Contact": "Contacto",
|
||||
"Unsubscribe Reason": "Razón de desuscripción",
|
||||
"Select an existing contact email or type a new one": "Seleccione un correo electrónico de contacto existente o escriba uno nuevo",
|
||||
"The first name of the contact": "El nombre del contacto",
|
||||
"The last name of the contact": "El apellido del contacto",
|
||||
"The date of birth of the contact": "La fecha de nacimiento del contacto",
|
||||
"The primary phone number of the contact": "El número de teléfono principal del contacto",
|
||||
"The cell phone number of the contact": "El número de teléfono celular del contacto",
|
||||
"The street address of the contact": "La dirección del contacto",
|
||||
"The city of the contact": "La ciudad del contacto",
|
||||
"The country of the contact": "El país del contacto",
|
||||
"The company name of the contact": "El nombre de la empresa del contacto",
|
||||
"The job title or position of the contact": "El título o posición del trabajo del contacto",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "Identificador externo para el contacto (útil para sincronizar con otros sistemas)",
|
||||
"The campaign source that brought this contact": "La fuente de la campaña que trajo este contacto",
|
||||
"Whether the contact can receive email communications": "Si el contacto puede recibir comunicaciones por correo electrónico",
|
||||
"Whether the contact can receive SMS messages": "Si el contacto puede recibir mensajes SMS",
|
||||
"Select lists to subscribe the contact to": "Seleccionar listas a las que suscribir el contacto",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Datos de campos personalizados (objeto JSON con ID de campo como claves)",
|
||||
"Choose the contact operation type": "Elija el tipo de operación de contacto",
|
||||
"The name of the list to be created": "El nombre de la lista a crear",
|
||||
"Internal description of the list for your reference": "Descripción interna de la lista para su referencia",
|
||||
"The public-facing name of the list visible to subscribers": "El nombre público de la lista visible para los suscriptores",
|
||||
"Public description of the list visible to subscribers": "Descripción pública de la lista visible para los suscriptores",
|
||||
"Make this list publicly visible": "Hacer esta lista visible públicamente",
|
||||
"Allow users to subscribe to this list themselves": "Permitir a los usuarios suscribirse a esta lista en sí mismos",
|
||||
"Allow users to unsubscribe from this list themselves": "Permitir a los usuarios darse de baja de esta lista",
|
||||
"Enable portal access for this list": "Habilitar acceso al portal para esta lista",
|
||||
"Choose how to search for subscribers": "Elegir cómo buscar suscriptores",
|
||||
"The unique ID of the contact": "El ID único del contacto",
|
||||
"The email address of the contact": "La dirección de correo electrónico del contacto",
|
||||
"The phone number of the contact (cellphone)": "El número de teléfono del contacto (celular)",
|
||||
"The external ID of the contact": "El ID externo del contacto",
|
||||
"Search by first name": "Buscar por nombre",
|
||||
"Search by last name": "Buscar por apellido",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Lista separada por comas de campos a retornar (por ejemplo, id,email,nombre,apellido). Dejar en blanco para todos los campos.",
|
||||
"Include custom fields in the response": "Incluye campos personalizados en la respuesta",
|
||||
"Include linked lists in the response": "Incluye listas enlazadas en la respuesta",
|
||||
"Number of records to skip (for pagination, default: 0)": "Número de registros a omitir (para paginación, predeterminado: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Número máximo de registros a devolver (por defecto: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Ordenar los resultados por un campo específico",
|
||||
"Select the contact to unsubscribe": "Seleccione el contacto para darse de baja",
|
||||
"Reason for unsubscribing the contact": "Razón para cancelar la suscripción al contacto",
|
||||
"Create Only": "Sólo crear",
|
||||
"Create or Update if Exists": "Crear o actualizar si existe",
|
||||
"Restore if Deleted": "Restaurar si se borra",
|
||||
"Restore if Unsubscribed": "Restaurar si se cancela la suscripción",
|
||||
"Override Nullable Values": "Anular Valores Nullables",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "Por identificador (ID, Email, Phone, ID Externo)",
|
||||
"By Name (First Name, Last Name)": "Por nombre (nombre, apellido)",
|
||||
"All Active Contacts (with pagination)": "Todos los contactos activos (con paginación)",
|
||||
"ID (Newest First)": "ID (el primero más reciente)",
|
||||
"ID (Oldest First)": "ID (el más antiguo primero)",
|
||||
"Email (A-Z)": "Email (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "Nombre (A-Z)",
|
||||
"First Name (Z-A)": "Nombre (Z-A)",
|
||||
"Last Changed (Newest)": "Último cambio (más reciente)",
|
||||
"Last Changed (Oldest)": "Último cambio (más antiguo)",
|
||||
"Signup Date (Newest)": "Fecha de registro (más reciente)",
|
||||
"Signup Date (Oldest)": "Fecha de registro (más antiguo)",
|
||||
"New List Created": "Nueva lista creada",
|
||||
"New Subscriber": "Nuevo suscriptor",
|
||||
"New Form Created": "Nuevo formulario creado",
|
||||
"New Lead Submitted": "Nuevo plomo enviado",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Dispara cuando se crea una nueva lista de correo en tu cuenta de smoove",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Dispara cuando se añade un nuevo suscriptor a tu cuenta de smoove",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Dispara cuando se crea un nuevo formulario/página de inicio en tu cuenta de smoove",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Dispara cuando un líder envía una campaña a través de formulario, ventana emergente o móvil",
|
||||
"Fields to Include": "Campos a incluir",
|
||||
"Sort Order": "Ordenar",
|
||||
"Max Lists to Monitor": "Listas máximas para el seguidor",
|
||||
"Join Source Filter": "Unirse al filtro de origen",
|
||||
"Max Items to Check": "Máximo de elementos a comprobar",
|
||||
"Form Type Filter": "Filtro de tipo de formulario",
|
||||
"Monitoring Mode": "Modo de seguimiento",
|
||||
"LandingPage/Form ID": "ID del Formulario",
|
||||
"Include Full Contact Details": "Incluye detalles completos de contacto",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Lista separada por comas de campos a incluir (por ejemplo, id,nombre,descripción,contactsCount). Dejar vacío para todos los campos.",
|
||||
"How to sort the lists for monitoring": "Cómo ordenar las listas para monitorear",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Número máximo de listas a buscar nuevas adiciones (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Campos separados por comas a incluir (por ejemplo, id,email,nombre,apellido,timestampSignup). Dejar en blanco para los campos predeterminados.",
|
||||
"Include custom field data in subscriber information": "Incluye datos de campo personalizado en la información del suscriptor",
|
||||
"Include list associations in subscriber information": "Incluye asociaciones de la lista en la información del suscriptor",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filtrar suscriptores por cómo se unieron (dejar como \"Todos\" para monitorear todas las fuentes)",
|
||||
"How to sort contacts for monitoring new subscribers": "Cómo ordenar contactos para monitorear nuevos suscriptores",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Número máximo de contactos a buscar nuevos suscriptores (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filtrar por tipo de formulario específico, o seleccionar \"Todos\" para monitorear todos los tipos de formulario",
|
||||
"Choose whether to monitor all forms or a specific form": "Elija si desea monitorizar todos los formularios o un formulario específico",
|
||||
"Select the andingPage/Form ": "Seleccionar andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Incluye datos de campo personalizado en el envío principal",
|
||||
"Include complete contact information in the submission data": "Incluye información completa de contacto en los datos de envío",
|
||||
"Newest First (by ID)": "Último primero (por ID)",
|
||||
"Oldest First (by ID)": "Lo más antiguo primero (por ID)",
|
||||
"Name (A-Z)": "Nombre (A-Z)",
|
||||
"Name (Z-A)": "Nombre (Z-A)",
|
||||
"All Sources": "Todas las fuentes",
|
||||
"Unknown": "Desconocido",
|
||||
"Manual Entry": "Entrada manual",
|
||||
"Import": "Importar",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Página de tierra",
|
||||
"Embed Form": "Formulario integrado",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Forma",
|
||||
"Automation": "Automatización",
|
||||
"Newest Signups First": "Registros más nuevos primero",
|
||||
"Oldest Signups First": "Registros más antiguos primero",
|
||||
"Recently Changed First": "Cambiado recientemente primero",
|
||||
"All Types": "Todos los tipos",
|
||||
"Facebook Form": "Formulario de Facebook",
|
||||
"Mobile Form": "Formulario móvil",
|
||||
"Popup Form": "Forma emergente",
|
||||
"All Forms/Landing Pages": "Todos los formularios/páginas de tierra",
|
||||
"Specific Form/Landing Page": "Página de Formulario Específico"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove est une plateforme pour créer et gérer votre liste de courriels et envoyer des courriels à vos abonnés.",
|
||||
"Add or Update Subscriber": "Ajouter ou mettre à jour l'abonné",
|
||||
"Create a List": "Créer une liste",
|
||||
"Find Subscriber": "Trouver un abonné",
|
||||
"Unsubscribe Subscriber": "Se désabonner de l'abonné",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Créer ou mettre à jour les données des abonnés, et s'abonner/se désabonner des listes",
|
||||
"Create a new mailing list with custom settings and descriptions": "Créer une nouvelle liste de diffusion avec des paramètres et des descriptions personnalisés",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Rechercher des abonnés par identifiants uniques (ID, email, téléphone, ID externe) ou par nom",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Désabonner un contact de toutes les listes et le déplacer vers la liste \"Désabonné\"",
|
||||
"Email Address": "Adresse e-mail",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Date of Birth": "Date de naissance",
|
||||
"Phone Number": "Numéro de téléphone",
|
||||
"Cell Phone": "Téléphone cellulaire",
|
||||
"Address": "Adresses",
|
||||
"City": "Ville",
|
||||
"Country": "Pays",
|
||||
"Company": "Entreprise",
|
||||
"Position": "Position",
|
||||
"External ID": "ID externe",
|
||||
"Campaign Source": "Source de la campagne",
|
||||
"Can Receive Emails": "Peut recevoir des E-mails",
|
||||
"Can Receive SMS": "Peut recevoir des SMS",
|
||||
"Lists": "Listes",
|
||||
"Custom Fields": "Champs personnalisés",
|
||||
"Operation": "Opération",
|
||||
"List Name": "Nom de la liste",
|
||||
"Description": "Libellé",
|
||||
"Public Name": "Nom public",
|
||||
"Public Description": "Description publique",
|
||||
"Is Public": "Est public",
|
||||
"Allow Users to Subscribe": "Autoriser les utilisateurs à s'abonner",
|
||||
"Allow Users to Unsubscribe": "Autoriser les utilisateurs à se désabonner",
|
||||
"Is Portal": "Portail",
|
||||
"Search Type": "Type de recherche",
|
||||
"Contact ID": "ID du contact",
|
||||
"Fields to Return": "Champs à retourner",
|
||||
"Include Custom Fields": "Inclure les champs personnalisés",
|
||||
"Include Linked Lists": "Inclure les listes liées",
|
||||
"Skip Records": "Ignorer les enregistrements",
|
||||
"Max Records": "Nombre maximum d'enregistrements",
|
||||
"Sort By": "Trier par",
|
||||
"Contact": "Contacter",
|
||||
"Unsubscribe Reason": "Raison de la désinscription",
|
||||
"Select an existing contact email or type a new one": "Sélectionnez un e-mail de contact existant ou tapez un nouveau",
|
||||
"The first name of the contact": "Le prénom du contact",
|
||||
"The last name of the contact": "Le nom de famille du contact",
|
||||
"The date of birth of the contact": "La date de naissance du contact",
|
||||
"The primary phone number of the contact": "Le numéro de téléphone principal du contact",
|
||||
"The cell phone number of the contact": "Le numéro de téléphone cellulaire du contact",
|
||||
"The street address of the contact": "L'adresse postale du contact",
|
||||
"The city of the contact": "La ville du contact",
|
||||
"The country of the contact": "Le pays du contact",
|
||||
"The company name of the contact": "Le nom de la société du contact",
|
||||
"The job title or position of the contact": "Le titre du poste ou le poste du contact",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "Identifiant externe pour le contact (utile pour la synchronisation avec d'autres systèmes)",
|
||||
"The campaign source that brought this contact": "La source de la campagne qui a amené ce contact",
|
||||
"Whether the contact can receive email communications": "Si le contact peut recevoir des communications par e-mail",
|
||||
"Whether the contact can receive SMS messages": "Si le contact peut recevoir des messages SMS",
|
||||
"Select lists to subscribe the contact to": "Sélectionnez les listes auxquelles s'abonner le contact",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Données de champs personnalisés (objet JSON avec ID de champ comme clés)",
|
||||
"Choose the contact operation type": "Choisissez le type d'opération de contact",
|
||||
"The name of the list to be created": "Le nom de la liste à créer",
|
||||
"Internal description of the list for your reference": "Description interne de la liste de votre référence",
|
||||
"The public-facing name of the list visible to subscribers": "Le nom public de la liste visible aux abonnés",
|
||||
"Public description of the list visible to subscribers": "Description publique de la liste visible aux abonnés",
|
||||
"Make this list publicly visible": "Rendre cette liste visible publiquement",
|
||||
"Allow users to subscribe to this list themselves": "Permettre aux utilisateurs de s'abonner à cette liste eux-mêmes",
|
||||
"Allow users to unsubscribe from this list themselves": "Permettre aux utilisateurs de se désabonner de cette liste eux-mêmes",
|
||||
"Enable portal access for this list": "Activer l'accès au portail pour cette liste",
|
||||
"Choose how to search for subscribers": "Choisir comment rechercher des abonnés",
|
||||
"The unique ID of the contact": "L'ID unique du contact",
|
||||
"The email address of the contact": "L'adresse e-mail du contact",
|
||||
"The phone number of the contact (cellphone)": "Le numéro de téléphone du contact (téléphone cellulaire)",
|
||||
"The external ID of the contact": "L'ID externe du contact",
|
||||
"Search by first name": "Recherche par prénom",
|
||||
"Search by last name": "Rechercher par nom de famille",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Liste de champs séparés par des virgules à retourner (par exemple, id,email,firstName,lastName). Laisser vide pour tous les champs.",
|
||||
"Include custom fields in the response": "Inclure les champs personnalisés dans la réponse",
|
||||
"Include linked lists in the response": "Inclure les listes liées dans la réponse",
|
||||
"Number of records to skip (for pagination, default: 0)": "Nombre d'enregistrements à ignorer (pour la pagination, par défaut: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Nombre maximum d'enregistrements à retourner (par défaut: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Trier les résultats par champ spécifique",
|
||||
"Select the contact to unsubscribe": "Sélectionnez le contact à désabonner",
|
||||
"Reason for unsubscribing the contact": "Raison de la désinscription du contact",
|
||||
"Create Only": "Créer uniquement",
|
||||
"Create or Update if Exists": "Créer ou mettre à jour si existe",
|
||||
"Restore if Deleted": "Restaurer si supprimé",
|
||||
"Restore if Unsubscribed": "Restaurer si désabonné",
|
||||
"Override Nullable Values": "Remplacer les valeurs Nullables",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "Par identifiant (ID, Email, Téléphone, ID externe)",
|
||||
"By Name (First Name, Last Name)": "Par nom (prénom, nom)",
|
||||
"All Active Contacts (with pagination)": "Tous les contacts actifs (avec pagination)",
|
||||
"ID (Newest First)": "ID (plus récent d'abord)",
|
||||
"ID (Oldest First)": "ID (plus ancien d'abord)",
|
||||
"Email (A-Z)": "Courriel (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "Prénom (A-Z)",
|
||||
"First Name (Z-A)": "Prénom (Z-A)",
|
||||
"Last Changed (Newest)": "Dernier changement (plus récent)",
|
||||
"Last Changed (Oldest)": "Dernier changement (plus récent)",
|
||||
"Signup Date (Newest)": "Date d'inscription (plus récente)",
|
||||
"Signup Date (Oldest)": "Date d'inscription (plus récent)",
|
||||
"New List Created": "Nouvelle liste créée",
|
||||
"New Subscriber": "Nouvel abonné",
|
||||
"New Form Created": "Nouveau formulaire créé",
|
||||
"New Lead Submitted": "Nouveau prospect soumis",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Se déclenche lorsqu'une nouvelle liste de diffusion est créée dans votre compte Smoove",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Se déclenche lorsqu'un nouvel abonné est ajouté à votre compte Smoove",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Tire quand une nouvelle page de formulaire/de destination est créée dans votre compte Smoove",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Tire lorsqu'un prospect soumet via un formulaire, une popup ou une campagne mobile",
|
||||
"Fields to Include": "Champs à inclure",
|
||||
"Sort Order": "Ordre de tri",
|
||||
"Max Lists to Monitor": "Nombre maximum de listes à surveiller",
|
||||
"Join Source Filter": "Rejoindre le filtre source",
|
||||
"Max Items to Check": "Nombre maximum d'éléments à vérifier",
|
||||
"Form Type Filter": "Filtre de type de formulaire",
|
||||
"Monitoring Mode": "Mode de surveillance",
|
||||
"LandingPage/Form ID": "Page d'atterrissage / ID de formulaire",
|
||||
"Include Full Contact Details": "Inclure les coordonnées complètes",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Liste de champs séparés par des virgules à inclure (par exemple, id,name,description,contactsCount). Laisser vide pour tous les champs.",
|
||||
"How to sort the lists for monitoring": "Comment trier les listes de suivi",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Nombre maximum de listes à vérifier pour de nouveaux ajouts (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Champs séparés par des virgules à inclure (par exemple, id,email,firstName,lastName,timestampSignup). Laisser vide pour les champs par défaut.",
|
||||
"Include custom field data in subscriber information": "Inclure les données du champ personnalisé dans les informations de l'abonné",
|
||||
"Include list associations in subscriber information": "Inclure les associations de listes dans les informations des abonnés",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filtrer les abonnés par la façon dont ils ont rejoint (laisser \"Tous\" pour surveiller toutes les sources)",
|
||||
"How to sort contacts for monitoring new subscribers": "Comment trier les contacts pour surveiller les nouveaux abonnés",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Nombre maximum de contacts à vérifier pour les nouveaux abonnés (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filtrer par type de formulaire spécifique, ou sélectionner \"Tous\" pour surveiller tous les types de formulaire",
|
||||
"Choose whether to monitor all forms or a specific form": "Choisissez si vous souhaitez surveiller tous les formulaires ou un formulaire spécifique",
|
||||
"Select the andingPage/Form ": "Sélectionnez le formulaire andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Inclure les données de champs personnalisés dans la soumission de prospect",
|
||||
"Include complete contact information in the submission data": "Inclure les coordonnées complètes dans les données d'envoi",
|
||||
"Newest First (by ID)": "Plus récent en premier (par ID)",
|
||||
"Oldest First (by ID)": "Le plus ancien en premier (par ID)",
|
||||
"Name (A-Z)": "Nom (A-Z)",
|
||||
"Name (Z-A)": "Nom (Z-A)",
|
||||
"All Sources": "Toutes les sources",
|
||||
"Unknown": "Unknown",
|
||||
"Manual Entry": "Saisie manuelle",
|
||||
"Import": "Import",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Page d'accueil",
|
||||
"Embed Form": "Intégrer le formulaire",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Formulaire",
|
||||
"Automation": "Automatisation",
|
||||
"Newest Signups First": "Les plus récentes inscriptions en premier",
|
||||
"Oldest Signups First": "Les plus anciennes inscriptions en premier",
|
||||
"Recently Changed First": "Récemment modifié en premier",
|
||||
"All Types": "Tous les types",
|
||||
"Facebook Form": "Formulaire Facebook",
|
||||
"Mobile Form": "Forme mobile",
|
||||
"Popup Form": "Formulaire de popup",
|
||||
"All Forms/Landing Pages": "Toutes les formes/pages d'atterrissage",
|
||||
"Specific Form/Landing Page": "Forme/Page d'atterrissage spécifique"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smooveはメールリストを作成し、管理し、購読者にメールを送信するためのプラットフォームです。",
|
||||
"Add or Update Subscriber": "購読者を追加または更新",
|
||||
"Create a List": "リストを作成",
|
||||
"Find Subscriber": "購読者を検索",
|
||||
"Unsubscribe Subscriber": "購読を解除",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "購読者データを作成または更新し、リストから購読/解除する",
|
||||
"Create a new mailing list with custom settings and descriptions": "カスタム設定と説明を含む新しいメーリングリストを作成します",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "一意の識別子(ID、メールアドレス、電話番号、外部ID)または名前で購読者を検索",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "すべてのリストから連絡先の登録を解除し、「登録解除」リストに移動します",
|
||||
"Email Address": "メールアドレス",
|
||||
"First Name": "名",
|
||||
"Last Name": "Last Name",
|
||||
"Date of Birth": "誕生日",
|
||||
"Phone Number": "電話番号",
|
||||
"Cell Phone": "携帯電話",
|
||||
"Address": "住所",
|
||||
"City": "市区町村名",
|
||||
"Country": "国",
|
||||
"Company": "会社名",
|
||||
"Position": "位置",
|
||||
"External ID": "外部 ID",
|
||||
"Campaign Source": "キャンペーンのソース",
|
||||
"Can Receive Emails": "メールを受信できます。",
|
||||
"Can Receive SMS": "SMSを受信できます",
|
||||
"Lists": "リスト",
|
||||
"Custom Fields": "カスタムフィールド",
|
||||
"Operation": "操作",
|
||||
"List Name": "リスト名",
|
||||
"Description": "説明",
|
||||
"Public Name": "公開名",
|
||||
"Public Description": "公開説明",
|
||||
"Is Public": "公開された",
|
||||
"Allow Users to Subscribe": "ユーザーに購読を許可する",
|
||||
"Allow Users to Unsubscribe": "ユーザーの登録解除を許可",
|
||||
"Is Portal": "ポータル",
|
||||
"Search Type": "検索タイプ",
|
||||
"Contact ID": "連絡先ID",
|
||||
"Fields to Return": "Fields to Return",
|
||||
"Include Custom Fields": "カスタムフィールドを含める",
|
||||
"Include Linked Lists": "リンクされたリストを含める",
|
||||
"Skip Records": "記録をスキップ",
|
||||
"Max Records": "最大レコード",
|
||||
"Sort By": "並び替え",
|
||||
"Contact": "お問い合わせ",
|
||||
"Unsubscribe Reason": "登録解除の理由",
|
||||
"Select an existing contact email or type a new one": "既存の連絡先メールアドレスを選択するか、新しいメールアドレスを入力してください",
|
||||
"The first name of the contact": "連絡先の名",
|
||||
"The last name of the contact": "連絡先の姓",
|
||||
"The date of birth of the contact": "連絡先の生年月日",
|
||||
"The primary phone number of the contact": "連絡先のプライマリ電話番号",
|
||||
"The cell phone number of the contact": "連絡先の携帯電話",
|
||||
"The street address of the contact": "連絡先の住所",
|
||||
"The city of the contact": "連絡先の都市",
|
||||
"The country of the contact": "連絡先の国",
|
||||
"The company name of the contact": "連絡先の会社名",
|
||||
"The job title or position of the contact": "連絡先の職名または位置",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "連絡先の外部識別子 (他のシステムとの同期に便利)",
|
||||
"The campaign source that brought this contact": "この連絡先をもたらしたキャンペーンソース",
|
||||
"Whether the contact can receive email communications": "連絡先が電子メール通信を受信できるかどうか",
|
||||
"Whether the contact can receive SMS messages": "連絡先がSMSメッセージを受信できるかどうか",
|
||||
"Select lists to subscribe the contact to": "連絡先を購読するリストを選択",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "カスタムフィールドデータ(フィールドIDをキーとするJSONオブジェクト)",
|
||||
"Choose the contact operation type": "連絡先の操作タイプを選択してください",
|
||||
"The name of the list to be created": "作成するリストの名前",
|
||||
"Internal description of the list for your reference": "参照リストの内部説明",
|
||||
"The public-facing name of the list visible to subscribers": "購読者に表示されるリストの公開面名",
|
||||
"Public description of the list visible to subscribers": "購読者に表示されるリストの説明",
|
||||
"Make this list publicly visible": "このリストを公開する",
|
||||
"Allow users to subscribe to this list themselves": "ユーザーがこのリストを自分自身で購読できるようにする",
|
||||
"Allow users to unsubscribe from this list themselves": "ユーザー自身でこのリストの購読解除を許可する",
|
||||
"Enable portal access for this list": "このリストのポータルアクセスを有効にする",
|
||||
"Choose how to search for subscribers": "購読者を検索する方法を選択します",
|
||||
"The unique ID of the contact": "連絡先の固有のID",
|
||||
"The email address of the contact": "連絡先のメールアドレス",
|
||||
"The phone number of the contact (cellphone)": "連絡先の電話番号 (携帯)",
|
||||
"The external ID of the contact": "連絡先の外部 ID",
|
||||
"Search by first name": "名前で検索",
|
||||
"Search by last name": "姓で検索",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "カンマで区切られたフィールドのリストを返します(例:id,email,firstName,lastName)。すべてのフィールドに対して空のままにします。",
|
||||
"Include custom fields in the response": "返信にカスタムフィールドを含める",
|
||||
"Include linked lists in the response": "回答にリンクされたリストを含める",
|
||||
"Number of records to skip (for pagination, default: 0)": "スキップするレコード数(ページネーションの場合、デフォルト:0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Maximum number of records to return (default: 100, max: 100)",
|
||||
"Sort the results by a specific field": "特定のフィールドで結果をソート",
|
||||
"Select the contact to unsubscribe": "登録解除する連絡先を選択してください",
|
||||
"Reason for unsubscribing the contact": "連絡先の登録解除の理由",
|
||||
"Create Only": "作成のみ",
|
||||
"Create or Update if Exists": "存在する場合に作成または更新",
|
||||
"Restore if Deleted": "削除した場合に復元",
|
||||
"Restore if Unsubscribed": "購読解除時に復元",
|
||||
"Override Nullable Values": "Nullable値を上書き",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "識別子(ID、Eメール、電話、外部ID)",
|
||||
"By Name (First Name, Last Name)": "名前順 (姓、姓)",
|
||||
"All Active Contacts (with pagination)": "すべてのアクティブな連絡先 (ページネーション付き)",
|
||||
"ID (Newest First)": "ID (最新のもの)",
|
||||
"ID (Oldest First)": "ID (古い順)",
|
||||
"Email (A-Z)": "メール (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "名 (A-Z)",
|
||||
"First Name (Z-A)": "名 (Z-A)",
|
||||
"Last Changed (Newest)": "最終変更(新規)",
|
||||
"Last Changed (Oldest)": "最終変更(最新)",
|
||||
"Signup Date (Newest)": "サインアップ日(新規)",
|
||||
"Signup Date (Oldest)": "サインアップ日(最小限)",
|
||||
"New List Created": "新しいリストが作成されました",
|
||||
"New Subscriber": "新規購読",
|
||||
"New Form Created": "新しいフォームが作成されました",
|
||||
"New Lead Submitted": "新しいリードが提出されました",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Smooveアカウントに新しいメーリングリストが作成されたときに発行されます。",
|
||||
"Fires when a new subscriber is added to your Smoove account": "スムーブアカウントに新しい購読者が追加されたときに発行されます",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Smooveアカウントに新しいフォーム/ランディングページが作成されたときに発生します。",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "リードがフォーム、ポップアップ、またはモバイルキャンペーンで送信したときに発生します。",
|
||||
"Fields to Include": "含めるフィールド",
|
||||
"Sort Order": "並び順",
|
||||
"Max Lists to Monitor": "最大リストからモニターへ",
|
||||
"Join Source Filter": "ソースフィルタを結合",
|
||||
"Max Items to Check": "チェックするアイテムの最大数",
|
||||
"Form Type Filter": "フォームタイプフィルタ",
|
||||
"Monitoring Mode": "監視モード",
|
||||
"LandingPage/Form ID": "LandingPage/Form ID",
|
||||
"Include Full Contact Details": "連絡先の全詳細を含める",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "カンマ区切りで含める項目のリスト(例:id,name,description,contactsCount)。すべての項目に対して空のままにします。",
|
||||
"How to sort the lists for monitoring": "監視するリストを並べ替える方法",
|
||||
"Maximum number of lists to check for new additions (1-100)": "新しい追加を確認するリストの最大数 (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "コンマで区切られたフィールドを含めます(例:id,email,firstName,lastName,timestampSignup)。デフォルトフィールドは空のままにします。",
|
||||
"Include custom field data in subscriber information": "購読者情報にカスタム項目のデータを含める",
|
||||
"Include list associations in subscriber information": "購読者情報にリストの関連性を含める",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "加入方法で購読者をフィルター (すべてのソースを監視するには「すべて」のままにしてください)",
|
||||
"How to sort contacts for monitoring new subscribers": "新しい購読者を監視するための連絡先を並べ替える方法",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "新しい購読者を確認する連絡先の最大数(1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "特定のフォームタイプでフィルタするか、「すべて」を選択してすべてのフォームタイプを監視します",
|
||||
"Choose whether to monitor all forms or a specific form": "すべてのフォームまたは特定のフォームを監視するかどうかを選択します",
|
||||
"Select the andingPage/Form ": "andingPage/Formを選択します ",
|
||||
"Include custom field data in the lead submission": "リード提出にカスタム項目のデータを含める",
|
||||
"Include complete contact information in the submission data": "提出データに完全な連絡先情報を含める",
|
||||
"Newest First (by ID)": "新しい順 (ID)",
|
||||
"Oldest First (by ID)": "古い順 (ID)",
|
||||
"Name (A-Z)": "名前 (A-Z)",
|
||||
"Name (Z-A)": "名前 (Z-A)",
|
||||
"All Sources": "すべてのソース",
|
||||
"Unknown": "不明",
|
||||
"Manual Entry": "手動入力",
|
||||
"Import": "インポート",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "ランディングページ",
|
||||
"Embed Form": "埋め込みフォーム",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "フォーム",
|
||||
"Automation": "自動化",
|
||||
"Newest Signups First": "最近のサインアップが最初に",
|
||||
"Oldest Signups First": "最も古いサインアップが最初です",
|
||||
"Recently Changed First": "最近変更したものを先頭に",
|
||||
"All Types": "すべてのタイプ",
|
||||
"Facebook Form": "Facebookフォーム",
|
||||
"Mobile Form": "モバイルフォーム",
|
||||
"Popup Form": "ポップアップフォーム",
|
||||
"All Forms/Landing Pages": "すべてのフォーム/ランディングページ",
|
||||
"Specific Form/Landing Page": "特定のフォーム/着陸ページ"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove is een platform voor het maken en beheren van uw e-maillijst en het verzenden van e-mails naar uw abonnees.",
|
||||
"Add or Update Subscriber": "Voeg of update abonnee toe",
|
||||
"Create a List": "Lijst aanmaken",
|
||||
"Find Subscriber": "Abonnee zoeken",
|
||||
"Unsubscribe Subscriber": "Abonnee afmelden",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Abonnee gegevens aanmaken of bijwerken en abonneren op lijsten",
|
||||
"Create a new mailing list with custom settings and descriptions": "Maak een nieuwe mailing lijst met aangepaste instellingen en beschrijvingen",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Zoeken naar abonnees met unieke id's (ID, e-mail, telefoon, externe ID) of naam",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Een contactpersoon uit alle lijsten opzeggen en verplaatsen naar de \"Uitgeschrijven\" lijst",
|
||||
"Email Address": "Uw e-mailadres",
|
||||
"First Name": "Voornaam",
|
||||
"Last Name": "Achternaam",
|
||||
"Date of Birth": "Geboortedatum",
|
||||
"Phone Number": "Telefoon nummer",
|
||||
"Cell Phone": "Mobiele telefoon",
|
||||
"Address": "Adres:",
|
||||
"City": "Woonplaats",
|
||||
"Country": "Land:",
|
||||
"Company": "Bedrijfsnaam",
|
||||
"Position": "Positie",
|
||||
"External ID": "Extern ID",
|
||||
"Campaign Source": "Bron campagne",
|
||||
"Can Receive Emails": "Kan e-mails ontvangen",
|
||||
"Can Receive SMS": "Kan SMS ontvangen",
|
||||
"Lists": "Lijsten",
|
||||
"Custom Fields": "Aangepaste velden",
|
||||
"Operation": "Bewerking",
|
||||
"List Name": "Lijst Naam",
|
||||
"Description": "Beschrijving",
|
||||
"Public Name": "Openbare naam",
|
||||
"Public Description": "Openbare beschrijving",
|
||||
"Is Public": "Is openbaar",
|
||||
"Allow Users to Subscribe": "Gebruikers toestaan zich te abonneren",
|
||||
"Allow Users to Unsubscribe": "Sta gebruikers toe om uit te schrijven",
|
||||
"Is Portal": "Is Portaal",
|
||||
"Search Type": "Type zoeken",
|
||||
"Contact ID": "Contact ID",
|
||||
"Fields to Return": "Velden om te retourneren",
|
||||
"Include Custom Fields": "Inclusief aangepaste velden",
|
||||
"Include Linked Lists": "Inclusief gekoppelde lijsten",
|
||||
"Skip Records": "Records overslaan",
|
||||
"Max Records": "Max Records",
|
||||
"Sort By": "Sorteren op",
|
||||
"Contact": "Contactpersoon",
|
||||
"Unsubscribe Reason": "Reden van opzeggen",
|
||||
"Select an existing contact email or type a new one": "Selecteer een bestaand contact e-mailadres of typ een nieuw e-mailadres",
|
||||
"The first name of the contact": "De voornaam van het contact",
|
||||
"The last name of the contact": "De achternaam van de contactpersoon",
|
||||
"The date of birth of the contact": "De geboortedatum van het contact",
|
||||
"The primary phone number of the contact": "Het primaire telefoonnummer van de contactpersoon",
|
||||
"The cell phone number of the contact": "Het mobiele telefoonnummer van de contactpersoon",
|
||||
"The street address of the contact": "Het adres van de contactpersoon",
|
||||
"The city of the contact": "De stad van het contact",
|
||||
"The country of the contact": "Het land van de contactpersoon",
|
||||
"The company name of the contact": "De bedrijfsnaam van de contactpersoon",
|
||||
"The job title or position of the contact": "De job titel of positie van de contactpersoon",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "Externe identificatie voor de contactpersoon (handig voor synchronisatie met andere systemen)",
|
||||
"The campaign source that brought this contact": "De campagne bron die dit contact bracht",
|
||||
"Whether the contact can receive email communications": "Of de contactpersoon e-mail communicatie kan ontvangen",
|
||||
"Whether the contact can receive SMS messages": "Of de contactpersoon SMS-berichten kan ontvangen",
|
||||
"Select lists to subscribe the contact to": "Selecteer lijsten om de contactpersoon op te abonneren",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Gegevens aangepaste velden (JSON object met veld IDs als sleutels)",
|
||||
"Choose the contact operation type": "Kies het type contact",
|
||||
"The name of the list to be created": "De naam van de lijst die aangemaakt moet worden",
|
||||
"Internal description of the list for your reference": "Interne beschrijving van de lijst voor uw referentie",
|
||||
"The public-facing name of the list visible to subscribers": "De publieke naam van de lijst zichtbaar voor abonnees",
|
||||
"Public description of the list visible to subscribers": "Openbare beschrijving van de lijst zichtbaar voor abonnees",
|
||||
"Make this list publicly visible": "Maak deze lijst publiekelijk zichtbaar",
|
||||
"Allow users to subscribe to this list themselves": "Sta gebruikers toe om zich op deze lijst te abonneren",
|
||||
"Allow users to unsubscribe from this list themselves": "Sta gebruikers toe om zich uit te schrijven voor deze lijst",
|
||||
"Enable portal access for this list": "Schakel portal toegang in voor deze lijst",
|
||||
"Choose how to search for subscribers": "Kies hoe u wilt zoeken voor abonnees",
|
||||
"The unique ID of the contact": "Het unieke ID van de contactpersoon",
|
||||
"The email address of the contact": "Het e-mailadres van de contactpersoon",
|
||||
"The phone number of the contact (cellphone)": "Het telefoonnummer van de contactpersoon (mobiel)",
|
||||
"The external ID of the contact": "De externe ID van de contactpersoon",
|
||||
"Search by first name": "Zoek op voornaam",
|
||||
"Search by last name": "Zoek op achternaam",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Kommagescheiden lijst van velden om terug te keren (bijv. id,email,firstName,lastName). Laat leeg voor alle velden.",
|
||||
"Include custom fields in the response": "Inclusief aangepaste velden in het antwoord",
|
||||
"Include linked lists in the response": "Inclusief gekoppelde lijsten in het antwoord",
|
||||
"Number of records to skip (for pagination, default: 0)": "Aantal records om over te slaan (voor pagina, standaard: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Maximum aantal terug te sturen records (standaard: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Sorteer de resultaten op een specifiek veld",
|
||||
"Select the contact to unsubscribe": "Selecteer contactpersoon om uit te schrijven",
|
||||
"Reason for unsubscribing the contact": "Reden voor uitschrijving van de contactpersoon",
|
||||
"Create Only": "Alleen maken",
|
||||
"Create or Update if Exists": "Aanmaken of bijwerken als Bestaat",
|
||||
"Restore if Deleted": "Herstellen als verwijderd",
|
||||
"Restore if Unsubscribed": "Herstellen als uitgeschreven",
|
||||
"Override Nullable Values": "Nulbare waarden overschrijven",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "Op Id (ID, E-mail, telefoon, externe ID)",
|
||||
"By Name (First Name, Last Name)": "Op naam (voornaam, achternaam)",
|
||||
"All Active Contacts (with pagination)": "Alle actieve contacten (met pagina)",
|
||||
"ID (Newest First)": "ID (Nieuwste eerst)",
|
||||
"ID (Oldest First)": "ID (oudste eerst)",
|
||||
"Email (A-Z)": "E-mail (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "Voornaam (A-Z)",
|
||||
"First Name (Z-A)": "Voornaam (Z-A)",
|
||||
"Last Changed (Newest)": "Laatst gewijzigd (nieuwste)",
|
||||
"Last Changed (Oldest)": "Laatst gewijzigd (oudste)",
|
||||
"Signup Date (Newest)": "Inschrijvingsdatum (nieuwste)",
|
||||
"Signup Date (Oldest)": "Inschrijvingsdatum (oudste)",
|
||||
"New List Created": "Nieuwe Lijst Aangemaakt",
|
||||
"New Subscriber": "Nieuwe abonnee",
|
||||
"New Form Created": "Nieuw formulier aangemaakt",
|
||||
"New Lead Submitted": "Nieuwe Lead verzonden",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Vuurt wanneer een nieuwe mailing lijst is gemaakt in uw Smoove account",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Vuurt wanneer een nieuwe abonnee is toegevoegd aan uw Smoove account",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Vuurt wanneer een nieuwe formulier/landing pagina wordt gemaakt in uw Smoove account",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Schiet wanneer een lead verzendt via formulier, popup of mobiele campagne",
|
||||
"Fields to Include": "Velden om op te nemen",
|
||||
"Sort Order": "Sorteren bestelling",
|
||||
"Max Lists to Monitor": "Maximaal aantal lijsten te monitoren",
|
||||
"Join Source Filter": "Samenvoegen bronfilter",
|
||||
"Max Items to Check": "Max items om te controleren",
|
||||
"Form Type Filter": "Formulier type filter",
|
||||
"Monitoring Mode": "Bewaking Mode",
|
||||
"LandingPage/Form ID": "LandingPagina/Formulier ID",
|
||||
"Include Full Contact Details": "Inclusief volledige contactgegevens",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Kommagescheiden lijst van velden op te nemen (bijv. id,naam,beschrijving, contactsCount). Laat leeg voor alle velden.",
|
||||
"How to sort the lists for monitoring": "Hoe de monitoringslijsten te sorteren",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Maximum aantal lijsten te controleren op nieuwe toevoegingen (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Kommagescheiden velden op te nemen (bijv., id,email,firstName,lastNaam,timestampSignup). Laat leeg voor standaard velden.",
|
||||
"Include custom field data in subscriber information": "Voeg aangepaste veldgegevens toe aan ontvangersgegevens",
|
||||
"Include list associations in subscriber information": "Lijstassociaties opnemen in ontvangersinformatie",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filter abonnees op hoe ze zijn toegetreden (verlaat als \"Alle\" om alle bronnen te controleren)",
|
||||
"How to sort contacts for monitoring new subscribers": "Hoe contacten sorteren voor het monitoren van nieuwe abonnees",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Maximum aantal contactpersonen om te controleren op nieuwe abonnees (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filter op specifieke formuliertype, of selecteer \"Alle\" om alle formuliertypes te controleren",
|
||||
"Choose whether to monitor all forms or a specific form": "Kies of alle formulieren moeten worden gevolgd of een specifiek formulier",
|
||||
"Select the andingPage/Form ": "Selecteer de andingPage/Formulier ",
|
||||
"Include custom field data in the lead submission": "Voeg aangepaste veldgegevens toe aan de lead uitwerking",
|
||||
"Include complete contact information in the submission data": "Volledige contactinformatie opnemen in de uitwerking",
|
||||
"Newest First (by ID)": "Nieuwste eerst (op ID)",
|
||||
"Oldest First (by ID)": "Oudste eerst (op ID)",
|
||||
"Name (A-Z)": "Naam (A-Z)",
|
||||
"Name (Z-A)": "Naam (Z-A)",
|
||||
"All Sources": "Alle bronnen",
|
||||
"Unknown": "Onbekend",
|
||||
"Manual Entry": "Handmatige invoer",
|
||||
"Import": "Importeer",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Landingspagina",
|
||||
"Embed Form": "Formulier insluiten",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "sms",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Vorm",
|
||||
"Automation": "Automatisering",
|
||||
"Newest Signups First": "Nieuwste inschrijvingen eerst",
|
||||
"Oldest Signups First": "Oudste aanmeldingen eerst",
|
||||
"Recently Changed First": "Recent gewijzigd eerst",
|
||||
"All Types": "Alle typen",
|
||||
"Facebook Form": "Facebook Formulier",
|
||||
"Mobile Form": "Mobiel formulier",
|
||||
"Popup Form": "Pop-up formulier",
|
||||
"All Forms/Landing Pages": "Alle Formulieren/Landing pagina's",
|
||||
"Specific Form/Landing Page": "Specifieke formulier/landingspagina"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove é uma plataforma para criar e gerenciar sua lista de e-mails e enviar e-mails para seus inscritos.",
|
||||
"Add or Update Subscriber": "Adicionar ou Atualizar Assinante",
|
||||
"Create a List": "Criar uma lista",
|
||||
"Find Subscriber": "Encontrar Assinante",
|
||||
"Unsubscribe Subscriber": "Cancelar Assinatura",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Criar ou atualizar dados de assinantes e inscrever/cancelar inscrição em listas",
|
||||
"Create a new mailing list with custom settings and descriptions": "Crie uma nova lista de e-mails com configurações e descrições personalizadas",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Busca de membros por identificadores únicos (ID, e-mail, telefone, ID externo) ou nome",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Desinscrever um contato de todas as listas e movê-los para a lista \"Desinscrever-se\"",
|
||||
"Email Address": "Endereço de e-mail",
|
||||
"First Name": "Nome",
|
||||
"Last Name": "Sobrenome",
|
||||
"Date of Birth": "Data de nascimento",
|
||||
"Phone Number": "Número de telefone",
|
||||
"Cell Phone": "Telefone Celular",
|
||||
"Address": "Endereço",
|
||||
"City": "cidade",
|
||||
"Country": "País/região",
|
||||
"Company": "Empresas",
|
||||
"Position": "Posição",
|
||||
"External ID": "ID Externo",
|
||||
"Campaign Source": "Fonte da Campanha",
|
||||
"Can Receive Emails": "Pode Receber E-mails",
|
||||
"Can Receive SMS": "Pode receber SMS",
|
||||
"Lists": "Listas",
|
||||
"Custom Fields": "Campos Personalizados",
|
||||
"Operation": "Operação",
|
||||
"List Name": "Lista de nomes",
|
||||
"Description": "Descrição",
|
||||
"Public Name": "Nome Público",
|
||||
"Public Description": "Descrição pública",
|
||||
"Is Public": "É Público",
|
||||
"Allow Users to Subscribe": "Permitir que os usuários se inscrevam",
|
||||
"Allow Users to Unsubscribe": "Permitir que Usuários Desinscrevam",
|
||||
"Is Portal": "É Portal",
|
||||
"Search Type": "Pesquisar Tipo",
|
||||
"Contact ID": "ID do contato",
|
||||
"Fields to Return": "Campos para Devolver",
|
||||
"Include Custom Fields": "Incluir Campos Personalizados",
|
||||
"Include Linked Lists": "Incluir Listas Vinculadas",
|
||||
"Skip Records": "Ignorar registros",
|
||||
"Max Records": "Registros Máx.",
|
||||
"Sort By": "Classificar por",
|
||||
"Contact": "contato",
|
||||
"Unsubscribe Reason": "Razão para descadastrar",
|
||||
"Select an existing contact email or type a new one": "Selecione um email de contato existente ou digite um novo",
|
||||
"The first name of the contact": "O primeiro nome do contato",
|
||||
"The last name of the contact": "O último nome do contato",
|
||||
"The date of birth of the contact": "A data de nascimento do contato",
|
||||
"The primary phone number of the contact": "O telefone principal do contato",
|
||||
"The cell phone number of the contact": "O número do telefone celular do contato",
|
||||
"The street address of the contact": "O endereço da rua do contato",
|
||||
"The city of the contact": "A cidade do contato",
|
||||
"The country of the contact": "O país do contato",
|
||||
"The company name of the contact": "O nome da empresa do contato",
|
||||
"The job title or position of the contact": "O título do trabalho ou a posição do contato",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "Identificador externo para o contato (útil para sincronização com outros sistemas)",
|
||||
"The campaign source that brought this contact": "A fonte da campanha que trouxe este contato",
|
||||
"Whether the contact can receive email communications": "Se o contato pode receber comunicações por e-mail",
|
||||
"Whether the contact can receive SMS messages": "Se o contato pode receber mensagens SMS",
|
||||
"Select lists to subscribe the contact to": "Selecione listas para assinar o contato para",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Dados de campos personalizados (JSON com IDs de campo como chaves)",
|
||||
"Choose the contact operation type": "Escolha o tipo de operação de contato",
|
||||
"The name of the list to be created": "O nome da lista a ser criada",
|
||||
"Internal description of the list for your reference": "Descrição interna da lista para sua referência",
|
||||
"The public-facing name of the list visible to subscribers": "O nome público da lista visível para os membros",
|
||||
"Public description of the list visible to subscribers": "Descrição pública da lista visível para os assinantes",
|
||||
"Make this list publicly visible": "Tornar esta lista publicamente visível",
|
||||
"Allow users to subscribe to this list themselves": "Permitir que os usuários se inscrevam nesta lista",
|
||||
"Allow users to unsubscribe from this list themselves": "Permitir que os usuários cancelem a inscrição desta lista",
|
||||
"Enable portal access for this list": "Habilitar acesso do portal para esta lista",
|
||||
"Choose how to search for subscribers": "Escolha como procurar por assinantes",
|
||||
"The unique ID of the contact": "A ID única do contato",
|
||||
"The email address of the contact": "O endereço de e-mail do contato",
|
||||
"The phone number of the contact (cellphone)": "O número de telefone do contato (celular)",
|
||||
"The external ID of the contact": "O ID externo do contato",
|
||||
"Search by first name": "Pesquisar pelo primeiro nome",
|
||||
"Search by last name": "Pesquisar por sobrenome",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Lista de campos separados por vírgula a retornar (por exemplo, id,email,firstName,lastName). Deixe em branco para todos os campos.",
|
||||
"Include custom fields in the response": "Incluir campos personalizados na resposta",
|
||||
"Include linked lists in the response": "Incluir listas de links na resposta",
|
||||
"Number of records to skip (for pagination, default: 0)": "Número de registros a ignorar (para paginação, padrão: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Número máximo de registros a retornar (padrão: 100, máx: 100)",
|
||||
"Sort the results by a specific field": "Ordenar os resultados por um campo específico",
|
||||
"Select the contact to unsubscribe": "Selecione o contato para cancelar a inscrição",
|
||||
"Reason for unsubscribing the contact": "Razão para cancelar a inscrição do contato",
|
||||
"Create Only": "Criar Apenas",
|
||||
"Create or Update if Exists": "Criar ou Atualizar se existir",
|
||||
"Restore if Deleted": "Restaurar se excluído",
|
||||
"Restore if Unsubscribed": "Restaurar se não inscrito",
|
||||
"Override Nullable Values": "Sobrescrever valores anuláveis",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "Por identificador (ID, E-mail, Telefone, ID Externo)",
|
||||
"By Name (First Name, Last Name)": "Por Nome (Primeiro Nome, Sobrenome)",
|
||||
"All Active Contacts (with pagination)": "Todos os Contatos Ativos (com paginação)",
|
||||
"ID (Newest First)": "ID (mais recente primeiro)",
|
||||
"ID (Oldest First)": "ID mais antigo",
|
||||
"Email (A-Z)": "E-mail (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "Primeiro Nome (A-Z)",
|
||||
"First Name (Z-A)": "Primeiro nome (Z-A)",
|
||||
"Last Changed (Newest)": "Última alteração (mais recente)",
|
||||
"Last Changed (Oldest)": "Última alteração (mais antigo)",
|
||||
"Signup Date (Newest)": "Data da Inscrição (Mais recente)",
|
||||
"Signup Date (Oldest)": "Data da Inscrição (mais antigo)",
|
||||
"New List Created": "Nova Lista Criada",
|
||||
"New Subscriber": "Novo Assinante",
|
||||
"New Form Created": "Novo formulário criado",
|
||||
"New Lead Submitted": "Novo Potencial Enviado",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Efetua quando uma nova lista de discussão é criada em sua conta Smoove",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Efetua quando um novo assinante é adicionado à sua conta do Smoove",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Efetua quando um novo formulário/página inicial é criado em sua conta Smoove",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Atira quando uma chumbo é enviado via formulário, pop-up ou campanha móvel",
|
||||
"Fields to Include": "Campos a incluir",
|
||||
"Sort Order": "Ordem de classificação",
|
||||
"Max Lists to Monitor": "Limite de Listas para Monitorar",
|
||||
"Join Source Filter": "Filtro de Fonte",
|
||||
"Max Items to Check": "Máximo de itens para verificar",
|
||||
"Form Type Filter": "Filtro Tipo de Formulário",
|
||||
"Monitoring Mode": "Modo de Monitoramento",
|
||||
"LandingPage/Form ID": "ID do formulário/LandingPage",
|
||||
"Include Full Contact Details": "Incluir detalhes completos do contato",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Lista de campos separados por vírgula a incluir (por exemplo, id,nome, descrição, contato). Deixe em branco para todos os campos.",
|
||||
"How to sort the lists for monitoring": "Como ordenar as listas para monitoramento",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Número máximo de listas de verificação para novas adições (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Campos separados por vírgula para incluir (por exemplo, id,email,firstName,lastName,timestampSignup). Deixe em branco para campos padrão.",
|
||||
"Include custom field data in subscriber information": "Incluir dados do campo personalizado nas informações do assinante",
|
||||
"Include list associations in subscriber information": "Incluir associações da lista nas informações dos assinantes",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filtrar assinantes por como eles entraram (deixe como \"Todos\" para monitorar todas as fontes)",
|
||||
"How to sort contacts for monitoring new subscribers": "Como classificar contatos para monitorar novos assinantes",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Número máximo de contatos para verificar se há novos assinantes (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filtrar por tipo específico de formulário, ou selecione \"Todos\" para monitorar todos os tipos de formulário",
|
||||
"Choose whether to monitor all forms or a specific form": "Escolher se deseja monitorar todos os formulários ou um formulário específico",
|
||||
"Select the andingPage/Form ": "Selecione o andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Incluir dados de campos personalizados no envio do Lead",
|
||||
"Include complete contact information in the submission data": "Incluir informações completas do contato nos dados do envio",
|
||||
"Newest First (by ID)": "Mais recentes primeiro (por ID)",
|
||||
"Oldest First (by ID)": "Mais antigos primeiro (por ID)",
|
||||
"Name (A-Z)": "Nome (A-Z)",
|
||||
"Name (Z-A)": "Nome (Z-A)",
|
||||
"All Sources": "Todas as Fontes",
|
||||
"Unknown": "Desconhecido",
|
||||
"Manual Entry": "Inserir Manualmente",
|
||||
"Import": "Importar",
|
||||
"Facebook": "Siga-nos",
|
||||
"API": "API",
|
||||
"Landing Page": "Página inicial",
|
||||
"Embed Form": "Formulário de Incorporação",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Formulário",
|
||||
"Automation": "Automatização",
|
||||
"Newest Signups First": "Inscrições mais recentes primeiro",
|
||||
"Oldest Signups First": "Inscrições mais antigas primeiro",
|
||||
"Recently Changed First": "Recentemente modificados primeiro",
|
||||
"All Types": "Todos os tipos",
|
||||
"Facebook Form": "Formulário Facebook",
|
||||
"Mobile Form": "Formulário Móvel",
|
||||
"Popup Form": "Formulário Popup",
|
||||
"All Forms/Landing Pages": "Todas as páginas de destino",
|
||||
"Specific Form/Landing Page": "Formulário Específico/Página inicial"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Smoove": "Сглаживание",
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove - это платформа для создания и управления вашим списком электронной почты и отправки писем вашим подписчикам.",
|
||||
"Add or Update Subscriber": "Добавить или обновить подписчика",
|
||||
"Create a List": "Создать список",
|
||||
"Find Subscriber": "Найти подписчика",
|
||||
"Unsubscribe Subscriber": "Отписать подписчика",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Создание или обновление данных абонентов и подписка/отписка от рассылки",
|
||||
"Create a new mailing list with custom settings and descriptions": "Создать новый список рассылки с пользовательскими настройками и описаниями",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Поиск подписчиков по уникальным идентификаторам (ID, email, телефон, внешний ID) или имени",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Отписаться от контакта из всех списков и переместить его в список «Отписаться»",
|
||||
"Email Address": "Email Address",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Date of Birth": "Дата рождения",
|
||||
"Phone Number": "Номер телефона",
|
||||
"Cell Phone": "Мобильный телефон",
|
||||
"Address": "Адрес",
|
||||
"City": "Город",
|
||||
"Country": "Страна",
|
||||
"Company": "Компания",
|
||||
"Position": "Позиция",
|
||||
"External ID": "Внешний ID",
|
||||
"Campaign Source": "Источник Кампании",
|
||||
"Can Receive Emails": "Может получать письма",
|
||||
"Can Receive SMS": "Можно получать СМС",
|
||||
"Lists": "Списки",
|
||||
"Custom Fields": "Пользовательские поля",
|
||||
"Operation": "Операция",
|
||||
"List Name": "Название списка",
|
||||
"Description": "Описание",
|
||||
"Public Name": "Публичное имя",
|
||||
"Public Description": "Публичное описание",
|
||||
"Is Public": "Публичный",
|
||||
"Allow Users to Subscribe": "Разрешить пользователям подписываться",
|
||||
"Allow Users to Unsubscribe": "Разрешить пользователям отписываться",
|
||||
"Is Portal": "Портал",
|
||||
"Search Type": "Тип поиска",
|
||||
"Contact ID": "ID контакта",
|
||||
"Fields to Return": "Поля для возврата",
|
||||
"Include Custom Fields": "Включить пользовательские поля",
|
||||
"Include Linked Lists": "Включить список связанных списков",
|
||||
"Skip Records": "Пропустить записи",
|
||||
"Max Records": "Макс. записей",
|
||||
"Sort By": "Сортировать по",
|
||||
"Contact": "Контакт",
|
||||
"Unsubscribe Reason": "Причина отказа от подписки",
|
||||
"Select an existing contact email or type a new one": "Выберите существующий контактный адрес или введите новый",
|
||||
"The first name of the contact": "Имя контакта",
|
||||
"The last name of the contact": "Фамилия контакта",
|
||||
"The date of birth of the contact": "Дата рождения контакта",
|
||||
"The primary phone number of the contact": "Основной номер телефона контакта",
|
||||
"The cell phone number of the contact": "Номер сотового телефона контакта",
|
||||
"The street address of the contact": "Адрес контакта",
|
||||
"The city of the contact": "Город контакта",
|
||||
"The country of the contact": "Страна контакта",
|
||||
"The company name of the contact": "Название компании контакта",
|
||||
"The job title or position of the contact": "Должность или должность контакта",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "Внешний идентификатор контакта (полезен для синхронизации с другими системами)",
|
||||
"The campaign source that brought this contact": "Источник кампании, который привел этот контакт",
|
||||
"Whether the contact can receive email communications": "Может ли контакт получать сообщения по электронной почте",
|
||||
"Whether the contact can receive SMS messages": "Может ли контакт получать SMS-сообщения",
|
||||
"Select lists to subscribe the contact to": "Выберите списки для подписки на контакт",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Данные пользовательских полей (JSON объект с ID полей в качестве ключей)",
|
||||
"Choose the contact operation type": "Выберите тип контактной операции",
|
||||
"The name of the list to be created": "Название создаваемого списка",
|
||||
"Internal description of the list for your reference": "Внутреннее описание списка для вашей ссылки",
|
||||
"The public-facing name of the list visible to subscribers": "Название списка, видимое подписчикам",
|
||||
"Public description of the list visible to subscribers": "Публичное описание списка, видимое подписчикам",
|
||||
"Make this list publicly visible": "Сделать этот список публично видимым",
|
||||
"Allow users to subscribe to this list themselves": "Разрешить пользователям подписываться на этот список самостоятельно",
|
||||
"Allow users to unsubscribe from this list themselves": "Разрешить пользователям отписаться от этого списка самостоятельно",
|
||||
"Enable portal access for this list": "Включить доступ к порталу для этого списка",
|
||||
"Choose how to search for subscribers": "Выберите способ поиска подписчиков",
|
||||
"The unique ID of the contact": "Уникальный ID контакта",
|
||||
"The email address of the contact": "Адрес электронной почты контакта",
|
||||
"The phone number of the contact (cellphone)": "Номер телефона контакта (сотовый телефон)",
|
||||
"The external ID of the contact": "Внешний ID контакта",
|
||||
"Search by first name": "Поиск по имени",
|
||||
"Search by last name": "Поиск по фамилии",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Список полей, разделенных запятыми (например, id,email,имя,фамилия). Оставьте пустым для всех полей.",
|
||||
"Include custom fields in the response": "Включить настраиваемые поля в ответ",
|
||||
"Include linked lists in the response": "Включить связанные списки в ответ",
|
||||
"Number of records to skip (for pagination, default: 0)": "Количество пропущенных записей (для пагинации, по умолчанию: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Максимальное количество возвращаемых записей (по умолчанию: 100, макс: 100)",
|
||||
"Sort the results by a specific field": "Сортировать результаты по заданному полю",
|
||||
"Select the contact to unsubscribe": "Выберите контакт, чтобы отписаться",
|
||||
"Reason for unsubscribing the contact": "Причина отказа от подписки на контакт",
|
||||
"Create Only": "Создать только",
|
||||
"Create or Update if Exists": "Создать или обновить, если существует",
|
||||
"Restore if Deleted": "Восстановить при удалении",
|
||||
"Restore if Unsubscribed": "Восстановить при отписке",
|
||||
"Override Nullable Values": "Переопределить Nullable значения",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "По идентификатору (ID, E-mail, телефону, внешнему ID)",
|
||||
"By Name (First Name, Last Name)": "По имени (Имя, Фамилия)",
|
||||
"All Active Contacts (with pagination)": "Все активные контакты (с нумерацией)",
|
||||
"ID (Newest First)": "ID (сначала новые)",
|
||||
"ID (Oldest First)": "ID (Старые первые)",
|
||||
"Email (A-Z)": "Email (А-Я)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "First Name (А-Я)",
|
||||
"First Name (Z-A)": "First Name (Я-А)",
|
||||
"Last Changed (Newest)": "Последнее изменение (новый)",
|
||||
"Last Changed (Oldest)": "Последнее изменение (Отмена)",
|
||||
"Signup Date (Newest)": "Дата регистрации (новый)",
|
||||
"Signup Date (Oldest)": "Дата регистрации (должность)",
|
||||
"New List Created": "Новый список создан",
|
||||
"New Subscriber": "Новый подписчик",
|
||||
"New Form Created": "Новая форма создана",
|
||||
"New Lead Submitted": "Новый предв. контакт отправлен",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Выполняет создание нового списка рассылки в вашей учетной записи Smoove",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Показывает при добавлении нового абонента на ваш счет Smoove",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Выводит при создании новой формы/целевой страницы в вашем аккаунте Smoove",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Возникает при отправке свинца через всплывающее окно или мобильную кампанию",
|
||||
"Fields to Include": "Поля для включения",
|
||||
"Sort Order": "Порядок сортировки",
|
||||
"Max Lists to Monitor": "Максимум списков для монитора",
|
||||
"Join Source Filter": "Фильтр соединения с исходным кодом",
|
||||
"Max Items to Check": "Максимум элементов для проверки",
|
||||
"Form Type Filter": "Фильтр типа формы",
|
||||
"Monitoring Mode": "Режим наблюдения",
|
||||
"LandingPage/Form ID": "ID посадочной страницы/формы",
|
||||
"Include Full Contact Details": "Включить полную контактную информацию",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Список полей, разделенных запятыми (например, id,name,description,contactsCount). Оставьте пустым для всех полей.",
|
||||
"How to sort the lists for monitoring": "Как сортировать списки для наблюдения",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Максимальное количество списков для проверки новых дополнений (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Поля, разделенные запятыми для включения (например, id,email,Имя,Имя,Имя и Метка времени). Оставьте пустым для полей по умолчанию.",
|
||||
"Include custom field data in subscriber information": "Включить данные настраиваемого поля в информацию о подписке",
|
||||
"Include list associations in subscriber information": "Включить в информацию о подписчиках список ассоциаций",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Фильтровать подписчиков по их вступлению (оставьте как \"Все\" для мониторинга всех источников)",
|
||||
"How to sort contacts for monitoring new subscribers": "Как сортировать контакты для мониторинга новых абонентов",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Максимальное количество контактов для проверки для новых подписчиков (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Фильтр по заданному типу формы или выберите \"Все\" для мониторинга всех типов форм",
|
||||
"Choose whether to monitor all forms or a specific form": "Выберите, отслеживать ли все формы или конкретную форму",
|
||||
"Select the andingPage/Form ": "Выберите andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Включить данные настраиваемого поля в сданные свинца",
|
||||
"Include complete contact information in the submission data": "Включить полную контактную информацию в данные о подаче",
|
||||
"Newest First (by ID)": "Сначала новые (по ID)",
|
||||
"Oldest First (by ID)": "Сначала старые (по ID)",
|
||||
"Name (A-Z)": "Имя (А-Я)",
|
||||
"Name (Z-A)": "Имя (Я-А)",
|
||||
"All Sources": "Все источники",
|
||||
"Unknown": "Неизвестен",
|
||||
"Manual Entry": "Ввод вручную",
|
||||
"Import": "Import",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Целевая страница",
|
||||
"Embed Form": "Форма вставки",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "СМС",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Форма",
|
||||
"Automation": "Автоматизация",
|
||||
"Newest Signups First": "Сначала новые регистрации",
|
||||
"Oldest Signups First": "Сначала старые регистрации",
|
||||
"Recently Changed First": "Недавно измененные первыми",
|
||||
"All Types": "Все типы",
|
||||
"Facebook Form": "Форма Facebook",
|
||||
"Mobile Form": "Мобильная форма",
|
||||
"Popup Form": "Всплывающая форма",
|
||||
"All Forms/Landing Pages": "Все формы/целевые страницы",
|
||||
"Specific Form/Landing Page": "Конкретная форма/Целевая страница"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove is a platform for creating and managing your email list and sending emails to your subscribers.",
|
||||
"Add or Update Subscriber": "Add or Update Subscriber",
|
||||
"Create a List": "Create a List",
|
||||
"Find Subscriber": "Find Subscriber",
|
||||
"Unsubscribe Subscriber": "Unsubscribe Subscriber",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Create or update subscriber data, and subscribe/unsubscribe from lists",
|
||||
"Create a new mailing list with custom settings and descriptions": "Create a new mailing list with custom settings and descriptions",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Search for subscribers by unique identifiers (ID, email, phone, external ID) or name",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list",
|
||||
"Email Address": "Email Address",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Date of Birth": "Date of Birth",
|
||||
"Phone Number": "Phone Number",
|
||||
"Cell Phone": "Cell Phone",
|
||||
"Address": "Address",
|
||||
"City": "City",
|
||||
"Country": "Country",
|
||||
"Company": "Company",
|
||||
"Position": "Position",
|
||||
"External ID": "External ID",
|
||||
"Campaign Source": "Campaign Source",
|
||||
"Can Receive Emails": "Can Receive Emails",
|
||||
"Can Receive SMS": "Can Receive SMS",
|
||||
"Lists": "Lists",
|
||||
"Custom Fields": "Custom Fields",
|
||||
"Operation": "Operation",
|
||||
"List Name": "List Name",
|
||||
"Description": "Description",
|
||||
"Public Name": "Public Name",
|
||||
"Public Description": "Public Description",
|
||||
"Is Public": "Is Public",
|
||||
"Allow Users to Subscribe": "Allow Users to Subscribe",
|
||||
"Allow Users to Unsubscribe": "Allow Users to Unsubscribe",
|
||||
"Is Portal": "Is Portal",
|
||||
"Search Type": "Search Type",
|
||||
"Contact ID": "Contact ID",
|
||||
"Fields to Return": "Fields to Return",
|
||||
"Include Custom Fields": "Include Custom Fields",
|
||||
"Include Linked Lists": "Include Linked Lists",
|
||||
"Skip Records": "Skip Records",
|
||||
"Max Records": "Max Records",
|
||||
"Sort By": "Sort By",
|
||||
"Contact": "Contact",
|
||||
"Unsubscribe Reason": "Unsubscribe Reason",
|
||||
"Select an existing contact email or type a new one": "Select an existing contact email or type a new one",
|
||||
"The first name of the contact": "The first name of the contact",
|
||||
"The last name of the contact": "The last name of the contact",
|
||||
"The date of birth of the contact": "The date of birth of the contact",
|
||||
"The primary phone number of the contact": "The primary phone number of the contact",
|
||||
"The cell phone number of the contact": "The cell phone number of the contact",
|
||||
"The street address of the contact": "The street address of the contact",
|
||||
"The city of the contact": "The city of the contact",
|
||||
"The country of the contact": "The country of the contact",
|
||||
"The company name of the contact": "The company name of the contact",
|
||||
"The job title or position of the contact": "The job title or position of the contact",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "External identifier for the contact (useful for syncing with other systems)",
|
||||
"The campaign source that brought this contact": "The campaign source that brought this contact",
|
||||
"Whether the contact can receive email communications": "Whether the contact can receive email communications",
|
||||
"Whether the contact can receive SMS messages": "Whether the contact can receive SMS messages",
|
||||
"Select lists to subscribe the contact to": "Select lists to subscribe the contact to",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Custom fields data (JSON object with field IDs as keys)",
|
||||
"Choose the contact operation type": "Choose the contact operation type",
|
||||
"The name of the list to be created": "The name of the list to be created",
|
||||
"Internal description of the list for your reference": "Internal description of the list for your reference",
|
||||
"The public-facing name of the list visible to subscribers": "The public-facing name of the list visible to subscribers",
|
||||
"Public description of the list visible to subscribers": "Public description of the list visible to subscribers",
|
||||
"Make this list publicly visible": "Make this list publicly visible",
|
||||
"Allow users to subscribe to this list themselves": "Allow users to subscribe to this list themselves",
|
||||
"Allow users to unsubscribe from this list themselves": "Allow users to unsubscribe from this list themselves",
|
||||
"Enable portal access for this list": "Enable portal access for this list",
|
||||
"Choose how to search for subscribers": "Choose how to search for subscribers",
|
||||
"The unique ID of the contact": "The unique ID of the contact",
|
||||
"The email address of the contact": "The email address of the contact",
|
||||
"The phone number of the contact (cellphone)": "The phone number of the contact (cellphone)",
|
||||
"The external ID of the contact": "The external ID of the contact",
|
||||
"Search by first name": "Search by first name",
|
||||
"Search by last name": "Search by last name",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.",
|
||||
"Include custom fields in the response": "Include custom fields in the response",
|
||||
"Include linked lists in the response": "Include linked lists in the response",
|
||||
"Number of records to skip (for pagination, default: 0)": "Number of records to skip (for pagination, default: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Maximum number of records to return (default: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Sort the results by a specific field",
|
||||
"Select the contact to unsubscribe": "Select the contact to unsubscribe",
|
||||
"Reason for unsubscribing the contact": "Reason for unsubscribing the contact",
|
||||
"Create Only": "Create Only",
|
||||
"Create or Update if Exists": "Create or Update if Exists",
|
||||
"Restore if Deleted": "Restore if Deleted",
|
||||
"Restore if Unsubscribed": "Restore if Unsubscribed",
|
||||
"Override Nullable Values": "Override Nullable Values",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "By Identifier (ID, Email, Phone, External ID)",
|
||||
"By Name (First Name, Last Name)": "By Name (First Name, Last Name)",
|
||||
"All Active Contacts (with pagination)": "All Active Contacts (with pagination)",
|
||||
"ID (Newest First)": "ID (Newest First)",
|
||||
"ID (Oldest First)": "ID (Oldest First)",
|
||||
"Email (A-Z)": "Email (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "First Name (A-Z)",
|
||||
"First Name (Z-A)": "First Name (Z-A)",
|
||||
"Last Changed (Newest)": "Last Changed (Newest)",
|
||||
"Last Changed (Oldest)": "Last Changed (Oldest)",
|
||||
"Signup Date (Newest)": "Signup Date (Newest)",
|
||||
"Signup Date (Oldest)": "Signup Date (Oldest)",
|
||||
"New List Created": "New List Created",
|
||||
"New Subscriber": "New Subscriber",
|
||||
"New Form Created": "New Form Created",
|
||||
"New Lead Submitted": "New Lead Submitted",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Fires when a new mailing list is created in your Smoove account",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Fires when a new subscriber is added to your Smoove account",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Fires when a new form/landing page is created in your Smoove account",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Fires when a lead submits via form, popup, or mobile campaign",
|
||||
"Fields to Include": "Fields to Include",
|
||||
"Sort Order": "Sort Order",
|
||||
"Max Lists to Monitor": "Max Lists to Monitor",
|
||||
"Join Source Filter": "Join Source Filter",
|
||||
"Max Items to Check": "Max Items to Check",
|
||||
"Form Type Filter": "Form Type Filter",
|
||||
"Monitoring Mode": "Monitoring Mode",
|
||||
"LandingPage/Form ID": "LandingPage/Form ID",
|
||||
"Include Full Contact Details": "Include Full Contact Details",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.",
|
||||
"How to sort the lists for monitoring": "How to sort the lists for monitoring",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Maximum number of lists to check for new additions (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.",
|
||||
"Include custom field data in subscriber information": "Include custom field data in subscriber information",
|
||||
"Include list associations in subscriber information": "Include list associations in subscriber information",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filter subscribers by how they joined (leave as \"All\" to monitor all sources)",
|
||||
"How to sort contacts for monitoring new subscribers": "How to sort contacts for monitoring new subscribers",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Maximum number of contacts to check for new subscribers (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filter by specific form type, or select \"All\" to monitor all form types",
|
||||
"Choose whether to monitor all forms or a specific form": "Choose whether to monitor all forms or a specific form",
|
||||
"Select the andingPage/Form ": "Select the andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Include custom field data in the lead submission",
|
||||
"Include complete contact information in the submission data": "Include complete contact information in the submission data",
|
||||
"Newest First (by ID)": "Newest First (by ID)",
|
||||
"Oldest First (by ID)": "Oldest First (by ID)",
|
||||
"Name (A-Z)": "Name (A-Z)",
|
||||
"Name (Z-A)": "Name (Z-A)",
|
||||
"All Sources": "All Sources",
|
||||
"Unknown": "Unknown",
|
||||
"Manual Entry": "Manual Entry",
|
||||
"Import": "Import",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Landing Page",
|
||||
"Embed Form": "Embed Form",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Form",
|
||||
"Automation": "Automation",
|
||||
"Newest Signups First": "Newest Signups First",
|
||||
"Oldest Signups First": "Oldest Signups First",
|
||||
"Recently Changed First": "Recently Changed First",
|
||||
"All Types": "All Types",
|
||||
"Facebook Form": "Facebook Form",
|
||||
"Mobile Form": "Mobile Form",
|
||||
"Popup Form": "Popup Form",
|
||||
"All Forms/Landing Pages": "All Forms/Landing Pages",
|
||||
"Specific Form/Landing Page": "Specific Form/Landing Page"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Smoove": "Smoove",
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove is a platform for creating and managing your email list and sending emails to your subscribers.",
|
||||
"Add or Update Subscriber": "Add or Update Subscriber",
|
||||
"Create a List": "Create a List",
|
||||
"Find Subscriber": "Find Subscriber",
|
||||
"Unsubscribe Subscriber": "Unsubscribe Subscriber",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Create or update subscriber data, and subscribe/unsubscribe from lists",
|
||||
"Create a new mailing list with custom settings and descriptions": "Create a new mailing list with custom settings and descriptions",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Search for subscribers by unique identifiers (ID, email, phone, external ID) or name",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list",
|
||||
"Email Address": "Email Address",
|
||||
"First Name": "First Name",
|
||||
"Last Name": "Last Name",
|
||||
"Date of Birth": "Date of Birth",
|
||||
"Phone Number": "Phone Number",
|
||||
"Cell Phone": "Cell Phone",
|
||||
"Address": "Address",
|
||||
"City": "City",
|
||||
"Country": "Country",
|
||||
"Company": "Company",
|
||||
"Position": "Position",
|
||||
"External ID": "External ID",
|
||||
"Campaign Source": "Campaign Source",
|
||||
"Can Receive Emails": "Can Receive Emails",
|
||||
"Can Receive SMS": "Can Receive SMS",
|
||||
"Lists": "Lists",
|
||||
"Custom Fields": "Custom Fields",
|
||||
"Operation": "Operation",
|
||||
"List Name": "List Name",
|
||||
"Description": "Description",
|
||||
"Public Name": "Public Name",
|
||||
"Public Description": "Public Description",
|
||||
"Is Public": "Is Public",
|
||||
"Allow Users to Subscribe": "Allow Users to Subscribe",
|
||||
"Allow Users to Unsubscribe": "Allow Users to Unsubscribe",
|
||||
"Is Portal": "Is Portal",
|
||||
"Search Type": "Search Type",
|
||||
"Contact ID": "Contact ID",
|
||||
"Fields to Return": "Fields to Return",
|
||||
"Include Custom Fields": "Include Custom Fields",
|
||||
"Include Linked Lists": "Include Linked Lists",
|
||||
"Skip Records": "Skip Records",
|
||||
"Max Records": "Max Records",
|
||||
"Sort By": "Sort By",
|
||||
"Contact": "Contact",
|
||||
"Unsubscribe Reason": "Unsubscribe Reason",
|
||||
"Select an existing contact email or type a new one": "Select an existing contact email or type a new one",
|
||||
"The first name of the contact": "The first name of the contact",
|
||||
"The last name of the contact": "The last name of the contact",
|
||||
"The date of birth of the contact": "The date of birth of the contact",
|
||||
"The primary phone number of the contact": "The primary phone number of the contact",
|
||||
"The cell phone number of the contact": "The cell phone number of the contact",
|
||||
"The street address of the contact": "The street address of the contact",
|
||||
"The city of the contact": "The city of the contact",
|
||||
"The country of the contact": "The country of the contact",
|
||||
"The company name of the contact": "The company name of the contact",
|
||||
"The job title or position of the contact": "The job title or position of the contact",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "External identifier for the contact (useful for syncing with other systems)",
|
||||
"The campaign source that brought this contact": "The campaign source that brought this contact",
|
||||
"Whether the contact can receive email communications": "Whether the contact can receive email communications",
|
||||
"Whether the contact can receive SMS messages": "Whether the contact can receive SMS messages",
|
||||
"Select lists to subscribe the contact to": "Select lists to subscribe the contact to",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Custom fields data (JSON object with field IDs as keys)",
|
||||
"Choose the contact operation type": "Choose the contact operation type",
|
||||
"The name of the list to be created": "The name of the list to be created",
|
||||
"Internal description of the list for your reference": "Internal description of the list for your reference",
|
||||
"The public-facing name of the list visible to subscribers": "The public-facing name of the list visible to subscribers",
|
||||
"Public description of the list visible to subscribers": "Public description of the list visible to subscribers",
|
||||
"Make this list publicly visible": "Make this list publicly visible",
|
||||
"Allow users to subscribe to this list themselves": "Allow users to subscribe to this list themselves",
|
||||
"Allow users to unsubscribe from this list themselves": "Allow users to unsubscribe from this list themselves",
|
||||
"Enable portal access for this list": "Enable portal access for this list",
|
||||
"Choose how to search for subscribers": "Choose how to search for subscribers",
|
||||
"The unique ID of the contact": "The unique ID of the contact",
|
||||
"The email address of the contact": "The email address of the contact",
|
||||
"The phone number of the contact (cellphone)": "The phone number of the contact (cellphone)",
|
||||
"The external ID of the contact": "The external ID of the contact",
|
||||
"Search by first name": "Search by first name",
|
||||
"Search by last name": "Search by last name",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.",
|
||||
"Include custom fields in the response": "Include custom fields in the response",
|
||||
"Include linked lists in the response": "Include linked lists in the response",
|
||||
"Number of records to skip (for pagination, default: 0)": "Number of records to skip (for pagination, default: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Maximum number of records to return (default: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Sort the results by a specific field",
|
||||
"Select the contact to unsubscribe": "Select the contact to unsubscribe",
|
||||
"Reason for unsubscribing the contact": "Reason for unsubscribing the contact",
|
||||
"Create Only": "Create Only",
|
||||
"Create or Update if Exists": "Create or Update if Exists",
|
||||
"Restore if Deleted": "Restore if Deleted",
|
||||
"Restore if Unsubscribed": "Restore if Unsubscribed",
|
||||
"Override Nullable Values": "Override Nullable Values",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "By Identifier (ID, Email, Phone, External ID)",
|
||||
"By Name (First Name, Last Name)": "By Name (First Name, Last Name)",
|
||||
"All Active Contacts (with pagination)": "All Active Contacts (with pagination)",
|
||||
"ID (Newest First)": "ID (Newest First)",
|
||||
"ID (Oldest First)": "ID (Oldest First)",
|
||||
"Email (A-Z)": "Email (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "First Name (A-Z)",
|
||||
"First Name (Z-A)": "First Name (Z-A)",
|
||||
"Last Changed (Newest)": "Last Changed (Newest)",
|
||||
"Last Changed (Oldest)": "Last Changed (Oldest)",
|
||||
"Signup Date (Newest)": "Signup Date (Newest)",
|
||||
"Signup Date (Oldest)": "Signup Date (Oldest)",
|
||||
"New List Created": "New List Created",
|
||||
"New Subscriber": "New Subscriber",
|
||||
"New Form Created": "New Form Created",
|
||||
"New Lead Submitted": "New Lead Submitted",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Fires when a new mailing list is created in your Smoove account",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Fires when a new subscriber is added to your Smoove account",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Fires when a new form/landing page is created in your Smoove account",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Fires when a lead submits via form, popup, or mobile campaign",
|
||||
"Fields to Include": "Fields to Include",
|
||||
"Sort Order": "Sort Order",
|
||||
"Max Lists to Monitor": "Max Lists to Monitor",
|
||||
"Join Source Filter": "Join Source Filter",
|
||||
"Max Items to Check": "Max Items to Check",
|
||||
"Form Type Filter": "Form Type Filter",
|
||||
"Monitoring Mode": "Monitoring Mode",
|
||||
"LandingPage/Form ID": "LandingPage/Form ID",
|
||||
"Include Full Contact Details": "Include Full Contact Details",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.",
|
||||
"How to sort the lists for monitoring": "How to sort the lists for monitoring",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Maximum number of lists to check for new additions (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.",
|
||||
"Include custom field data in subscriber information": "Include custom field data in subscriber information",
|
||||
"Include list associations in subscriber information": "Include list associations in subscriber information",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filter subscribers by how they joined (leave as \"All\" to monitor all sources)",
|
||||
"How to sort contacts for monitoring new subscribers": "How to sort contacts for monitoring new subscribers",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Maximum number of contacts to check for new subscribers (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filter by specific form type, or select \"All\" to monitor all form types",
|
||||
"Choose whether to monitor all forms or a specific form": "Choose whether to monitor all forms or a specific form",
|
||||
"Select the andingPage/Form ": "Select the andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Include custom field data in the lead submission",
|
||||
"Include complete contact information in the submission data": "Include complete contact information in the submission data",
|
||||
"Newest First (by ID)": "Newest First (by ID)",
|
||||
"Oldest First (by ID)": "Oldest First (by ID)",
|
||||
"Name (A-Z)": "Name (A-Z)",
|
||||
"Name (Z-A)": "Name (Z-A)",
|
||||
"All Sources": "All Sources",
|
||||
"Unknown": "Unknown",
|
||||
"Manual Entry": "Manual Entry",
|
||||
"Import": "Import",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Landing Page",
|
||||
"Embed Form": "Embed Form",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Form",
|
||||
"Automation": "Automation",
|
||||
"Newest Signups First": "Newest Signups First",
|
||||
"Oldest Signups First": "Oldest Signups First",
|
||||
"Recently Changed First": "Recently Changed First",
|
||||
"All Types": "All Types",
|
||||
"Facebook Form": "Facebook Form",
|
||||
"Mobile Form": "Mobile Form",
|
||||
"Popup Form": "Popup Form",
|
||||
"All Forms/Landing Pages": "All Forms/Landing Pages",
|
||||
"Specific Form/Landing Page": "Specific Form/Landing Page"
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"Smoove is a platform for creating and managing your email list and sending emails to your subscribers.": "Smoove is a platform for creating and managing your email list and sending emails to your subscribers.",
|
||||
"Add or Update Subscriber": "Add or Update Subscriber",
|
||||
"Create a List": "Create a List",
|
||||
"Find Subscriber": "Find Subscriber",
|
||||
"Unsubscribe Subscriber": "Unsubscribe Subscriber",
|
||||
"Create or update subscriber data, and subscribe/unsubscribe from lists": "Create or update subscriber data, and subscribe/unsubscribe from lists",
|
||||
"Create a new mailing list with custom settings and descriptions": "Create a new mailing list with custom settings and descriptions",
|
||||
"Search for subscribers by unique identifiers (ID, email, phone, external ID) or name": "Search for subscribers by unique identifiers (ID, email, phone, external ID) or name",
|
||||
"Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list": "Unsubscribe a contact from all lists and move them to the \"Unsubscribed\" list",
|
||||
"Email Address": "Email Address",
|
||||
"First Name": "名字",
|
||||
"Last Name": "名字",
|
||||
"Date of Birth": "Date of Birth",
|
||||
"Phone Number": "Phone Number",
|
||||
"Cell Phone": "Cell Phone",
|
||||
"Address": "Address",
|
||||
"City": "City",
|
||||
"Country": "Country",
|
||||
"Company": "Company",
|
||||
"Position": "Position",
|
||||
"External ID": "外部ID",
|
||||
"Campaign Source": "Campaign Source",
|
||||
"Can Receive Emails": "Can Receive Emails",
|
||||
"Can Receive SMS": "Can Receive SMS",
|
||||
"Lists": "Lists",
|
||||
"Custom Fields": "Custom Fields",
|
||||
"Operation": "Operation",
|
||||
"List Name": "List Name",
|
||||
"Description": "描述",
|
||||
"Public Name": "Public Name",
|
||||
"Public Description": "Public Description",
|
||||
"Is Public": "Is Public",
|
||||
"Allow Users to Subscribe": "Allow Users to Subscribe",
|
||||
"Allow Users to Unsubscribe": "Allow Users to Unsubscribe",
|
||||
"Is Portal": "Is Portal",
|
||||
"Search Type": "Search Type",
|
||||
"Contact ID": "Contact ID",
|
||||
"Fields to Return": "Fields to Return",
|
||||
"Include Custom Fields": "Include Custom Fields",
|
||||
"Include Linked Lists": "Include Linked Lists",
|
||||
"Skip Records": "Skip Records",
|
||||
"Max Records": "Max Records",
|
||||
"Sort By": "Sort By",
|
||||
"Contact": "Contact",
|
||||
"Unsubscribe Reason": "Unsubscribe Reason",
|
||||
"Select an existing contact email or type a new one": "Select an existing contact email or type a new one",
|
||||
"The first name of the contact": "The first name of the contact",
|
||||
"The last name of the contact": "The last name of the contact",
|
||||
"The date of birth of the contact": "The date of birth of the contact",
|
||||
"The primary phone number of the contact": "The primary phone number of the contact",
|
||||
"The cell phone number of the contact": "The cell phone number of the contact",
|
||||
"The street address of the contact": "The street address of the contact",
|
||||
"The city of the contact": "The city of the contact",
|
||||
"The country of the contact": "The country of the contact",
|
||||
"The company name of the contact": "The company name of the contact",
|
||||
"The job title or position of the contact": "The job title or position of the contact",
|
||||
"External identifier for the contact (useful for syncing with other systems)": "External identifier for the contact (useful for syncing with other systems)",
|
||||
"The campaign source that brought this contact": "The campaign source that brought this contact",
|
||||
"Whether the contact can receive email communications": "Whether the contact can receive email communications",
|
||||
"Whether the contact can receive SMS messages": "Whether the contact can receive SMS messages",
|
||||
"Select lists to subscribe the contact to": "Select lists to subscribe the contact to",
|
||||
"Custom fields data (JSON object with field IDs as keys)": "Custom fields data (JSON object with field IDs as keys)",
|
||||
"Choose the contact operation type": "Choose the contact operation type",
|
||||
"The name of the list to be created": "The name of the list to be created",
|
||||
"Internal description of the list for your reference": "Internal description of the list for your reference",
|
||||
"The public-facing name of the list visible to subscribers": "The public-facing name of the list visible to subscribers",
|
||||
"Public description of the list visible to subscribers": "Public description of the list visible to subscribers",
|
||||
"Make this list publicly visible": "Make this list publicly visible",
|
||||
"Allow users to subscribe to this list themselves": "Allow users to subscribe to this list themselves",
|
||||
"Allow users to unsubscribe from this list themselves": "Allow users to unsubscribe from this list themselves",
|
||||
"Enable portal access for this list": "Enable portal access for this list",
|
||||
"Choose how to search for subscribers": "Choose how to search for subscribers",
|
||||
"The unique ID of the contact": "The unique ID of the contact",
|
||||
"The email address of the contact": "The email address of the contact",
|
||||
"The phone number of the contact (cellphone)": "The phone number of the contact (cellphone)",
|
||||
"The external ID of the contact": "The external ID of the contact",
|
||||
"Search by first name": "Search by first name",
|
||||
"Search by last name": "Search by last name",
|
||||
"Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.": "Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.",
|
||||
"Include custom fields in the response": "Include custom fields in the response",
|
||||
"Include linked lists in the response": "Include linked lists in the response",
|
||||
"Number of records to skip (for pagination, default: 0)": "Number of records to skip (for pagination, default: 0)",
|
||||
"Maximum number of records to return (default: 100, max: 100)": "Maximum number of records to return (default: 100, max: 100)",
|
||||
"Sort the results by a specific field": "Sort the results by a specific field",
|
||||
"Select the contact to unsubscribe": "Select the contact to unsubscribe",
|
||||
"Reason for unsubscribing the contact": "Reason for unsubscribing the contact",
|
||||
"Create Only": "Create Only",
|
||||
"Create or Update if Exists": "Create or Update if Exists",
|
||||
"Restore if Deleted": "Restore if Deleted",
|
||||
"Restore if Unsubscribed": "Restore if Unsubscribed",
|
||||
"Override Nullable Values": "Override Nullable Values",
|
||||
"By Identifier (ID, Email, Phone, External ID)": "By Identifier (ID, Email, Phone, External ID)",
|
||||
"By Name (First Name, Last Name)": "By Name (First Name, Last Name)",
|
||||
"All Active Contacts (with pagination)": "All Active Contacts (with pagination)",
|
||||
"ID (Newest First)": "ID (Newest First)",
|
||||
"ID (Oldest First)": "ID (Oldest First)",
|
||||
"Email (A-Z)": "Email (A-Z)",
|
||||
"Email (Z-A)": "Email (Z-A)",
|
||||
"First Name (A-Z)": "First Name (A-Z)",
|
||||
"First Name (Z-A)": "First Name (Z-A)",
|
||||
"Last Changed (Newest)": "Last Changed (Newest)",
|
||||
"Last Changed (Oldest)": "Last Changed (Oldest)",
|
||||
"Signup Date (Newest)": "Signup Date (Newest)",
|
||||
"Signup Date (Oldest)": "Signup Date (Oldest)",
|
||||
"New List Created": "New List Created",
|
||||
"New Subscriber": "New Subscriber",
|
||||
"New Form Created": "New Form Created",
|
||||
"New Lead Submitted": "New Lead Submitted",
|
||||
"Fires when a new mailing list is created in your Smoove account": "Fires when a new mailing list is created in your Smoove account",
|
||||
"Fires when a new subscriber is added to your Smoove account": "Fires when a new subscriber is added to your Smoove account",
|
||||
"Fires when a new form/landing page is created in your Smoove account": "Fires when a new form/landing page is created in your Smoove account",
|
||||
"Fires when a lead submits via form, popup, or mobile campaign": "Fires when a lead submits via form, popup, or mobile campaign",
|
||||
"Fields to Include": "Fields to Include",
|
||||
"Sort Order": "Sort Order",
|
||||
"Max Lists to Monitor": "Max Lists to Monitor",
|
||||
"Join Source Filter": "Join Source Filter",
|
||||
"Max Items to Check": "Max Items to Check",
|
||||
"Form Type Filter": "Form Type Filter",
|
||||
"Monitoring Mode": "Monitoring Mode",
|
||||
"LandingPage/Form ID": "LandingPage/Form ID",
|
||||
"Include Full Contact Details": "Include Full Contact Details",
|
||||
"Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.": "Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.",
|
||||
"How to sort the lists for monitoring": "How to sort the lists for monitoring",
|
||||
"Maximum number of lists to check for new additions (1-100)": "Maximum number of lists to check for new additions (1-100)",
|
||||
"Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.": "Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.",
|
||||
"Include custom field data in subscriber information": "Include custom field data in subscriber information",
|
||||
"Include list associations in subscriber information": "Include list associations in subscriber information",
|
||||
"Filter subscribers by how they joined (leave as \"All\" to monitor all sources)": "Filter subscribers by how they joined (leave as \"All\" to monitor all sources)",
|
||||
"How to sort contacts for monitoring new subscribers": "How to sort contacts for monitoring new subscribers",
|
||||
"Maximum number of contacts to check for new subscribers (1-100)": "Maximum number of contacts to check for new subscribers (1-100)",
|
||||
"Filter by specific form type, or select \"All\" to monitor all form types": "Filter by specific form type, or select \"All\" to monitor all form types",
|
||||
"Choose whether to monitor all forms or a specific form": "Choose whether to monitor all forms or a specific form",
|
||||
"Select the andingPage/Form ": "Select the andingPage/Form ",
|
||||
"Include custom field data in the lead submission": "Include custom field data in the lead submission",
|
||||
"Include complete contact information in the submission data": "Include complete contact information in the submission data",
|
||||
"Newest First (by ID)": "Newest First (by ID)",
|
||||
"Oldest First (by ID)": "Oldest First (by ID)",
|
||||
"Name (A-Z)": "Name (A-Z)",
|
||||
"Name (Z-A)": "Name (Z-A)",
|
||||
"All Sources": "All Sources",
|
||||
"Unknown": "未知的",
|
||||
"Manual Entry": "Manual Entry",
|
||||
"Import": "导入",
|
||||
"Facebook": "Facebook",
|
||||
"API": "API",
|
||||
"Landing Page": "Landing Page",
|
||||
"Embed Form": "Embed Form",
|
||||
"Popup": "Popup",
|
||||
"QR Code": "QR Code",
|
||||
"SMS": "SMS",
|
||||
"WhatsApp": "WhatsApp",
|
||||
"Form": "Form",
|
||||
"Automation": "Automation",
|
||||
"Newest Signups First": "Newest Signups First",
|
||||
"Oldest Signups First": "Oldest Signups First",
|
||||
"Recently Changed First": "Recently Changed First",
|
||||
"All Types": "All Types",
|
||||
"Facebook Form": "Facebook Form",
|
||||
"Mobile Form": "Mobile Form",
|
||||
"Popup Form": "Popup Form",
|
||||
"All Forms/Landing Pages": "All Forms/Landing Pages",
|
||||
"Specific Form/Landing Page": "Specific Form/Landing Page"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
import { createPiece, PieceAuth } from "@activepieces/pieces-framework";
|
||||
import { smooveAuth } from "./lib/common/auth";
|
||||
import { addOrUpdateSubscriber } from "./lib/actions/add-or-update-subscriber";
|
||||
import { createAList } from "./lib/actions/create-a-list";
|
||||
import { findSubscriber } from "./lib/actions/find-subscriber";
|
||||
import { unsubscribe } from "./lib/actions/unsubscribe";
|
||||
import { newListCreated } from "./lib/triggers/new-list-created";
|
||||
import { newSubscriber } from "./lib/triggers/new-subscriber";
|
||||
import { newFormCreated } from "./lib/triggers/new-form-created";
|
||||
import { newLeadSubmitted } from "./lib/triggers/new-lead-submitted";
|
||||
import { PieceCategory } from "@activepieces/shared";
|
||||
|
||||
export const smoove = createPiece({
|
||||
displayName: "Smoove",
|
||||
auth: smooveAuth,
|
||||
description: "Smoove is a platform for creating and managing your email list and sending emails to your subscribers.",
|
||||
categories: [PieceCategory.MARKETING],
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
logoUrl: "https://cdn.activepieces.com/pieces/smoove.png",
|
||||
authors: ['Sanket6652', 'onyedikachi-david'],
|
||||
actions: [addOrUpdateSubscriber, createAList, findSubscriber, unsubscribe],
|
||||
triggers: [newListCreated, newSubscriber, newFormCreated, newLeadSubmitted],
|
||||
});
|
||||
@@ -0,0 +1,168 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { listsDropdown, emailDropdown } from '../common/props';
|
||||
import { makeRequest } from '../common/client';
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
|
||||
export const addOrUpdateSubscriber = createAction({
|
||||
auth: smooveAuth,
|
||||
name: 'addOrUpdateSubscriber',
|
||||
displayName: 'Add or Update Subscriber',
|
||||
description: 'Create or update subscriber data, and subscribe/unsubscribe from lists',
|
||||
props: {
|
||||
email: emailDropdown,
|
||||
|
||||
firstName: Property.ShortText({
|
||||
displayName: 'First Name',
|
||||
description: 'The first name of the contact',
|
||||
required: false,
|
||||
}),
|
||||
lastName: Property.ShortText({
|
||||
displayName: 'Last Name',
|
||||
description: 'The last name of the contact',
|
||||
required: false,
|
||||
}),
|
||||
dateOfBirth: Property.DateTime({
|
||||
displayName: 'Date of Birth',
|
||||
description: 'The date of birth of the contact',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
phone: Property.ShortText({
|
||||
displayName: 'Phone Number',
|
||||
description: 'The primary phone number of the contact',
|
||||
required: false,
|
||||
}),
|
||||
cellPhone: Property.ShortText({
|
||||
displayName: 'Cell Phone',
|
||||
description: 'The cell phone number of the contact',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
address: Property.ShortText({
|
||||
displayName: 'Address',
|
||||
description: 'The street address of the contact',
|
||||
required: false,
|
||||
}),
|
||||
city: Property.ShortText({
|
||||
displayName: 'City',
|
||||
description: 'The city of the contact',
|
||||
required: false,
|
||||
}),
|
||||
country: Property.ShortText({
|
||||
displayName: 'Country',
|
||||
description: 'The country of the contact',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
company: Property.ShortText({
|
||||
displayName: 'Company',
|
||||
description: 'The company name of the contact',
|
||||
required: false,
|
||||
}),
|
||||
position: Property.ShortText({
|
||||
displayName: 'Position',
|
||||
description: 'The job title or position of the contact',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
externalId: Property.ShortText({
|
||||
displayName: 'External ID',
|
||||
description: 'External identifier for the contact (useful for syncing with other systems)',
|
||||
required: false,
|
||||
}),
|
||||
campaignSource: Property.ShortText({
|
||||
displayName: 'Campaign Source',
|
||||
description: 'The campaign source that brought this contact',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
canReceiveEmails: Property.Checkbox({
|
||||
displayName: 'Can Receive Emails',
|
||||
description: 'Whether the contact can receive email communications',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
canReceiveSmsMessages: Property.Checkbox({
|
||||
displayName: 'Can Receive SMS',
|
||||
description: 'Whether the contact can receive SMS messages',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
|
||||
lists: listsDropdown,
|
||||
|
||||
customFields: Property.Object({
|
||||
displayName: 'Custom Fields',
|
||||
description: 'Custom fields data (JSON object with field IDs as keys)',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
operation: Property.StaticDropdown({
|
||||
displayName: 'Operation',
|
||||
description: 'Choose the contact operation type',
|
||||
required: true,
|
||||
defaultValue: 'updateIfExists',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Create Only', value: 'create' },
|
||||
{ label: 'Create or Update if Exists', value: 'updateIfExists' },
|
||||
{ label: 'Restore if Deleted', value: 'restoreIfDeleted' },
|
||||
{ label: 'Restore if Unsubscribed', value: 'restoreIfUnsubscribed' },
|
||||
{ label: 'Override Nullable Values', value: 'overrideNullableValue' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const {
|
||||
email, firstName, lastName, dateOfBirth, phone, cellPhone,
|
||||
address, city, country, company, position, externalId,
|
||||
campaignSource, canReceiveEmails, canReceiveSmsMessages,
|
||||
lists, customFields, operation
|
||||
} = propsValue;
|
||||
|
||||
let endpoint = '/Contacts';
|
||||
const queryParams: string[] = [];
|
||||
|
||||
if (operation === 'updateIfExists') queryParams.push('updateIfExists=true');
|
||||
if (operation === 'restoreIfDeleted') queryParams.push('restoreIfDeleted=true');
|
||||
if (operation === 'restoreIfUnsubscribed') queryParams.push('restoreIfUnsubscribed=true');
|
||||
if (operation === 'overrideNullableValue') queryParams.push('overrideNullableValue=true');
|
||||
|
||||
if (queryParams.length) {
|
||||
endpoint += '?' + queryParams.join('&');
|
||||
}
|
||||
|
||||
const body: any = {
|
||||
email,
|
||||
};
|
||||
|
||||
if (firstName) body.firstName = firstName;
|
||||
if (lastName) body.lastName = lastName;
|
||||
if (dateOfBirth) body.dateOfBirth = dateOfBirth;
|
||||
if (phone) body.phone = phone;
|
||||
if (cellPhone) body.cellPhone = cellPhone;
|
||||
if (address) body.address = address;
|
||||
if (city) body.city = city;
|
||||
if (country) body.country = country;
|
||||
if (company) body.company = company;
|
||||
if (position) body.position = position;
|
||||
if (externalId) body.externalId = externalId;
|
||||
if (campaignSource) body.campaignSource = campaignSource;
|
||||
|
||||
if (typeof canReceiveEmails === 'boolean') body.canReceiveEmails = canReceiveEmails;
|
||||
if (typeof canReceiveSmsMessages === 'boolean') body.canReceiveSmsMessages = canReceiveSmsMessages;
|
||||
|
||||
if (lists && Array.isArray(lists) && lists.length > 0) {
|
||||
body.lists_Linked = lists;
|
||||
}
|
||||
|
||||
if (customFields && typeof customFields === 'object') {
|
||||
body.customFields = customFields;
|
||||
}
|
||||
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.POST, endpoint, body);
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,79 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { makeRequest } from '../common/client';
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
|
||||
export const createAList = createAction({
|
||||
auth: smooveAuth,
|
||||
name: 'createAList',
|
||||
displayName: 'Create a List',
|
||||
description: 'Create a new mailing list with custom settings and descriptions',
|
||||
props: {
|
||||
name: Property.ShortText({
|
||||
displayName: 'List Name',
|
||||
description: 'The name of the list to be created',
|
||||
required: true,
|
||||
}),
|
||||
description: Property.LongText({
|
||||
displayName: 'Description',
|
||||
description: 'Internal description of the list for your reference',
|
||||
required: false,
|
||||
defaultValue: 'This list is a list for new subscribers',
|
||||
}),
|
||||
publicName: Property.ShortText({
|
||||
displayName: 'Public Name',
|
||||
description: 'The public-facing name of the list visible to subscribers',
|
||||
required: false,
|
||||
defaultValue: 'My subscribers public name list',
|
||||
}),
|
||||
publicDescription: Property.LongText({
|
||||
displayName: 'Public Description',
|
||||
description: 'Public description of the list visible to subscribers',
|
||||
required: false,
|
||||
defaultValue: 'Public name - This list is a list for new subscribers',
|
||||
}),
|
||||
isPublic: Property.Checkbox({
|
||||
displayName: 'Is Public',
|
||||
description: 'Make this list publicly visible',
|
||||
required: true,
|
||||
defaultValue: true
|
||||
}),
|
||||
allowsUsersToSubscribe: Property.Checkbox({
|
||||
displayName: 'Allow Users to Subscribe',
|
||||
description: 'Allow users to subscribe to this list themselves',
|
||||
required: true,
|
||||
defaultValue: true
|
||||
}),
|
||||
allowsUsersToUnsubscribe: Property.Checkbox({
|
||||
displayName: 'Allow Users to Unsubscribe',
|
||||
description: 'Allow users to unsubscribe from this list themselves',
|
||||
required: true,
|
||||
defaultValue: true
|
||||
}),
|
||||
isPortal: Property.Checkbox({
|
||||
displayName: 'Is Portal',
|
||||
description: 'Enable portal access for this list',
|
||||
required: true,
|
||||
defaultValue: false
|
||||
}),
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const { name, description, publicName, publicDescription, isPublic, allowsUsersToSubscribe, allowsUsersToUnsubscribe, isPortal } = propsValue
|
||||
|
||||
const body = {
|
||||
name,
|
||||
description,
|
||||
publicName,
|
||||
publicDescription,
|
||||
permissions: {
|
||||
isPublic,
|
||||
allowsUsersToSubscribe,
|
||||
allowsUsersToUnsubscribe,
|
||||
isPortal
|
||||
}
|
||||
}
|
||||
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.POST, '/Lists', body)
|
||||
return response
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,192 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { makeRequest } from '../common/client';
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
|
||||
export const findSubscriber = createAction({
|
||||
auth: smooveAuth,
|
||||
name: 'findSubscriber',
|
||||
displayName: 'Find Subscriber',
|
||||
description: 'Search for subscribers by unique identifiers (ID, email, phone, external ID) or name',
|
||||
props: {
|
||||
searchType: Property.StaticDropdown({
|
||||
displayName: 'Search Type',
|
||||
description: 'Choose how to search for subscribers',
|
||||
required: true,
|
||||
defaultValue: 'identifier',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'By Identifier (ID, Email, Phone, External ID)', value: 'identifier' },
|
||||
{ label: 'By Name (First Name, Last Name)', value: 'name' },
|
||||
{ label: 'All Active Contacts (with pagination)', value: 'all' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
|
||||
id: Property.ShortText({
|
||||
displayName: 'Contact ID',
|
||||
description: 'The unique ID of the contact',
|
||||
required: false,
|
||||
}),
|
||||
email: Property.ShortText({
|
||||
displayName: 'Email Address',
|
||||
description: 'The email address of the contact',
|
||||
required: false,
|
||||
}),
|
||||
cellphone: Property.ShortText({
|
||||
displayName: 'Phone Number',
|
||||
description: 'The phone number of the contact (cellphone)',
|
||||
required: false,
|
||||
}),
|
||||
externalId: Property.ShortText({
|
||||
displayName: 'External ID',
|
||||
description: 'The external ID of the contact',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
firstName: Property.ShortText({
|
||||
displayName: 'First Name',
|
||||
description: 'Search by first name',
|
||||
required: false,
|
||||
}),
|
||||
lastName: Property.ShortText({
|
||||
displayName: 'Last Name',
|
||||
description: 'Search by last name',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
fields: Property.ShortText({
|
||||
displayName: 'Fields to Return',
|
||||
description: 'Comma-separated list of fields to return (e.g., id,email,firstName,lastName). Leave empty for all fields.',
|
||||
required: false,
|
||||
}),
|
||||
includeCustomFields: Property.Checkbox({
|
||||
displayName: 'Include Custom Fields',
|
||||
description: 'Include custom fields in the response',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
includeLinkedLists: Property.Checkbox({
|
||||
displayName: 'Include Linked Lists',
|
||||
description: 'Include linked lists in the response',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
|
||||
skip: Property.Number({
|
||||
displayName: 'Skip Records',
|
||||
description: 'Number of records to skip (for pagination, default: 0)',
|
||||
required: false,
|
||||
defaultValue: 0,
|
||||
}),
|
||||
take: Property.Number({
|
||||
displayName: 'Max Records',
|
||||
description: 'Maximum number of records to return (default: 100, max: 100)',
|
||||
required: false,
|
||||
defaultValue: 100,
|
||||
}),
|
||||
|
||||
sort: Property.StaticDropdown({
|
||||
displayName: 'Sort By',
|
||||
description: 'Sort the results by a specific field',
|
||||
required: false,
|
||||
defaultValue: '-id',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'ID (Newest First)', value: '-id' },
|
||||
{ label: 'ID (Oldest First)', value: 'id' },
|
||||
{ label: 'Email (A-Z)', value: 'email' },
|
||||
{ label: 'Email (Z-A)', value: '-email' },
|
||||
{ label: 'First Name (A-Z)', value: 'firstName' },
|
||||
{ label: 'First Name (Z-A)', value: '-firstName' },
|
||||
{ label: 'Last Changed (Newest)', value: '-lastChanged' },
|
||||
{ label: 'Last Changed (Oldest)', value: 'lastChanged' },
|
||||
{ label: 'Signup Date (Newest)', value: '-timestampSignup' },
|
||||
{ label: 'Signup Date (Oldest)', value: 'timestampSignup' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const {
|
||||
searchType, id, email, cellphone, externalId, firstName, lastName,
|
||||
fields, includeCustomFields, includeLinkedLists, skip, take, sort
|
||||
} = propsValue;
|
||||
|
||||
const queryParams: string[] = [];
|
||||
|
||||
if (searchType === 'identifier') {
|
||||
if (!id && !email && !cellphone && !externalId) {
|
||||
throw new Error('For identifier search, please provide at least one: Contact ID, Email, Phone, or External ID');
|
||||
}
|
||||
|
||||
if (id) queryParams.push(`id=${encodeURIComponent(id)}`);
|
||||
if (email) queryParams.push(`email=${encodeURIComponent(email)}`);
|
||||
if (cellphone) queryParams.push(`cellphone=${encodeURIComponent(cellphone)}`);
|
||||
if (externalId) queryParams.push(`externalid=${encodeURIComponent(externalId)}`);
|
||||
} else if (searchType === 'name') {
|
||||
if (!firstName && !lastName) {
|
||||
throw new Error('For name search, please provide First Name and/or Last Name');
|
||||
}
|
||||
|
||||
if (firstName) queryParams.push(`firstname=${encodeURIComponent(firstName)}`);
|
||||
if (lastName) queryParams.push(`lastname=${encodeURIComponent(lastName)}`);
|
||||
}
|
||||
|
||||
if (fields && fields.trim()) {
|
||||
queryParams.push(`fields=${encodeURIComponent(fields.trim())}`);
|
||||
}
|
||||
if (includeCustomFields) queryParams.push('includeCustomFields=true');
|
||||
if (includeLinkedLists) queryParams.push('includeLinkedLists=true');
|
||||
|
||||
const skipValue = Math.max(0, skip || 0);
|
||||
const takeValue = Math.min(Math.max(1, take || 100), 100);
|
||||
queryParams.push(`skip=${skipValue}`);
|
||||
queryParams.push(`take=${takeValue}`);
|
||||
|
||||
if (sort) queryParams.push(`sort=${encodeURIComponent(sort)}`);
|
||||
|
||||
const endpoint = `/Contacts?${queryParams.join('&')}`;
|
||||
|
||||
try {
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.GET, endpoint);
|
||||
|
||||
if (!response) {
|
||||
return {
|
||||
success: false,
|
||||
message: 'No response from server',
|
||||
data: [],
|
||||
total: 0
|
||||
};
|
||||
}
|
||||
|
||||
const contacts = Array.isArray(response) ? response : [response];
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: `Found ${contacts.length} contact(s)`,
|
||||
data: contacts,
|
||||
total: contacts.length,
|
||||
searchType,
|
||||
pagination: {
|
||||
skip: skipValue,
|
||||
take: takeValue,
|
||||
returned: contacts.length
|
||||
}
|
||||
};
|
||||
|
||||
} catch (error: any) {
|
||||
if (error.message && error.message.includes('404')) {
|
||||
return {
|
||||
success: false,
|
||||
message: 'No contacts found matching the provided criteria',
|
||||
data: [],
|
||||
total: 0,
|
||||
searchType
|
||||
};
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,42 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { contactIdDropdown } from '../common/props';
|
||||
import { makeRequest } from '../common/client';
|
||||
import { HttpMethod } from '@activepieces/pieces-common';
|
||||
|
||||
export const unsubscribe = createAction({
|
||||
auth: smooveAuth,
|
||||
name: 'unsubscribe',
|
||||
displayName: 'Unsubscribe Subscriber',
|
||||
description: 'Unsubscribe a contact from all lists and move them to the "Unsubscribed" list',
|
||||
props: {
|
||||
contactId: contactIdDropdown,
|
||||
reason: Property.ShortText({
|
||||
displayName: 'Unsubscribe Reason',
|
||||
description: 'Reason for unsubscribing the contact',
|
||||
required: true,
|
||||
defaultValue: 'Unsubscribed via automation'
|
||||
})
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const { contactId, reason } = propsValue;
|
||||
|
||||
const contactIdStr = contactId as string;
|
||||
if (!contactIdStr || contactIdStr.trim() === '') {
|
||||
throw new Error('Please select a contact from the dropdown');
|
||||
}
|
||||
|
||||
const body = {
|
||||
reason: reason || 'Unsubscribed via automation'
|
||||
};
|
||||
|
||||
const response = await makeRequest(
|
||||
auth.secret_text,
|
||||
HttpMethod.POST,
|
||||
`/Contacts/${encodeURIComponent(contactIdStr.trim())}/Unsubscribe?by=ContactId`,
|
||||
body
|
||||
);
|
||||
|
||||
return response;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,30 @@
|
||||
import { PieceAuth, Property } from "@activepieces/pieces-framework";
|
||||
import { makeRequest } from "./client";
|
||||
import { HttpMethod } from "@activepieces/pieces-common";
|
||||
|
||||
export const smooveAuth = PieceAuth.SecretText({
|
||||
displayName: 'smoove API Key',
|
||||
required: true,
|
||||
validate: async ({ auth }) => {
|
||||
if (auth) {
|
||||
try {
|
||||
await makeRequest(auth as string, HttpMethod.GET, '/Lists', {});
|
||||
return {
|
||||
valid: true,
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
valid: false,
|
||||
error: 'Invalid Api Key'
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return {
|
||||
valid: false,
|
||||
error: 'Invalid Api Key'
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,28 @@
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
|
||||
|
||||
export const BASE_URL = `https://rest.smoove.io/v1`;
|
||||
|
||||
export async function makeRequest(
|
||||
api_key: string,
|
||||
method: HttpMethod,
|
||||
path: string,
|
||||
body?: unknown,
|
||||
) {
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method,
|
||||
url: `${BASE_URL}${path}`,
|
||||
headers: {
|
||||
'Authorization': `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body,
|
||||
});
|
||||
return response.body;
|
||||
|
||||
} catch (error: any) {
|
||||
throw new Error(`Unexpected error: ${error.message || String(error)}`);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
import { Property } from "@activepieces/pieces-framework";
|
||||
import { makeRequest } from "./client";
|
||||
import { HttpMethod } from "@activepieces/pieces-common";
|
||||
import { smooveAuth } from "./auth";
|
||||
|
||||
export const contactIdDropdown = Property.Dropdown({
|
||||
auth: smooveAuth,
|
||||
displayName: 'Contact',
|
||||
description: 'Select the contact to unsubscribe',
|
||||
required: true,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please connect your account first',
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
const Contacts = await makeRequest(auth.secret_text, HttpMethod.GET, '/Contacts?fields=id,firstName,lastName,email,cellphone');
|
||||
return {
|
||||
disabled: false,
|
||||
options: Contacts.map((Contact: any) => {
|
||||
const name = `${Contact.firstName || ''} ${Contact.lastName || ''}`.trim();
|
||||
const email = Contact.email ? ` (${Contact.email})` : '';
|
||||
const phone = !Contact.email && Contact.cellphone ? ` (${Contact.cellphone})` : '';
|
||||
|
||||
const label = name
|
||||
? `${name}${email || phone}`
|
||||
: Contact.email
|
||||
? Contact.email
|
||||
: Contact.cellphone
|
||||
? Contact.cellphone
|
||||
: `Contact ${Contact.id}`;
|
||||
|
||||
return {
|
||||
label,
|
||||
value: Contact.id,
|
||||
};
|
||||
}),
|
||||
placeholder: 'Select a contact to unsubscribe'
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Error loading contacts',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
export const emailDropdown = Property.Dropdown({
|
||||
auth: smooveAuth,
|
||||
displayName: 'Email Address',
|
||||
description: 'Select an existing contact email or type a new one',
|
||||
required: true,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please connect your account first',
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
const Contacts = await makeRequest(auth.secret_text, HttpMethod.GET, '/Contacts?fields=id,firstName,lastName,email');
|
||||
const emailOptions = Contacts
|
||||
.filter((Contact: any) => Contact.email) // Only contacts with emails
|
||||
.map((Contact: any) => {
|
||||
const name = `${Contact.firstName || ''} ${Contact.lastName || ''}`.trim();
|
||||
const label = name ? `${Contact.email} (${name})` : Contact.email;
|
||||
|
||||
return {
|
||||
label,
|
||||
value: Contact.email,
|
||||
};
|
||||
});
|
||||
|
||||
return {
|
||||
disabled: false,
|
||||
options: emailOptions,
|
||||
placeholder: 'Select existing email or type new one'
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Type email address manually',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
export const listsDropdown = Property.MultiSelectDropdown({
|
||||
auth: smooveAuth,
|
||||
displayName: 'Lists',
|
||||
description: 'Select lists to subscribe the contact to',
|
||||
required: false,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please connect your account first',
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
const Lists = await makeRequest(auth.secret_text, HttpMethod.GET, '/Lists');
|
||||
return {
|
||||
disabled: false,
|
||||
options: Lists.map((List: any) => ({
|
||||
label: List.name || `List ${List.id}`,
|
||||
value: List.id,
|
||||
})),
|
||||
placeholder: 'Select lists (optional)'
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Error loading lists',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
export const LandingPageIdDropdown = Property.Dropdown({
|
||||
auth: smooveAuth,
|
||||
displayName: 'LandingPage/Form ID',
|
||||
description: 'Select the andingPage/Form ',
|
||||
required: true,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Please connect your account first',
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
const LandingPages = await makeRequest(auth.secret_text, HttpMethod.GET, '/LandingPages');
|
||||
return {
|
||||
disabled: false,
|
||||
options: LandingPages.map((LandingPage: any) => ({
|
||||
label: LandingPage.formTitle,
|
||||
value: LandingPage.formId
|
||||
})),
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
disabled: true,
|
||||
options: [],
|
||||
placeholder: 'Error loading teams',
|
||||
};
|
||||
}
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,126 @@
|
||||
|
||||
import { createTrigger, TriggerStrategy, PiecePropValueSchema, Property, AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
|
||||
import { DedupeStrategy, HttpMethod, Polling, pollingHelper } from '@activepieces/pieces-common';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { makeRequest } from '../common/client';
|
||||
|
||||
interface LandingPageData {
|
||||
formId: number;
|
||||
formTitle: string;
|
||||
formType: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof smooveAuth>, { formType?: string }> = {
|
||||
strategy: DedupeStrategy.LAST_ITEM,
|
||||
items: async ({ auth, propsValue }) => {
|
||||
try {
|
||||
let endpoint = '/LandingPages';
|
||||
const { formType } = propsValue;
|
||||
|
||||
if (formType && formType !== 'All') {
|
||||
endpoint += `?type=${encodeURIComponent(formType)}`;
|
||||
}
|
||||
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.GET, endpoint);
|
||||
|
||||
if (!response) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const items: LandingPageData[] = Array.isArray(response) ? response : [response];
|
||||
|
||||
const validItems = items
|
||||
.filter(item => item.formId && item.formTitle)
|
||||
.sort((a, b) => (b.formId || 0) - (a.formId || 0));
|
||||
|
||||
return validItems.map(item => {
|
||||
const { formId, formTitle, formType, ...otherFields } = item;
|
||||
return {
|
||||
id: formId.toString(),
|
||||
data: {
|
||||
formId,
|
||||
formTitle,
|
||||
formType: formType || 'Unknown',
|
||||
...otherFields
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
} catch (error: any) {
|
||||
console.error('Error fetching landing pages:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const newFormCreated = createTrigger({
|
||||
auth: smooveAuth,
|
||||
name: 'newFormCreated',
|
||||
displayName: 'New Form Created',
|
||||
description: 'Fires when a new form/landing page is created in your Smoove account',
|
||||
props: {
|
||||
formType: Property.StaticDropdown({
|
||||
displayName: 'Form Type Filter',
|
||||
description: 'Filter by specific form type, or select "All" to monitor all form types',
|
||||
required: false,
|
||||
defaultValue: 'All',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'All Types', value: 'All' },
|
||||
{ label: 'Landing Page', value: 'LandingPage' },
|
||||
{ label: 'Facebook Form', value: 'Facebook' },
|
||||
{ label: 'Mobile Form', value: 'Mobile' },
|
||||
{ label: 'Embed Form', value: 'Embed' },
|
||||
{ label: 'Popup Form', value: 'Popup' }
|
||||
]
|
||||
}
|
||||
})
|
||||
},
|
||||
sampleData: {
|
||||
"formId": 581014,
|
||||
"formTitle": "Contact Us Landing Page",
|
||||
"formType": "LandingPage",
|
||||
"dateCreated": "2025-01-22T10:30:00Z",
|
||||
"isActive": true,
|
||||
"url": "https://example.smoove.io/landing/contact-us",
|
||||
"description": "Main contact form for lead generation",
|
||||
"fields": [
|
||||
{
|
||||
"name": "email",
|
||||
"type": "email",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "firstName",
|
||||
"type": "text",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "phone",
|
||||
"type": "tel",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async test(context) {
|
||||
const results = await pollingHelper.test(polling, context);
|
||||
return results;
|
||||
},
|
||||
|
||||
async onEnable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onEnable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onDisable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, context);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,225 @@
|
||||
import { createTrigger, TriggerStrategy, PiecePropValueSchema, Property, AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
|
||||
import { DedupeStrategy, HttpMethod, Polling, pollingHelper } from '@activepieces/pieces-common';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { makeRequest } from '../common/client';
|
||||
import { LandingPageIdDropdown } from '../common/props';
|
||||
|
||||
interface LeadSubmission {
|
||||
id: number;
|
||||
contactId: number;
|
||||
pageUrl: string;
|
||||
userIP: string;
|
||||
timeStamp: string;
|
||||
contact: {
|
||||
id: number;
|
||||
email: string;
|
||||
firstName?: string;
|
||||
lastName?: string;
|
||||
cellPhone?: string;
|
||||
timestampSignup: string;
|
||||
externalId?: string;
|
||||
};
|
||||
formId?: number;
|
||||
formType?: string;
|
||||
customFields?: Record<string, any>;
|
||||
}
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof smooveAuth>, any> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
items: async ({ auth, propsValue, lastFetchEpochMS }) => {
|
||||
try {
|
||||
const {
|
||||
monitoringMode,
|
||||
landingPageId,
|
||||
includeCustomFields = false,
|
||||
includeContactDetails = true
|
||||
} = propsValue;
|
||||
|
||||
let allSubmissions: LeadSubmission[] = [];
|
||||
|
||||
if (monitoringMode === 'specific' && landingPageId) {
|
||||
const submissions = await fetchSubmissionsForPage(
|
||||
auth,
|
||||
landingPageId as string,
|
||||
includeCustomFields,
|
||||
includeContactDetails,
|
||||
lastFetchEpochMS
|
||||
);
|
||||
allSubmissions = submissions;
|
||||
|
||||
} else if (monitoringMode === 'all') {
|
||||
try {
|
||||
const landingPages = await makeRequest(auth.secret_text, HttpMethod.GET, '/LandingPages');
|
||||
const pages = Array.isArray(landingPages) ? landingPages : [];
|
||||
|
||||
const pagePromises = pages.slice(0, 10).map(async (page: any) => {
|
||||
if (page.formId) {
|
||||
return await fetchSubmissionsForPage(
|
||||
auth,
|
||||
page.formId.toString(),
|
||||
includeCustomFields,
|
||||
includeContactDetails,
|
||||
lastFetchEpochMS
|
||||
);
|
||||
}
|
||||
return [];
|
||||
});
|
||||
|
||||
const allPageSubmissions = await Promise.all(pagePromises);
|
||||
allSubmissions = allPageSubmissions.flat();
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error fetching all landing pages:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
const uniqueSubmissions = allSubmissions
|
||||
.filter((submission, index, self) =>
|
||||
index === self.findIndex(s => s.id === submission.id)
|
||||
)
|
||||
.sort((a, b) => new Date(b.timeStamp).getTime() - new Date(a.timeStamp).getTime());
|
||||
|
||||
return uniqueSubmissions.map(submission => ({
|
||||
epochMilliSeconds: new Date(submission.timeStamp).getTime(),
|
||||
data: submission
|
||||
}));
|
||||
|
||||
} catch (error: any) {
|
||||
console.error('Error fetching lead submissions:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
async function fetchSubmissionsForPage(
|
||||
auth: AppConnectionValueForAuthProperty<typeof smooveAuth>,
|
||||
pageId: string,
|
||||
includeCustomFields: boolean,
|
||||
includeContactDetails: boolean,
|
||||
lastFetchEpochMS?: number
|
||||
): Promise<LeadSubmission[]> {
|
||||
try {
|
||||
const queryParams = [
|
||||
'fields=id,email,timestampSignup,firstName,lastName,cellPhone,externalId',
|
||||
'page=1',
|
||||
'itemsPerPage=100',
|
||||
`includeCustomFields=${includeCustomFields}`,
|
||||
'includeLinkedLists=false'
|
||||
];
|
||||
|
||||
const endpoint = `/LandingPages/${pageId}/Recipients?${queryParams.join('&')}`;
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.GET, endpoint);
|
||||
|
||||
if (!response) return [];
|
||||
|
||||
const items = Array.isArray(response) ? response : [response];
|
||||
|
||||
const newSubmissions = items.filter((item: any) => {
|
||||
if (!item.timestampSignup) return false;
|
||||
const submissionTime = new Date(item.timestampSignup).getTime();
|
||||
return submissionTime > (lastFetchEpochMS ?? 0);
|
||||
});
|
||||
|
||||
return newSubmissions.map((item: any) => ({
|
||||
id: item.id || Date.now(),
|
||||
contactId: item.id,
|
||||
pageUrl: `https://lp.smoove.io/form/${pageId}`,
|
||||
userIP: item.ipSignup || 'Unknown',
|
||||
timeStamp: item.timestampSignup,
|
||||
contact: {
|
||||
id: item.id,
|
||||
email: item.email,
|
||||
firstName: item.firstName,
|
||||
lastName: item.lastName,
|
||||
cellPhone: item.cellPhone,
|
||||
timestampSignup: item.timestampSignup,
|
||||
externalId: item.externalId
|
||||
},
|
||||
formId: parseInt(pageId),
|
||||
formType: 'LandingPage',
|
||||
...(includeCustomFields && item.customFields ? { customFields: item.customFields } : {})
|
||||
}));
|
||||
|
||||
} catch (error: any) {
|
||||
console.error(`Error fetching submissions for page ${pageId}:`, error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
export const newLeadSubmitted = createTrigger({
|
||||
auth: smooveAuth,
|
||||
name: 'newLeadSubmitted',
|
||||
displayName: 'New Lead Submitted',
|
||||
description: 'Fires when a lead submits via form, popup, or mobile campaign',
|
||||
props: {
|
||||
monitoringMode: Property.StaticDropdown({
|
||||
displayName: 'Monitoring Mode',
|
||||
description: 'Choose whether to monitor all forms or a specific form',
|
||||
required: true,
|
||||
defaultValue: 'all',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'All Forms/Landing Pages', value: 'all' },
|
||||
{ label: 'Specific Form/Landing Page', value: 'specific' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
landingPageId: LandingPageIdDropdown,
|
||||
includeCustomFields: Property.Checkbox({
|
||||
displayName: 'Include Custom Fields',
|
||||
description: 'Include custom field data in the lead submission',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
includeContactDetails: Property.Checkbox({
|
||||
displayName: 'Include Full Contact Details',
|
||||
description: 'Include complete contact information in the submission data',
|
||||
required: false,
|
||||
defaultValue: true
|
||||
})
|
||||
},
|
||||
sampleData: {
|
||||
"id": 965381765,
|
||||
"contactId": 845986993,
|
||||
"pageUrl": "https://lp.smoove.io/form/581014",
|
||||
"userIP": "180.151.116.12",
|
||||
"timeStamp": "2025-01-22T18:41:48.747Z",
|
||||
"formId": 581014,
|
||||
"formType": "LandingPage",
|
||||
"contact": {
|
||||
"id": 845986993,
|
||||
"email": "john.doe@example.com",
|
||||
"firstName": "John",
|
||||
"lastName": "Doe",
|
||||
"cellPhone": "+1234567890",
|
||||
"timestampSignup": "2025-01-22T18:41:48.747Z",
|
||||
"externalId": "ext_12345"
|
||||
},
|
||||
"customFields": {
|
||||
"company": "Tech Corp",
|
||||
"interests": ["marketing", "automation"],
|
||||
"lead_score": 85
|
||||
}
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async test(context) {
|
||||
const results = await pollingHelper.test(polling, context);
|
||||
return results;
|
||||
},
|
||||
|
||||
async onEnable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onEnable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onDisable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, context);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,142 @@
|
||||
|
||||
import { createTrigger, TriggerStrategy, Property, AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
|
||||
import { DedupeStrategy, Polling, pollingHelper, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { makeRequest } from '../common/client';
|
||||
|
||||
interface ListData {
|
||||
id: number;
|
||||
name?: string;
|
||||
publicName?: string;
|
||||
description?: string;
|
||||
publicDescription?: string;
|
||||
permissions?: {
|
||||
isPublic?: boolean;
|
||||
allowsUsersToSubscribe?: boolean;
|
||||
allowsUsersToUnsubscribe?: boolean;
|
||||
isPortal?: boolean;
|
||||
};
|
||||
contactsCount?: number;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof smooveAuth>, {
|
||||
fields?: string;
|
||||
sortBy?: string;
|
||||
maxItems?: number;
|
||||
}> = {
|
||||
strategy: DedupeStrategy.LAST_ITEM,
|
||||
items: async ({ auth, propsValue }) => {
|
||||
try {
|
||||
const { fields, sortBy, maxItems = 50 } = propsValue;
|
||||
|
||||
const queryParams: string[] = [];
|
||||
|
||||
if (fields && fields.trim()) {
|
||||
queryParams.push(`fields=${encodeURIComponent(fields.trim())}`);
|
||||
}
|
||||
|
||||
if (sortBy) {
|
||||
queryParams.push(`sort=${encodeURIComponent(sortBy)}`);
|
||||
}
|
||||
|
||||
queryParams.push('skip=0');
|
||||
queryParams.push(`take=${Math.min(maxItems, 100)}`);
|
||||
|
||||
const endpoint = `/Lists${queryParams.length ? '?' + queryParams.join('&') : ''}`;
|
||||
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.GET, endpoint);
|
||||
|
||||
if (!response) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const items: ListData[] = Array.isArray(response) ? response : [response];
|
||||
|
||||
const validItems = items
|
||||
.filter(item => item.id)
|
||||
.sort((a, b) => (b.id || 0) - (a.id || 0));
|
||||
|
||||
return validItems.map(item => ({
|
||||
id: item.id.toString(),
|
||||
data: item,
|
||||
}));
|
||||
|
||||
} catch (error: any) {
|
||||
console.error('Error fetching lists:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const newListCreated = createTrigger({
|
||||
auth: smooveAuth,
|
||||
name: 'newListCreated',
|
||||
displayName: 'New List Created',
|
||||
description: 'Fires when a new mailing list is created in your Smoove account',
|
||||
props: {
|
||||
fields: Property.ShortText({
|
||||
displayName: 'Fields to Include',
|
||||
description: 'Comma-separated list of fields to include (e.g., id,name,description,contactsCount). Leave empty for all fields.',
|
||||
required: false,
|
||||
defaultValue: 'id,name,description,publicName,contactsCount,permissions'
|
||||
}),
|
||||
sortBy: Property.StaticDropdown({
|
||||
displayName: 'Sort Order',
|
||||
description: 'How to sort the lists for monitoring',
|
||||
required: false,
|
||||
defaultValue: '-id',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Newest First (by ID)', value: '-id' },
|
||||
{ label: 'Oldest First (by ID)', value: 'id' },
|
||||
{ label: 'Name (A-Z)', value: 'name' },
|
||||
{ label: 'Name (Z-A)', value: '-name' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
maxItems: Property.Number({
|
||||
displayName: 'Max Lists to Monitor',
|
||||
description: 'Maximum number of lists to check for new additions (1-100)',
|
||||
required: false,
|
||||
defaultValue: 50
|
||||
})
|
||||
},
|
||||
sampleData: {
|
||||
"id": 173584,
|
||||
"name": "Welcome Series Subscribers",
|
||||
"description": "Automated welcome email series for new signups",
|
||||
"publicName": "Welcome Series",
|
||||
"publicDescription": "Join our welcome series to get started with our platform",
|
||||
"permissions": {
|
||||
"isPublic": true,
|
||||
"allowsUsersToSubscribe": true,
|
||||
"allowsUsersToUnsubscribe": true,
|
||||
"isPortal": false
|
||||
},
|
||||
"contactsCount": 0,
|
||||
"dateCreated": "2025-01-22T14:30:00Z",
|
||||
"isActive": true,
|
||||
"tags": ["welcome", "automation", "new-users"]
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async test(context) {
|
||||
const results = await pollingHelper.test(polling, context);
|
||||
return results;
|
||||
},
|
||||
|
||||
async onEnable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onEnable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onDisable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, context);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,318 @@
|
||||
|
||||
import { createTrigger, TriggerStrategy, PiecePropValueSchema, Property, AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
|
||||
import { DedupeStrategy, Polling, pollingHelper, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { smooveAuth } from '../common/auth';
|
||||
import { makeRequest } from '../common/client';
|
||||
|
||||
interface ContactData {
|
||||
id: number;
|
||||
email?: string;
|
||||
firstName?: string;
|
||||
lastName?: string;
|
||||
phone?: string;
|
||||
cellPhone?: string;
|
||||
address?: string;
|
||||
city?: string;
|
||||
country?: string;
|
||||
company?: string;
|
||||
position?: string;
|
||||
canReceiveEmails?: boolean;
|
||||
canReceiveSmsMessages?: boolean;
|
||||
ipSignup?: string;
|
||||
timestampSignup?: string;
|
||||
lastChanged?: string;
|
||||
deleted?: boolean;
|
||||
joinSource?: string;
|
||||
listAssociationTime?: string;
|
||||
c_DaysSinceSignup?: number;
|
||||
campaignSource?: string;
|
||||
externalId?: string;
|
||||
dateOfBirth?: string;
|
||||
lists_Linked?: number[];
|
||||
customFields?: Record<string, any>;
|
||||
unsubscribeReasonType?: string;
|
||||
unsubscribeReasonComment?: string;
|
||||
timestampUnsubscribed?: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof smooveAuth>, {
|
||||
fields?: string;
|
||||
includeCustomFields?: boolean;
|
||||
includeLinkedLists?: boolean;
|
||||
joinSourceFilter?: string;
|
||||
sortBy?: string;
|
||||
maxItems?: number;
|
||||
}> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
items: async ({ auth, propsValue, lastFetchEpochMS }) => {
|
||||
try {
|
||||
const {
|
||||
fields,
|
||||
includeCustomFields = false,
|
||||
includeLinkedLists = false,
|
||||
joinSourceFilter,
|
||||
sortBy = '-timestampSignup',
|
||||
maxItems = 100
|
||||
} = propsValue;
|
||||
|
||||
const queryParams: string[] = [];
|
||||
|
||||
if (fields && fields.trim()) {
|
||||
queryParams.push(`fields=${encodeURIComponent(fields.trim())}`);
|
||||
} else {
|
||||
queryParams.push('fields=id,email,firstName,lastName,timestampSignup,joinSource,lastChanged,canReceiveEmails,campaignSource,ipSignup');
|
||||
}
|
||||
|
||||
if (includeCustomFields) {
|
||||
queryParams.push('includeCustomFields=true');
|
||||
}
|
||||
if (includeLinkedLists) {
|
||||
queryParams.push('includeLinkedLists=true');
|
||||
}
|
||||
|
||||
queryParams.push(`sort=${encodeURIComponent(sortBy)}`);
|
||||
|
||||
queryParams.push('skip=0');
|
||||
queryParams.push(`take=${Math.min(maxItems, 100)}`);
|
||||
|
||||
const endpoint = `/Contacts?${queryParams.join('&')}`;
|
||||
|
||||
const response = await makeRequest(auth.secret_text, HttpMethod.GET, endpoint);
|
||||
|
||||
if (!response) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const items: ContactData[] = Array.isArray(response) ? response : [response];
|
||||
|
||||
const newSubscribers = items.filter(item => {
|
||||
if (!item.timestampSignup) return false;
|
||||
|
||||
const signupTime = new Date(item.timestampSignup).getTime();
|
||||
const isNew = signupTime > (lastFetchEpochMS ?? 0);
|
||||
|
||||
if (joinSourceFilter && joinSourceFilter !== 'All' && item.joinSource !== joinSourceFilter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return isNew;
|
||||
});
|
||||
|
||||
const sortedSubscribers = newSubscribers
|
||||
.sort((a, b) => new Date(b.timestampSignup || 0).getTime() - new Date(a.timestampSignup || 0).getTime());
|
||||
|
||||
return sortedSubscribers.map(item => ({
|
||||
epochMilliSeconds: new Date(item.timestampSignup || 0).getTime(),
|
||||
data: {
|
||||
id: item.id?.toString(),
|
||||
email: item.email,
|
||||
firstName: item.firstName,
|
||||
lastName: item.lastName,
|
||||
phone: item.phone,
|
||||
cellPhone: item.cellPhone,
|
||||
|
||||
address: item.address,
|
||||
city: item.city,
|
||||
country: item.country,
|
||||
company: item.company,
|
||||
position: item.position,
|
||||
dateOfBirth: item.dateOfBirth,
|
||||
externalId: item.externalId,
|
||||
|
||||
canReceiveEmails: item.canReceiveEmails,
|
||||
canReceiveSmsMessages: item.canReceiveSmsMessages,
|
||||
|
||||
ipSignup: item.ipSignup,
|
||||
timestampSignup: item.timestampSignup,
|
||||
joinSource: item.joinSource,
|
||||
campaignSource: item.campaignSource,
|
||||
|
||||
lastChanged: item.lastChanged,
|
||||
listAssociationTime: item.listAssociationTime,
|
||||
c_DaysSinceSignup: item.c_DaysSinceSignup,
|
||||
|
||||
deleted: item.deleted,
|
||||
|
||||
...(includeLinkedLists && item.lists_Linked ? { lists_Linked: item.lists_Linked } : {}),
|
||||
...(includeCustomFields && item.customFields ? { customFields: item.customFields } : {}),
|
||||
|
||||
...(item.unsubscribeReasonType ? {
|
||||
unsubscribeReasonType: item.unsubscribeReasonType,
|
||||
unsubscribeReasonComment: item.unsubscribeReasonComment,
|
||||
timestampUnsubscribed: item.timestampUnsubscribed
|
||||
} : {}),
|
||||
|
||||
triggerInfo: {
|
||||
detectedAt: new Date().toISOString(),
|
||||
source: 'smoove',
|
||||
type: 'new_subscriber',
|
||||
joinSource: item.joinSource,
|
||||
daysSinceSignup: item.c_DaysSinceSignup || 0
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
} catch (error: any) {
|
||||
console.error('Error fetching new subscribers:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const newSubscriber = createTrigger({
|
||||
auth: smooveAuth,
|
||||
name: 'newSubscriber',
|
||||
displayName: 'New Subscriber',
|
||||
description: 'Fires when a new subscriber is added to your Smoove account',
|
||||
props: {
|
||||
fields: Property.ShortText({
|
||||
displayName: 'Fields to Include',
|
||||
description: 'Comma-separated fields to include (e.g., id,email,firstName,lastName,timestampSignup). Leave empty for default fields.',
|
||||
required: false,
|
||||
defaultValue: 'id,email,firstName,lastName,timestampSignup,joinSource,campaignSource,canReceiveEmails,ipSignup'
|
||||
}),
|
||||
includeCustomFields: Property.Checkbox({
|
||||
displayName: 'Include Custom Fields',
|
||||
description: 'Include custom field data in subscriber information',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
includeLinkedLists: Property.Checkbox({
|
||||
displayName: 'Include Linked Lists',
|
||||
description: 'Include list associations in subscriber information',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
joinSourceFilter: Property.StaticDropdown({
|
||||
displayName: 'Join Source Filter',
|
||||
description: 'Filter subscribers by how they joined (leave as "All" to monitor all sources)',
|
||||
required: false,
|
||||
defaultValue: 'All',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'All Sources', value: 'All' },
|
||||
{ label: 'Unknown', value: 'Unknown' },
|
||||
{ label: 'Manual Entry', value: 'ByHand' },
|
||||
{ label: 'Import', value: 'Import' },
|
||||
{ label: 'Facebook', value: 'FaceBook' },
|
||||
{ label: 'API', value: 'API' },
|
||||
{ label: 'Landing Page', value: 'LandingPage' },
|
||||
{ label: 'Embed Form', value: 'Embed' },
|
||||
{ label: 'Popup', value: 'Popup' },
|
||||
{ label: 'QR Code', value: 'QR' },
|
||||
{ label: 'SMS', value: 'SMS' },
|
||||
{ label: 'WhatsApp', value: 'Whatsapp' },
|
||||
{ label: 'Form', value: 'Form' },
|
||||
{ label: 'Automation', value: 'Automation' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
sortBy: Property.StaticDropdown({
|
||||
displayName: 'Sort Order',
|
||||
description: 'How to sort contacts for monitoring new subscribers',
|
||||
required: false,
|
||||
defaultValue: '-timestampSignup',
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Newest Signups First', value: '-timestampSignup' },
|
||||
{ label: 'Oldest Signups First', value: 'timestampSignup' },
|
||||
{ label: 'Recently Changed First', value: '-lastChanged' },
|
||||
{ label: 'ID (Newest First)', value: '-id' },
|
||||
{ label: 'Email (A-Z)', value: 'email' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
maxItems: Property.Number({
|
||||
displayName: 'Max Items to Check',
|
||||
description: 'Maximum number of contacts to check for new subscribers (1-100)',
|
||||
required: false,
|
||||
defaultValue: 100
|
||||
})
|
||||
},
|
||||
sampleData: {
|
||||
"id": "845986993",
|
||||
"email": "john.doe@example.com",
|
||||
"firstName": "John",
|
||||
"lastName": "Doe",
|
||||
"phone": "+1234567890",
|
||||
"cellPhone": "+1234567890",
|
||||
"address": "123 Main Street",
|
||||
"city": "New York",
|
||||
"country": "United States",
|
||||
"company": "Tech Corp",
|
||||
"position": "Marketing Manager",
|
||||
"dateOfBirth": "1990-05-15T00:00:00Z",
|
||||
"externalId": "ext_12345",
|
||||
"canReceiveEmails": true,
|
||||
"canReceiveSmsMessages": true,
|
||||
"ipSignup": "192.168.1.100",
|
||||
"timestampSignup": "2025-01-22T14:30:00Z",
|
||||
"joinSource": "LandingPage",
|
||||
"campaignSource": "winter-campaign-2025",
|
||||
"lastChanged": "2025-01-22T14:30:00Z",
|
||||
"listAssociationTime": "2025-01-22T14:30:00Z",
|
||||
"c_DaysSinceSignup": 0,
|
||||
"deleted": false,
|
||||
"lists_Linked": [5556, 8886],
|
||||
"customFields": {
|
||||
"industry": "Technology",
|
||||
"lead_score": 85,
|
||||
"interests": ["email marketing", "automation"]
|
||||
},
|
||||
"triggerInfo": {
|
||||
"detectedAt": "2025-01-22T14:35:00Z",
|
||||
"source": "smoove",
|
||||
"type": "new_subscriber",
|
||||
"joinSource": "LandingPage",
|
||||
"daysSinceSignup": 0
|
||||
}
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async test(context) {
|
||||
try {
|
||||
const response = await makeRequest(context.auth.secret_text, HttpMethod.GET, '/Contacts?take=1&sort=-timestampSignup');
|
||||
const item = Array.isArray(response) ? response[0] : response;
|
||||
|
||||
if (!item) {
|
||||
throw new Error('No subscribers found to test with');
|
||||
}
|
||||
|
||||
return [{
|
||||
id: item.id?.toString(),
|
||||
email: item.email,
|
||||
firstName: item.firstName,
|
||||
lastName: item.lastName,
|
||||
phone: item.phone,
|
||||
cellPhone: item.cellPhone,
|
||||
timestampSignup: item.timestampSignup,
|
||||
joinSource: item.joinSource,
|
||||
campaignSource: item.campaignSource,
|
||||
canReceiveEmails: item.canReceiveEmails,
|
||||
canReceiveSmsMessages: item.canReceiveSmsMessages,
|
||||
triggerInfo: {
|
||||
detectedAt: new Date().toISOString(),
|
||||
source: 'smoove',
|
||||
type: 'new_subscriber_test',
|
||||
}
|
||||
}];
|
||||
} catch (error) {
|
||||
throw new Error('Unable to test trigger - please check your API connection');
|
||||
}
|
||||
},
|
||||
|
||||
async onEnable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onEnable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
const { store, auth, propsValue } = context;
|
||||
await pollingHelper.onDisable(polling, { store, auth, propsValue });
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, context);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"importHelpers": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noPropertyAccessFromIndexSignature": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user