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,18 @@
|
||||
{
|
||||
"extends": ["../../../../.eslintrc.json"],
|
||||
"ignorePatterns": ["!**/*"],
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": ["*.ts", "*.tsx"],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": ["*.js", "*.jsx"],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
# Talkable piece
|
||||
|
||||
======================
|
||||
|
||||
Talkable’s marketing technology empowers e-commerce brands to acquire & retain high-value customers through referral & loyalty marketing programs. As a single-source solution for your referral marketing and loyalty marketing needs, brands are able to create seamless user experiences designed to increase brand engagement and build brand affinity.
|
||||
|
||||
## Website
|
||||
|
||||
[https://www.talkable.com/](https://www.talkable.com/)
|
||||
|
||||
## API documentation
|
||||
|
||||
[https://docs.talkable.com/api_v2.html](https://docs.talkable.com/api_v2.html)
|
||||
|
||||
## Actions:
|
||||
|
||||
- Find coupon
|
||||
- Get Loyalty actions
|
||||
- Create Event
|
||||
- Create batch of events
|
||||
- Create Purchase
|
||||
- Create batch of purchases
|
||||
- Refund origin
|
||||
- Find Person
|
||||
- Update Person data
|
||||
- Anonymize Person (GDPR)
|
||||
- Unsubscribe Person
|
||||
|
||||
---
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-talkable` to build the library.
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@activepieces/piece-talkable",
|
||||
"version": "0.1.9"
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"name": "pieces-talkable",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/talkable/src",
|
||||
"projectType": "library",
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/talkable",
|
||||
"tsConfig": "packages/pieces/community/talkable/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/talkable/package.json",
|
||||
"main": "packages/pieces/community/talkable/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/talkable/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/talkable/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"publish": {
|
||||
"command": "node tools/scripts/publish.mjs pieces-talkable {args.ver} {args.tag}",
|
||||
"dependsOn": [
|
||||
"build"
|
||||
]
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/talkable",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Empfehlungsmarketing-Programme, die die Einnahmen steigern",
|
||||
"Talkable site ID": "Sprechbare Site-ID",
|
||||
"API key": "API-Schlüssel",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFolge diesen Schritten:\n\n1. **Melde dich in dein Talkable Konto ein:** Öffne Talkable https://www.talkable.com/login.\n\n2. **Gib den Talkable Site Slug und API-Schlüssel ein:** Gehe zu **Alle Site-Einstellungen** > **API-Einstellungen** und kopiere Site ID und API Schlüssel.\n\n",
|
||||
"Find person": "Person finden",
|
||||
"Find coupon": "Gutschein finden",
|
||||
"Update person": "Person aktualisieren",
|
||||
"Anonymize person": "Person anonymisieren",
|
||||
"Unsubscribe person": "Person abbestellen",
|
||||
"Create purchase": "Kauf erstellen",
|
||||
"Create batch of purchases": "Stapel von Einkäufen erstellen",
|
||||
"Create event": "Ereignis erstellen",
|
||||
"Create batch of events": "Batch von Ereignissen erstellen",
|
||||
"Refund purchase/event": "Kauf/Ereignis zurückerstatten",
|
||||
"Get loyalty actions": "Treue-Aktionen erhalten",
|
||||
"Update referral status": "Empfehlungsstatus aktualisieren",
|
||||
"Share and claim offer": "Angebot teilen und beanspruchen",
|
||||
"Custom API Call": "Eigener API-Aufruf",
|
||||
"Find person by email": "Person per E-Mail finden",
|
||||
"Find coupon code": "Gutscheincode finden",
|
||||
"Update person by email": "Person per E-Mail aktualisieren",
|
||||
"Anonymize person by email": "Person per E-Mail anonymisieren",
|
||||
"Unsubscribe person by email": "Person per E-Mail abbestellen",
|
||||
"Create purchase in Talkable": "Kauf in Talkable erstellen",
|
||||
"Create batch of purchases in Talkable": "Erstellen Sie einen Stapel von Einkäufen in Talkable",
|
||||
"Create event in Talkable": "Ereignis in Talkable erstellen",
|
||||
"Create batch of events in Talkable": "Erstelle Batch von Ereignissen in Talkable",
|
||||
"Mark origin as refund": "Herkunft als Rückerstattung markieren",
|
||||
"Get array of loyalty actions": "Erhalte eine Reihe von Treue-Aktionen",
|
||||
"You can void or approve referral": "Du kannst die Empfehlung ablehnen oder genehmigen",
|
||||
"Using this action, you can share and get a friend's reward": "Mit dieser Aktion kannst du teilen und die Belohnung eines Freundes erhalten",
|
||||
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
|
||||
"Person email": "Personen-E-Mail",
|
||||
"Scope": "Bereich",
|
||||
"Coupon code": "Gutscheincode",
|
||||
"Person first name": "Person Vorname",
|
||||
"Person last name": "Person Nachname",
|
||||
"Person phone number": "Personen-Telefonnummer",
|
||||
"Person username": "Persönlicher Benutzername",
|
||||
"Customer ID": "Kunden-ID",
|
||||
"Custom properties": "Eigene Eigenschaften",
|
||||
"Opt-in status": "Opt-in-Status",
|
||||
"Unsubscribe status": "Status abbestellen",
|
||||
"Unsubscribed date": "Abgemeldetes Datum",
|
||||
"Email": "E-Mail",
|
||||
"Order number": "Bestellnummer",
|
||||
"Subtotal": "Zwischensumme",
|
||||
"First name": "Vorname",
|
||||
"Last name": "Nachname",
|
||||
"Username": "Benutzername",
|
||||
"Customer id": "Kundennummer",
|
||||
"Phone number": "Telefonnummer",
|
||||
"Campaign tags": "Kampagnen-Tags",
|
||||
"Sharing channels": "Kanäle freigeben",
|
||||
"IP address": "IP-Adresse",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Erstellt am",
|
||||
"Traffic source": "Traffic-Quelle",
|
||||
"Coupon codes": "Gutscheincodes",
|
||||
"Currency iso code": "Währungs-Isocode",
|
||||
"Custom field": "Benutzerdefiniertes Feld",
|
||||
"Shipping address": "Lieferadresse",
|
||||
"Shipping zip": "Versand Zip",
|
||||
"Items": "Items",
|
||||
"Create offers": "Angebote erstellen",
|
||||
"Purchases": "Einkäufe",
|
||||
"Event category": "Ereigniskategorie",
|
||||
"Event number": "Event-Nummer",
|
||||
"Events": "Ereignisse",
|
||||
"Order or event number": "Bestell- oder Veranstaltungsnummer",
|
||||
"Refund subtotal": "Zwischensumme erstatten",
|
||||
"Refunded date": "Erstattungsdatum",
|
||||
"Status": "Status",
|
||||
"Advocate email": "E-Mail anfordern",
|
||||
"Friend email": "E-Mail des Freundes",
|
||||
"Campaign tag": "Kampagnen-Tag",
|
||||
"Method": "Methode",
|
||||
"Headers": "Kopfzeilen",
|
||||
"Query Parameters": "Abfrageparameter",
|
||||
"Body": "Körper",
|
||||
"Response is Binary ?": "Antwort ist binär?",
|
||||
"No Error on Failure": "Kein Fehler bei Fehler",
|
||||
"Timeout (in seconds)": "Timeout (in Sekunden)",
|
||||
"Select scope": "Bereich auswählen",
|
||||
"Opt-in status true/false": "Opt-in-Status true/false",
|
||||
"Unsubscribe status true/false": "Abmelde-Status true/false",
|
||||
"Required for multi-currency sites": "Erforderlich für mehrwährende Sites",
|
||||
"You can pass items with purchase": "Du kannst Gegenstände mit Kauf übergeben",
|
||||
"Create offers for campaign": "Angebote für Kampagne erstellen",
|
||||
"You can pass items with event": "Du kannst Items mit Event übergeben",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Empfehlungsstatus auswählen. Nur \"genehmigt\" oder \"Storniert\" werden akzeptiert",
|
||||
"Example : advocate@example.com": "Beispiel : advocate@example.com",
|
||||
"Example : friend@example.com": "Beispiel : friend@example.com",
|
||||
"Example : invite": "Beispiel : Einladung",
|
||||
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
|
||||
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
|
||||
"General information": "Allgemeine Informationen",
|
||||
"Referrals as advocate": "Empfehlungen als Befürworter",
|
||||
"Referrals as friend": "Empfehlungen als Freund",
|
||||
"Rewards": "Belohnung",
|
||||
"Shares": "Aktien",
|
||||
"Personal data": "Persönliche Daten",
|
||||
"true": "ja",
|
||||
"false": "nein",
|
||||
"approved": "genehmigt",
|
||||
"voided": "ungültig",
|
||||
"GET": "ERHALTEN",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "LÖSCHEN",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Programas de marketing de referencia que generan ingresos",
|
||||
"Talkable site ID": "ID del sitio calificable",
|
||||
"API key": "Clave API",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "Buscar persona",
|
||||
"Find coupon": "Buscar cupón",
|
||||
"Update person": "Actualizar persona",
|
||||
"Anonymize person": "Anonimizar persona",
|
||||
"Unsubscribe person": "Desuscribirse persona",
|
||||
"Create purchase": "Crear compra",
|
||||
"Create batch of purchases": "Crear lote de compras",
|
||||
"Create event": "Crear evento",
|
||||
"Create batch of events": "Crear lote de eventos",
|
||||
"Refund purchase/event": "Reembolso de compra/evento",
|
||||
"Get loyalty actions": "Acciones de lealtad",
|
||||
"Update referral status": "Actualizar estado de referencia",
|
||||
"Share and claim offer": "Compartir y reclamar oferta",
|
||||
"Custom API Call": "Llamada API personalizada",
|
||||
"Find person by email": "Buscar persona por email",
|
||||
"Find coupon code": "Buscar código de cupón",
|
||||
"Update person by email": "Actualizar persona por email",
|
||||
"Anonymize person by email": "Anonimizar persona por correo electrónico",
|
||||
"Unsubscribe person by email": "Desuscribirse persona por correo electrónico",
|
||||
"Create purchase in Talkable": "Crear compra en Talkable",
|
||||
"Create batch of purchases in Talkable": "Crear un lote de compras en Talkable",
|
||||
"Create event in Talkable": "Crear evento en Hablable",
|
||||
"Create batch of events in Talkable": "Crear lote de eventos en Talkable",
|
||||
"Mark origin as refund": "Marcar origen como reembolso",
|
||||
"Get array of loyalty actions": "Obtener un array de acciones de lealtad",
|
||||
"You can void or approve referral": "Puedes anular o aprobar la referencia",
|
||||
"Using this action, you can share and get a friend's reward": "Usando esta acción, puedes compartir y obtener la recompensa de un amigo",
|
||||
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
|
||||
"Person email": "Email de la persona",
|
||||
"Scope": "Alcance",
|
||||
"Coupon code": "Código del cupón",
|
||||
"Person first name": "Nombre de la persona",
|
||||
"Person last name": "Apellido de persona",
|
||||
"Person phone number": "Número de teléfono de la persona",
|
||||
"Person username": "Nombre de usuario",
|
||||
"Customer ID": "ID del cliente",
|
||||
"Custom properties": "Propiedades personalizadas",
|
||||
"Opt-in status": "Estado opt-in",
|
||||
"Unsubscribe status": "Estado de desuscripción",
|
||||
"Unsubscribed date": "Fecha de cancelación",
|
||||
"Email": "E-mail",
|
||||
"Order number": "Número de pedido",
|
||||
"Subtotal": "Subtotal",
|
||||
"First name": "Nombre",
|
||||
"Last name": "Apellido",
|
||||
"Username": "Usuario",
|
||||
"Customer id": "Id del cliente",
|
||||
"Phone number": "Número de teléfono",
|
||||
"Campaign tags": "Etiquetas de campaña",
|
||||
"Sharing channels": "Canales compartidos",
|
||||
"IP address": "Dirección IP",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Creado el",
|
||||
"Traffic source": "Fuente de Tricción",
|
||||
"Coupon codes": "Códigos de cupón",
|
||||
"Currency iso code": "Código de moneda ISO",
|
||||
"Custom field": "Campo personalizado",
|
||||
"Shipping address": "Dirección de envío",
|
||||
"Shipping zip": "Envío zip",
|
||||
"Items": "Elementos",
|
||||
"Create offers": "Crear ofertas",
|
||||
"Purchases": "Compras",
|
||||
"Event category": "Categoría del evento",
|
||||
"Event number": "Número de evento",
|
||||
"Events": "Eventos",
|
||||
"Order or event number": "Pedido o número de evento",
|
||||
"Refund subtotal": "Subtotal del reembolso",
|
||||
"Refunded date": "Fecha de reembolso",
|
||||
"Status": "Estado",
|
||||
"Advocate email": "Email de Abogado",
|
||||
"Friend email": "Correo del amigo",
|
||||
"Campaign tag": "Etiqueta de campaña",
|
||||
"Method": "Método",
|
||||
"Headers": "Encabezados",
|
||||
"Query Parameters": "Parámetros de consulta",
|
||||
"Body": "Cuerpo",
|
||||
"Response is Binary ?": "¿Respuesta es binaria?",
|
||||
"No Error on Failure": "No hay ningún error en fallo",
|
||||
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
|
||||
"Select scope": "Seleccionar ámbito",
|
||||
"Opt-in status true/false": "Estado de confirmación verdadero/falso",
|
||||
"Unsubscribe status true/false": "Estado de desuscripción verdadero/falso",
|
||||
"Required for multi-currency sites": "Requerido para sitios multidivisas",
|
||||
"You can pass items with purchase": "Puedes pasar artículos con la compra",
|
||||
"Create offers for campaign": "Crear ofertas para la campaña",
|
||||
"You can pass items with event": "Puedes pasar artículos con el evento",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Seleccione el estado de referencia. Sólo se aceptan \"aprobado\" o \"anulado\"",
|
||||
"Example : advocate@example.com": "Ejemplo: advocate@example.com",
|
||||
"Example : friend@example.com": "Ejemplo: friend@example.com",
|
||||
"Example : invite": "Ejemplo: invitación",
|
||||
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
|
||||
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
|
||||
"General information": "Información general",
|
||||
"Referrals as advocate": "Referir como defensor",
|
||||
"Referrals as friend": "Referir como amigo",
|
||||
"Rewards": "Recompensas",
|
||||
"Shares": "Acciones",
|
||||
"Personal data": "Datos personales",
|
||||
"true": "verdadero",
|
||||
"false": "falso",
|
||||
"approved": "aprobado",
|
||||
"voided": "anulado",
|
||||
"GET": "RECOGER",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "BORRAR",
|
||||
"HEAD": "LIMPIO"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Programmes de marketing de parrainage qui génèrent des revenus",
|
||||
"Talkable site ID": "Identifiant du site parlable",
|
||||
"API key": "Clé API",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "Trouver une personne",
|
||||
"Find coupon": "Trouver un coupon",
|
||||
"Update person": "Mettre à jour la personne",
|
||||
"Anonymize person": "Anonymiser la personne",
|
||||
"Unsubscribe person": "Se désabonner",
|
||||
"Create purchase": "Créer un achat",
|
||||
"Create batch of purchases": "Créer un lot d'achats",
|
||||
"Create event": "Créer un événement",
|
||||
"Create batch of events": "Créer un lot d'événements",
|
||||
"Refund purchase/event": "Rembourser l'achat/l'événement",
|
||||
"Get loyalty actions": "Obtenir des actions de fidélité",
|
||||
"Update referral status": "Mettre à jour le statut de parrainage",
|
||||
"Share and claim offer": "Partager et réclamer l'offre",
|
||||
"Custom API Call": "Appel d'API personnalisé",
|
||||
"Find person by email": "Trouver une personne par e-mail",
|
||||
"Find coupon code": "Trouver le code de coupon",
|
||||
"Update person by email": "Mettre à jour personne par e-mail",
|
||||
"Anonymize person by email": "Anonymiser personne par e-mail",
|
||||
"Unsubscribe person by email": "Se désabonner par e-mail",
|
||||
"Create purchase in Talkable": "Créer un achat dans Talkable",
|
||||
"Create batch of purchases in Talkable": "Créer un lot d'achats dans Talkable",
|
||||
"Create event in Talkable": "Créer un événement dans Talkable",
|
||||
"Create batch of events in Talkable": "Créer un lot d'événements dans Talkable",
|
||||
"Mark origin as refund": "Marquer l'origine comme remboursement",
|
||||
"Get array of loyalty actions": "Obtenir un tableau d'actions de fidélité",
|
||||
"You can void or approve referral": "Tu peux annuler ou approuver la recommandation",
|
||||
"Using this action, you can share and get a friend's reward": "En utilisant cette action, vous pouvez partager et obtenir les récompenses d'un ami",
|
||||
"Make a custom API call to a specific endpoint": "Passer un appel API personnalisé à un endpoint spécifique",
|
||||
"Person email": "E-mail de la personne",
|
||||
"Scope": "Périmètre d'application",
|
||||
"Coupon code": "Code promo",
|
||||
"Person first name": "Prénom de la personne",
|
||||
"Person last name": "Nom de la personne",
|
||||
"Person phone number": "Numéro de téléphone de la personne",
|
||||
"Person username": "Nom d'utilisateur de la personne",
|
||||
"Customer ID": "ID du client",
|
||||
"Custom properties": "Propriétés personnalisées",
|
||||
"Opt-in status": "Statut de l'opt-in",
|
||||
"Unsubscribe status": "Statut de désinscription",
|
||||
"Unsubscribed date": "Date de désinscription",
|
||||
"Email": "Courriel",
|
||||
"Order number": "Numéro de commande",
|
||||
"Subtotal": "Sous-total",
|
||||
"First name": "Prénom",
|
||||
"Last name": "Nom de famille",
|
||||
"Username": "Nom d'utilisateur",
|
||||
"Customer id": "Identifiant du client",
|
||||
"Phone number": "Numéro de téléphone",
|
||||
"Campaign tags": "Étiquettes de campagne",
|
||||
"Sharing channels": "Partage des canaux",
|
||||
"IP address": "Adresse IP",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Créé le",
|
||||
"Traffic source": "Source du trafic",
|
||||
"Coupon codes": "Codes de coupon",
|
||||
"Currency iso code": "Code iso de la devise",
|
||||
"Custom field": "Champ personnalisé",
|
||||
"Shipping address": "Adresse de livraison",
|
||||
"Shipping zip": "Code postal de livraison",
|
||||
"Items": "Éléments",
|
||||
"Create offers": "Créer des offres",
|
||||
"Purchases": "Achats",
|
||||
"Event category": "Catégorie d'événement",
|
||||
"Event number": "Numéro de l'événement",
|
||||
"Events": "Évènements",
|
||||
"Order or event number": "Numéro de commande ou d'événement",
|
||||
"Refund subtotal": "Sous-total du remboursement",
|
||||
"Refunded date": "Date de remboursement",
|
||||
"Status": "Statut",
|
||||
"Advocate email": "Advocate email",
|
||||
"Friend email": "Courriel de l'ami",
|
||||
"Campaign tag": "Balise de campagne",
|
||||
"Method": "Méthode",
|
||||
"Headers": "En-têtes",
|
||||
"Query Parameters": "Paramètres de requête",
|
||||
"Body": "Corps",
|
||||
"Response is Binary ?": "La réponse est Binaire ?",
|
||||
"No Error on Failure": "Aucune erreur en cas d'échec",
|
||||
"Timeout (in seconds)": "Délai d'expiration (en secondes)",
|
||||
"Select scope": "Sélectionner le périmètre d'application",
|
||||
"Opt-in status true/false": "Statut opt-in vrai/faux",
|
||||
"Unsubscribe status true/false": "Statut de désinscription vrai/faux",
|
||||
"Required for multi-currency sites": "Requis pour les sites multi-devises",
|
||||
"You can pass items with purchase": "Vous pouvez passer des objets avec l'achat",
|
||||
"Create offers for campaign": "Créer des offres pour la campagne",
|
||||
"You can pass items with event": "Vous pouvez passer des objets avec un événement",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Sélectionnez le statut de parrainage. Seuls « approuvé» ou « annulé» sont acceptés.",
|
||||
"Example : advocate@example.com": "Exemple : advocate@example.com",
|
||||
"Example : friend@example.com": "Exemple : friend@example.com",
|
||||
"Example : invite": "Exemple : invitation",
|
||||
"Authorization headers are injected automatically from your connection.": "Les en-têtes d'autorisation sont injectés automatiquement à partir de votre connexion.",
|
||||
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
|
||||
"General information": "Informations générales",
|
||||
"Referrals as advocate": "Parrainage comme défenseur",
|
||||
"Referrals as friend": "Parrainage comme ami",
|
||||
"Rewards": "Récompenses",
|
||||
"Shares": "Partages",
|
||||
"Personal data": "Données personnelles",
|
||||
"true": "vrai",
|
||||
"false": "faux",
|
||||
"approved": "approuvé",
|
||||
"voided": "annulé",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "紹介マーケティングプログラムが収益を上げます",
|
||||
"Talkable site ID": "トーク可能なサイトID",
|
||||
"API key": "API キー",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "人を探す",
|
||||
"Find coupon": "クーポンを検索",
|
||||
"Update person": "担当者を更新",
|
||||
"Anonymize person": "匿名化する",
|
||||
"Unsubscribe person": "Unsubscribe person",
|
||||
"Create purchase": "購入を作成",
|
||||
"Create batch of purchases": "一括購入を作成",
|
||||
"Create event": "予定を作成",
|
||||
"Create batch of events": "一括イベントを作成",
|
||||
"Refund purchase/event": "払い戻し購入/イベント",
|
||||
"Get loyalty actions": "ロイヤルティアクションを取得する",
|
||||
"Update referral status": "紹介状態を更新",
|
||||
"Share and claim offer": "オファーを共有して請求する",
|
||||
"Custom API Call": "カスタムAPI通話",
|
||||
"Find person by email": "電子メールで人を検索",
|
||||
"Find coupon code": "クーポンコードを検索",
|
||||
"Update person by email": "電子メールで人を更新",
|
||||
"Anonymize person by email": "メールアドレスで匿名化する",
|
||||
"Unsubscribe person by email": "メールアドレスで購読を解除",
|
||||
"Create purchase in Talkable": "Talkableで購入を作成",
|
||||
"Create batch of purchases in Talkable": "Talkableで一括購入を作成する",
|
||||
"Create event in Talkable": "トークテーブルでイベントを作成する",
|
||||
"Create batch of events in Talkable": "Talkable で一括イベントを作成する",
|
||||
"Mark origin as refund": "原点を返金としてマーク",
|
||||
"Get array of loyalty actions": "ロイヤルティアクションの配列を取得",
|
||||
"You can void or approve referral": "紹介を無効または承認することができます",
|
||||
"Using this action, you can share and get a friend's reward": "この操作で友達の報酬を獲得できます",
|
||||
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
|
||||
"Person email": "個人メールアドレス",
|
||||
"Scope": "スコープ",
|
||||
"Coupon code": "クーポンコード",
|
||||
"Person first name": "ユーザー名",
|
||||
"Person last name": "人の姓",
|
||||
"Person phone number": "個人の電話番号",
|
||||
"Person username": "個人のユーザー名",
|
||||
"Customer ID": "顧客 ID",
|
||||
"Custom properties": "カスタムプロパティ",
|
||||
"Opt-in status": "オプトインの状態",
|
||||
"Unsubscribe status": "Unsubscribe status",
|
||||
"Unsubscribed date": "購読解除日",
|
||||
"Email": "Eメールアドレス",
|
||||
"Order number": "注文番号",
|
||||
"Subtotal": "小計",
|
||||
"First name": "名",
|
||||
"Last name": "姓",
|
||||
"Username": "ユーザー名",
|
||||
"Customer id": "顧客 id",
|
||||
"Phone number": "電話番号",
|
||||
"Campaign tags": "キャンペーンタグ",
|
||||
"Sharing channels": "チャンネルを共有",
|
||||
"IP address": "IP アドレス",
|
||||
"UUID": "UUID",
|
||||
"Created at": "作成日時",
|
||||
"Traffic source": "トラフィックソース",
|
||||
"Coupon codes": "クーポンコード",
|
||||
"Currency iso code": "通貨ISOコード",
|
||||
"Custom field": "カスタムフィールド",
|
||||
"Shipping address": "配送先住所",
|
||||
"Shipping zip": "配送先郵便番号",
|
||||
"Items": "アイテム",
|
||||
"Create offers": "オファーを作成",
|
||||
"Purchases": "購入",
|
||||
"Event category": "イベントカテゴリ",
|
||||
"Event number": "イベント番号",
|
||||
"Events": "イベント",
|
||||
"Order or event number": "注文またはイベント番号",
|
||||
"Refund subtotal": "返金小計",
|
||||
"Refunded date": "返金日",
|
||||
"Status": "Status",
|
||||
"Advocate email": "アドボケートのメール",
|
||||
"Friend email": "友達メール",
|
||||
"Campaign tag": "キャンペーンタグ",
|
||||
"Method": "方法",
|
||||
"Headers": "ヘッダー",
|
||||
"Query Parameters": "クエリパラメータ",
|
||||
"Body": "本文",
|
||||
"Response is Binary ?": "応答はバイナリですか?",
|
||||
"No Error on Failure": "失敗時にエラーはありません",
|
||||
"Timeout (in seconds)": "タイムアウト(秒)",
|
||||
"Select scope": "スコープを選択",
|
||||
"Opt-in status true/false": "オプトインのステータスがtrue/false",
|
||||
"Unsubscribe status true/false": "Unsubscribe status true/false",
|
||||
"Required for multi-currency sites": "複数通貨サイトに必要です",
|
||||
"You can pass items with purchase": "購入してアイテムを渡すことができます",
|
||||
"Create offers for campaign": "キャンペーンのオファーを作成",
|
||||
"You can pass items with event": "イベントでアイテムを渡すことができます",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "紹介状態を選択します。「承認済み」または「無効」のみが承認されます",
|
||||
"Example : advocate@example.com": "例 : advocate@example.com",
|
||||
"Example : friend@example.com": "例 : friend@example.com",
|
||||
"Example : invite": "例 : 招待",
|
||||
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
|
||||
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
|
||||
"General information": "一般情報",
|
||||
"Referrals as advocate": "提唱者として紹介する",
|
||||
"Referrals as friend": "友達として紹介する",
|
||||
"Rewards": "Recompensas",
|
||||
"Shares": "シェア",
|
||||
"Personal data": "個人データ",
|
||||
"true": "true",
|
||||
"false": "false",
|
||||
"approved": "承認済み",
|
||||
"voided": "無効にしました",
|
||||
"GET": "取得",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "削除",
|
||||
"HEAD": "頭"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Referral marketing programma's die inkomsten aandrijven",
|
||||
"Talkable site ID": "Talkable site ID",
|
||||
"API key": "API sleutel",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nVolg deze stappen:\n\n1. **Log in op je Talkable account:** Open https://www.talkable.com/login.\n\n2. **Vul de Talkable site slug en API key in:** Ga naar **Alle site instellingen** > **API instellingen**, en kopieer Site ID en API key.\n\n",
|
||||
"Find person": "Zoek persoon",
|
||||
"Find coupon": "Coupon zoeken",
|
||||
"Update person": "Persoon bijwerken",
|
||||
"Anonymize person": "Persoon anonimiseren",
|
||||
"Unsubscribe person": "Persoon afmelden",
|
||||
"Create purchase": "Aankoop aanmaken",
|
||||
"Create batch of purchases": "Maak een groep aankopen",
|
||||
"Create event": "Creëer evenement",
|
||||
"Create batch of events": "Maak een reeks van afspraken",
|
||||
"Refund purchase/event": "Terugbetaling aankoop/evenement",
|
||||
"Get loyalty actions": "Loyaliteit acties verkrijgen",
|
||||
"Update referral status": "Referentiestatus bijwerken",
|
||||
"Share and claim offer": "Deel en claim aanbod",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Find person by email": "Zoek persoon per e-mail",
|
||||
"Find coupon code": "Zoek kortingscode",
|
||||
"Update person by email": "Update persoon per e-mail",
|
||||
"Anonymize person by email": "Persoon anoniem per e-mail",
|
||||
"Unsubscribe person by email": "Persoon afmelden via e-mail",
|
||||
"Create purchase in Talkable": "Maak een aankoop in Talkable",
|
||||
"Create batch of purchases in Talkable": "Maak een groep aankopen in Talkable",
|
||||
"Create event in Talkable": "Creëer een afspraak in Talkable",
|
||||
"Create batch of events in Talkable": "Maak een reeks afspraken in Talkable",
|
||||
"Mark origin as refund": "Markeer oorsprong als terugbetaling",
|
||||
"Get array of loyalty actions": "Krijg array van loyaliteit acties",
|
||||
"You can void or approve referral": "Je kunt de aanbeveling annuleren of goedkeuren",
|
||||
"Using this action, you can share and get a friend's reward": "Met behulp van deze actie kunt u de beloning van een vriend delen en krijgen",
|
||||
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
|
||||
"Person email": "E-mailadres persoon",
|
||||
"Scope": "Bereik",
|
||||
"Coupon code": "Kortingsbon code",
|
||||
"Person first name": "Voornaam persoon",
|
||||
"Person last name": "Achternaam persoon",
|
||||
"Person phone number": "Telefoonnummer persoon",
|
||||
"Person username": "Persoon gebruikersnaam",
|
||||
"Customer ID": "Klant ID",
|
||||
"Custom properties": "Aangepaste eigenschappen",
|
||||
"Opt-in status": "Opt-in status",
|
||||
"Unsubscribe status": "Status uitschrijven",
|
||||
"Unsubscribed date": "Uitgeschreven datum",
|
||||
"Email": "E-mail",
|
||||
"Order number": "Bestelling nummer",
|
||||
"Subtotal": "Subtotaal",
|
||||
"First name": "Voornaam is vereist.",
|
||||
"Last name": "Achternaam is vereist.",
|
||||
"Username": "Gebruikersnaam",
|
||||
"Customer id": "Klant ID",
|
||||
"Phone number": "Telefoon nummer",
|
||||
"Campaign tags": "Campagne tags",
|
||||
"Sharing channels": "Kanalen delen",
|
||||
"IP address": "IP adres",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Aangemaakt op",
|
||||
"Traffic source": "Data bron",
|
||||
"Coupon codes": "Kortingsbon codes",
|
||||
"Currency iso code": "Valuta iso code",
|
||||
"Custom field": "Aangepast veld",
|
||||
"Shipping address": "Verzend adres",
|
||||
"Shipping zip": "Verzend postadres",
|
||||
"Items": "Artikelen",
|
||||
"Create offers": "Aanbiedingen aanmaken",
|
||||
"Purchases": "Aankopen",
|
||||
"Event category": "Event categorie",
|
||||
"Event number": "Gebeurtenis nummer",
|
||||
"Events": "Evenementen",
|
||||
"Order or event number": "Bestelling of afspraak nummer",
|
||||
"Refund subtotal": "Terugbetaling subtotaal",
|
||||
"Refunded date": "Datum terugbetaald",
|
||||
"Status": "status",
|
||||
"Advocate email": "Advocate e-mail",
|
||||
"Friend email": "Vriend e-mail",
|
||||
"Campaign tag": "Campagne tag",
|
||||
"Method": "Methode",
|
||||
"Headers": "Kopteksten",
|
||||
"Query Parameters": "Query parameters",
|
||||
"Body": "Lichaam",
|
||||
"Response is Binary ?": "Antwoord is binair?",
|
||||
"No Error on Failure": "Geen fout bij fout",
|
||||
"Timeout (in seconds)": "Time-out (in seconden)",
|
||||
"Select scope": "Selecteer bereik",
|
||||
"Opt-in status true/false": "Opt-in status true/false",
|
||||
"Unsubscribe status true/false": "Uitschrijven van status waar/onwaar",
|
||||
"Required for multi-currency sites": "Vereist voor multi-valuta sites",
|
||||
"You can pass items with purchase": "Je kunt items passeren met aankoop",
|
||||
"Create offers for campaign": "Aanbiedingen voor campagne aanmaken",
|
||||
"You can pass items with event": "Je kunt items passeren met een gebeurtenis",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Selecteer referral status. Alleen \"goedgekeurd\" of \"ongeldig\" worden geaccepteerd",
|
||||
"Example : advocate@example.com": "Voorbeeld : advocate@example.com",
|
||||
"Example : friend@example.com": "Voorbeeld : vriend@voorbeeld.com",
|
||||
"Example : invite": "Voorbeeld : uitnodiging",
|
||||
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
|
||||
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
|
||||
"General information": "Algemene informatie",
|
||||
"Referrals as advocate": "Verwijzingen als voorstander",
|
||||
"Referrals as friend": "Verwijzingen als vriend",
|
||||
"Rewards": "Beloningen",
|
||||
"Shares": "Aandelen",
|
||||
"Personal data": "Persoonlijke gegevens",
|
||||
"true": "waar",
|
||||
"false": "onwaar",
|
||||
"approved": "goedgekeurd",
|
||||
"voided": "ongeldig verklaard",
|
||||
"GET": "KRIJG",
|
||||
"POST": "POSTE",
|
||||
"PATCH": "BEKIJK",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "VERWIJDEREN",
|
||||
"HEAD": "HOOFD"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Programas de marketing de referências que geram receitas",
|
||||
"Talkable site ID": "ID do site Talkable",
|
||||
"API key": "Chave da API",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nSiga estes passos:\n\n1. **Entre na sua conta Talkable:** Abra o Talkable https://www.talkable.com/login.\n\n2. **Digite a chave Slug do site e API Talkable:** Vá para **Todas as Configurações do Site** > **Configurações da API** e copie o ID do site e a chave de API.\n\n",
|
||||
"Find person": "Encontrar pessoa",
|
||||
"Find coupon": "Encontrar cupom",
|
||||
"Update person": "Atualizar pessoa",
|
||||
"Anonymize person": "Manter pessoa anônima",
|
||||
"Unsubscribe person": "Desinscrever pessoa",
|
||||
"Create purchase": "Criar compra",
|
||||
"Create batch of purchases": "Criar lote de compras",
|
||||
"Create event": "Criar evento",
|
||||
"Create batch of events": "Criar lote de eventos",
|
||||
"Refund purchase/event": "Reembolsar compra/evento",
|
||||
"Get loyalty actions": "Obter ações de fidelidade",
|
||||
"Update referral status": "Atualizar status de referência",
|
||||
"Share and claim offer": "Compartilhar e reivindicar oferta",
|
||||
"Custom API Call": "Chamada de API personalizada",
|
||||
"Find person by email": "Encontrar pessoa por e-mail",
|
||||
"Find coupon code": "Encontrar código de cupom",
|
||||
"Update person by email": "Atualizar pessoa por e-mail",
|
||||
"Anonymize person by email": "Anonimizar pessoa por e-mail",
|
||||
"Unsubscribe person by email": "Cancelar inscrição da pessoa por e-mail",
|
||||
"Create purchase in Talkable": "Crie uma compra em Talkable",
|
||||
"Create batch of purchases in Talkable": "Crie um lote de compras no Talkable",
|
||||
"Create event in Talkable": "Criar evento no Talkable",
|
||||
"Create batch of events in Talkable": "Criar lote de eventos em Talkable",
|
||||
"Mark origin as refund": "Marcar origem como reembolso",
|
||||
"Get array of loyalty actions": "Obter matriz de ações de fidelidade",
|
||||
"You can void or approve referral": "Você pode anular ou aprovar referência",
|
||||
"Using this action, you can share and get a friend's reward": "Usando esta ação, você pode compartilhar e receber uma recompensa de um amigo",
|
||||
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
|
||||
"Person email": "E-mail pessoal",
|
||||
"Scope": "Escopo",
|
||||
"Coupon code": "Código do cupom",
|
||||
"Person first name": "Primeiro nome da pessoa",
|
||||
"Person last name": "Sobrenome da pessoa",
|
||||
"Person phone number": "Número do telefone pessoal",
|
||||
"Person username": "Usuário pessoal",
|
||||
"Customer ID": "ID do cliente",
|
||||
"Custom properties": "Propriedades personalizadas",
|
||||
"Opt-in status": "Status Opt-in",
|
||||
"Unsubscribe status": "Status de descadastro",
|
||||
"Unsubscribed date": "Data de descadastro",
|
||||
"Email": "e-mail",
|
||||
"Order number": "Número do pedido",
|
||||
"Subtotal": "Sub-total",
|
||||
"First name": "Primeiro nome",
|
||||
"Last name": "Último Nome",
|
||||
"Username": "Usuário:",
|
||||
"Customer id": "Id do cliente",
|
||||
"Phone number": "Número de telefone",
|
||||
"Campaign tags": "Tags da Campanha",
|
||||
"Sharing channels": "Canais de compartilhamento",
|
||||
"IP address": "Endereço IP",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Criado em",
|
||||
"Traffic source": "Origem do tráfego",
|
||||
"Coupon codes": "Códigos de cupom",
|
||||
"Currency iso code": "Código ISO da moeda",
|
||||
"Custom field": "Campo personalizado",
|
||||
"Shipping address": "Endereço de Entrega",
|
||||
"Shipping zip": "CEP de envio",
|
||||
"Items": "Itens",
|
||||
"Create offers": "Criar ofertas",
|
||||
"Purchases": "Compras",
|
||||
"Event category": "Categoria de evento",
|
||||
"Event number": "Número do evento",
|
||||
"Events": "Eventos",
|
||||
"Order or event number": "Pedido ou número de evento",
|
||||
"Refund subtotal": "Subtotal de reembolso",
|
||||
"Refunded date": "Data de reembolso",
|
||||
"Status": "Estado",
|
||||
"Advocate email": "E-mail de advogado",
|
||||
"Friend email": "E-mail de amigo",
|
||||
"Campaign tag": "Tag da Campanha",
|
||||
"Method": "Método",
|
||||
"Headers": "Cabeçalhos",
|
||||
"Query Parameters": "Parâmetros da consulta",
|
||||
"Body": "Conteúdo",
|
||||
"Response is Binary ?": "A resposta é binária ?",
|
||||
"No Error on Failure": "Nenhum erro no Failure",
|
||||
"Timeout (in seconds)": "Tempo limite (em segundos)",
|
||||
"Select scope": "Selecionar escopo",
|
||||
"Opt-in status true/false": "Opt-in status verdadeiro/falso",
|
||||
"Unsubscribe status true/false": "Status de cancelamento verdadeiro/falso",
|
||||
"Required for multi-currency sites": "Necessário para sites com múltiplas moedas",
|
||||
"You can pass items with purchase": "Você pode passar itens com compra",
|
||||
"Create offers for campaign": "Criar ofertas para a campanha",
|
||||
"You can pass items with event": "Você pode passar itens com evento",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Selecione o status de referência. Apenas \"aprovado\" ou \"anulado\" são aceitos",
|
||||
"Example : advocate@example.com": "Exemplo: advocate@example.com",
|
||||
"Example : friend@example.com": "Exemplo: friend@example.com",
|
||||
"Example : invite": "Exemplo: convite",
|
||||
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
|
||||
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
|
||||
"General information": "Informação Geral",
|
||||
"Referrals as advocate": "Indicações como advogado",
|
||||
"Referrals as friend": "Indicações como amigo",
|
||||
"Rewards": "Prêmios",
|
||||
"Shares": "Compartilhamentos",
|
||||
"Personal data": "Dados pessoais",
|
||||
"true": "verdadeiro",
|
||||
"false": "falso",
|
||||
"approved": "aprovado",
|
||||
"voided": "anulado",
|
||||
"GET": "OBTER",
|
||||
"POST": "POSTAR",
|
||||
"PATCH": "COMPRAR",
|
||||
"PUT": "COLOCAR",
|
||||
"DELETE": "EXCLUIR",
|
||||
"HEAD": "CABEÇA"
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"Talkable": "Говорящий",
|
||||
"Referral marketing programs that drive revenue": "Реферальная маркетинговая программа, приводящая к доходам",
|
||||
"Talkable site ID": "Идентификатор сайта",
|
||||
"API key": "API ключ",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "Найти человека",
|
||||
"Find coupon": "Найти купон",
|
||||
"Update person": "Обновить человека",
|
||||
"Anonymize person": "Анонимизировать человека",
|
||||
"Unsubscribe person": "Отписаться от человека",
|
||||
"Create purchase": "Создать покупку",
|
||||
"Create batch of purchases": "Создать партию покупок",
|
||||
"Create event": "Создать событие",
|
||||
"Create batch of events": "Создать партию событий",
|
||||
"Refund purchase/event": "Возврат покупки/события",
|
||||
"Get loyalty actions": "Получить действия лояльности",
|
||||
"Update referral status": "Обновить статус реферала",
|
||||
"Share and claim offer": "Поделиться и оферты",
|
||||
"Custom API Call": "Пользовательский вызов API",
|
||||
"Find person by email": "Найти человека по электронной почте",
|
||||
"Find coupon code": "Найти код купона",
|
||||
"Update person by email": "Обновить человека по электронной почте",
|
||||
"Anonymize person by email": "Анонимизировать пользователя по электронной почте",
|
||||
"Unsubscribe person by email": "Отписаться от человека по электронной почте",
|
||||
"Create purchase in Talkable": "Создать покупку в Talkable",
|
||||
"Create batch of purchases in Talkable": "Создание партии покупок в Talkable",
|
||||
"Create event in Talkable": "Создать событие в Talkable",
|
||||
"Create batch of events in Talkable": "Создать партию событий в Talkable",
|
||||
"Mark origin as refund": "Отметить происхождение как возврат",
|
||||
"Get array of loyalty actions": "Получить массив действий лояльности",
|
||||
"You can void or approve referral": "Вы можете аннулировать или одобрить реферал",
|
||||
"Using this action, you can share and get a friend's reward": "Используя это действие, вы можете поделиться и получить награду друга",
|
||||
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
|
||||
"Person email": "Электронная почта",
|
||||
"Scope": "Сфера охвата",
|
||||
"Coupon code": "Код купона",
|
||||
"Person first name": "Имя пользователя",
|
||||
"Person last name": "Фамилия пользователя",
|
||||
"Person phone number": "Номер телефона",
|
||||
"Person username": "Имя пользователя",
|
||||
"Customer ID": "ID клиента",
|
||||
"Custom properties": "Пользовательские свойства",
|
||||
"Opt-in status": "Статус участника",
|
||||
"Unsubscribe status": "Статус отписки",
|
||||
"Unsubscribed date": "Дата отказа от подписки",
|
||||
"Email": "Почта",
|
||||
"Order number": "Номер заказа",
|
||||
"Subtotal": "Итого",
|
||||
"First name": "Имя",
|
||||
"Last name": "Фамилия",
|
||||
"Username": "Имя пользователя",
|
||||
"Customer id": "ID клиента",
|
||||
"Phone number": "Номер телефона",
|
||||
"Campaign tags": "Теги кампании",
|
||||
"Sharing channels": "Обмен каналами",
|
||||
"IP address": "IP-адрес",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Создано в",
|
||||
"Traffic source": "Источник трафика",
|
||||
"Coupon codes": "Коды купонов",
|
||||
"Currency iso code": "Код Валюты",
|
||||
"Custom field": "Настраиваемое поле",
|
||||
"Shipping address": "Адрес доставки",
|
||||
"Shipping zip": "Почтовый индекс",
|
||||
"Items": "Items",
|
||||
"Create offers": "Создать предложения",
|
||||
"Purchases": "Покупки",
|
||||
"Event category": "Категория события",
|
||||
"Event number": "Номер события",
|
||||
"Events": "События",
|
||||
"Order or event number": "Заказ или номер события",
|
||||
"Refund subtotal": "Сумма возврата",
|
||||
"Refunded date": "Дата возврата",
|
||||
"Status": "Status",
|
||||
"Advocate email": "Адвокатская почта",
|
||||
"Friend email": "Email друга",
|
||||
"Campaign tag": "Тег кампании",
|
||||
"Method": "Метод",
|
||||
"Headers": "Заголовки",
|
||||
"Query Parameters": "Параметры запроса",
|
||||
"Body": "Тело",
|
||||
"No Error on Failure": "Нет ошибок при ошибке",
|
||||
"Timeout (in seconds)": "Таймаут (в секундах)",
|
||||
"Select scope": "Выберите область",
|
||||
"Opt-in status true/false": "Ввод в статус true/false",
|
||||
"Unsubscribe status true/false": "Статус отмены подписки true/false",
|
||||
"Required for multi-currency sites": "Требуется для многовалютных сайтов",
|
||||
"You can pass items with purchase": "Вы можете передавать товары с покупкой",
|
||||
"Create offers for campaign": "Создать предложения для кампании",
|
||||
"You can pass items with event": "Вы можете передавать предметы с событием",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Выберите статус реферала. Принимаются только \"одобренные\" или \"аннулированные\"",
|
||||
"Example : advocate@example.com": "Пример: advocate@example.com",
|
||||
"Example : friend@example.com": "Пример: friend@example.com",
|
||||
"Example : invite": "Пример : пригласить",
|
||||
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
|
||||
"General information": "Информация общего характера",
|
||||
"Referrals as advocate": "Адресаты как адвокат",
|
||||
"Referrals as friend": "Рефералы другу",
|
||||
"Rewards": "Награды",
|
||||
"Shares": "Акции",
|
||||
"Personal data": "Личные данные",
|
||||
"true": "верно",
|
||||
"false": "неверно",
|
||||
"approved": "одобрено",
|
||||
"voided": "аннулирован",
|
||||
"GET": "ПОЛУЧИТЬ",
|
||||
"POST": "ПОСТ",
|
||||
"PATCH": "ПАТЧ",
|
||||
"PUT": "ПОКУПИТЬ",
|
||||
"DELETE": "УДАЛИТЬ",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Referral marketing programs that drive revenue",
|
||||
"Talkable site ID": "Talkable site ID",
|
||||
"API key": "API key",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "Find person",
|
||||
"Find coupon": "Find coupon",
|
||||
"Update person": "Update person",
|
||||
"Anonymize person": "Anonymize person",
|
||||
"Unsubscribe person": "Unsubscribe person",
|
||||
"Create purchase": "Create purchase",
|
||||
"Create batch of purchases": "Create batch of purchases",
|
||||
"Create event": "Create event",
|
||||
"Create batch of events": "Create batch of events",
|
||||
"Refund purchase/event": "Refund purchase/event",
|
||||
"Get loyalty actions": "Get loyalty actions",
|
||||
"Update referral status": "Update referral status",
|
||||
"Share and claim offer": "Share and claim offer",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Find person by email": "Find person by email",
|
||||
"Find coupon code": "Find coupon code",
|
||||
"Update person by email": "Update person by email",
|
||||
"Anonymize person by email": "Anonymize person by email",
|
||||
"Unsubscribe person by email": "Unsubscribe person by email",
|
||||
"Create purchase in Talkable": "Create purchase in Talkable",
|
||||
"Create batch of purchases in Talkable": "Create batch of purchases in Talkable",
|
||||
"Create event in Talkable": "Create event in Talkable",
|
||||
"Create batch of events in Talkable": "Create batch of events in Talkable",
|
||||
"Mark origin as refund": "Mark origin as refund",
|
||||
"Get array of loyalty actions": "Get array of loyalty actions",
|
||||
"You can void or approve referral": "You can void or approve referral",
|
||||
"Using this action, you can share and get a friend's reward": "Using this action, you can share and get a friend's reward",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Person email": "Person email",
|
||||
"Scope": "Scope",
|
||||
"Coupon code": "Coupon code",
|
||||
"Person first name": "Person first name",
|
||||
"Person last name": "Person last name",
|
||||
"Person phone number": "Person phone number",
|
||||
"Person username": "Person username",
|
||||
"Customer ID": "Customer ID",
|
||||
"Custom properties": "Custom properties",
|
||||
"Opt-in status": "Opt-in status",
|
||||
"Unsubscribe status": "Unsubscribe status",
|
||||
"Unsubscribed date": "Unsubscribed date",
|
||||
"Email": "Email",
|
||||
"Order number": "Order number",
|
||||
"Subtotal": "Subtotal",
|
||||
"First name": "First name",
|
||||
"Last name": "Last name",
|
||||
"Username": "Username",
|
||||
"Customer id": "Customer id",
|
||||
"Phone number": "Phone number",
|
||||
"Campaign tags": "Campaign tags",
|
||||
"Sharing channels": "Sharing channels",
|
||||
"IP address": "IP address",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Created at",
|
||||
"Traffic source": "Traffic source",
|
||||
"Coupon codes": "Coupon codes",
|
||||
"Currency iso code": "Currency iso code",
|
||||
"Custom field": "Custom field",
|
||||
"Shipping address": "Shipping address",
|
||||
"Shipping zip": "Shipping zip",
|
||||
"Items": "Items",
|
||||
"Create offers": "Create offers",
|
||||
"Purchases": "Purchases",
|
||||
"Event category": "Event category",
|
||||
"Event number": "Event number",
|
||||
"Events": "Events",
|
||||
"Order or event number": "Order or event number",
|
||||
"Refund subtotal": "Refund subtotal",
|
||||
"Refunded date": "Refunded date",
|
||||
"Status": "Status",
|
||||
"Advocate email": "Advocate email",
|
||||
"Friend email": "Friend email",
|
||||
"Campaign tag": "Campaign tag",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"Select scope": "Select scope",
|
||||
"Opt-in status true/false": "Opt-in status true/false",
|
||||
"Unsubscribe status true/false": "Unsubscribe status true/false",
|
||||
"Required for multi-currency sites": "Required for multi-currency sites",
|
||||
"You can pass items with purchase": "You can pass items with purchase",
|
||||
"Create offers for campaign": "Create offers for campaign",
|
||||
"You can pass items with event": "You can pass items with event",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Select referral status. Only \"approved\" or \"voided\" are accepted",
|
||||
"Example : advocate@example.com": "Example : advocate@example.com",
|
||||
"Example : friend@example.com": "Example : friend@example.com",
|
||||
"Example : invite": "Example : invite",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"General information": "General information",
|
||||
"Referrals as advocate": "Referrals as advocate",
|
||||
"Referrals as friend": "Referrals as friend",
|
||||
"Rewards": "Rewards",
|
||||
"Shares": "Shares",
|
||||
"Personal data": "Personal data",
|
||||
"true": "true",
|
||||
"false": "false",
|
||||
"approved": "approved",
|
||||
"voided": "voided",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"Talkable": "Talkable",
|
||||
"Referral marketing programs that drive revenue": "Referral marketing programs that drive revenue",
|
||||
"Talkable site ID": "Talkable site ID",
|
||||
"API key": "API key",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "Find person",
|
||||
"Find coupon": "Find coupon",
|
||||
"Update person": "Update person",
|
||||
"Anonymize person": "Anonymize person",
|
||||
"Unsubscribe person": "Unsubscribe person",
|
||||
"Create purchase": "Create purchase",
|
||||
"Create batch of purchases": "Create batch of purchases",
|
||||
"Create event": "Create event",
|
||||
"Create batch of events": "Create batch of events",
|
||||
"Refund purchase/event": "Refund purchase/event",
|
||||
"Get loyalty actions": "Get loyalty actions",
|
||||
"Update referral status": "Update referral status",
|
||||
"Share and claim offer": "Share and claim offer",
|
||||
"Custom API Call": "Custom API Call",
|
||||
"Find person by email": "Find person by email",
|
||||
"Find coupon code": "Find coupon code",
|
||||
"Update person by email": "Update person by email",
|
||||
"Anonymize person by email": "Anonymize person by email",
|
||||
"Unsubscribe person by email": "Unsubscribe person by email",
|
||||
"Create purchase in Talkable": "Create purchase in Talkable",
|
||||
"Create batch of purchases in Talkable": "Create batch of purchases in Talkable",
|
||||
"Create event in Talkable": "Create event in Talkable",
|
||||
"Create batch of events in Talkable": "Create batch of events in Talkable",
|
||||
"Mark origin as refund": "Mark origin as refund",
|
||||
"Get array of loyalty actions": "Get array of loyalty actions",
|
||||
"You can void or approve referral": "You can void or approve referral",
|
||||
"Using this action, you can share and get a friend's reward": "Using this action, you can share and get a friend's reward",
|
||||
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
||||
"Person email": "Person email",
|
||||
"Scope": "Scope",
|
||||
"Coupon code": "Coupon code",
|
||||
"Person first name": "Person first name",
|
||||
"Person last name": "Person last name",
|
||||
"Person phone number": "Person phone number",
|
||||
"Person username": "Person username",
|
||||
"Customer ID": "Customer ID",
|
||||
"Custom properties": "Custom properties",
|
||||
"Opt-in status": "Opt-in status",
|
||||
"Unsubscribe status": "Unsubscribe status",
|
||||
"Unsubscribed date": "Unsubscribed date",
|
||||
"Email": "Email",
|
||||
"Order number": "Order number",
|
||||
"Subtotal": "Subtotal",
|
||||
"First name": "First name",
|
||||
"Last name": "Last name",
|
||||
"Username": "Username",
|
||||
"Customer id": "Customer id",
|
||||
"Phone number": "Phone number",
|
||||
"Campaign tags": "Campaign tags",
|
||||
"Sharing channels": "Sharing channels",
|
||||
"IP address": "IP address",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Created at",
|
||||
"Traffic source": "Traffic source",
|
||||
"Coupon codes": "Coupon codes",
|
||||
"Currency iso code": "Currency iso code",
|
||||
"Custom field": "Custom field",
|
||||
"Shipping address": "Shipping address",
|
||||
"Shipping zip": "Shipping zip",
|
||||
"Items": "Các mục",
|
||||
"Create offers": "Create offers",
|
||||
"Purchases": "Purchases",
|
||||
"Event category": "Event category",
|
||||
"Event number": "Event number",
|
||||
"Events": "Events",
|
||||
"Order or event number": "Order or event number",
|
||||
"Refund subtotal": "Refund subtotal",
|
||||
"Refunded date": "Refunded date",
|
||||
"Status": "Status",
|
||||
"Advocate email": "Advocate email",
|
||||
"Friend email": "Friend email",
|
||||
"Campaign tag": "Campaign tag",
|
||||
"Method": "Method",
|
||||
"Headers": "Headers",
|
||||
"Query Parameters": "Query Parameters",
|
||||
"Body": "Body",
|
||||
"No Error on Failure": "No Error on Failure",
|
||||
"Timeout (in seconds)": "Timeout (in seconds)",
|
||||
"Select scope": "Select scope",
|
||||
"Opt-in status true/false": "Opt-in status true/false",
|
||||
"Unsubscribe status true/false": "Unsubscribe status true/false",
|
||||
"Required for multi-currency sites": "Required for multi-currency sites",
|
||||
"You can pass items with purchase": "You can pass items with purchase",
|
||||
"Create offers for campaign": "Create offers for campaign",
|
||||
"You can pass items with event": "You can pass items with event",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Select referral status. Only \"approved\" or \"voided\" are accepted",
|
||||
"Example : advocate@example.com": "Example : advocate@example.com",
|
||||
"Example : friend@example.com": "Example : friend@example.com",
|
||||
"Example : invite": "Example : invite",
|
||||
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
||||
"General information": "General information",
|
||||
"Referrals as advocate": "Referrals as advocate",
|
||||
"Referrals as friend": "Referrals as friend",
|
||||
"Rewards": "Rewards",
|
||||
"Shares": "Shares",
|
||||
"Personal data": "Personal data",
|
||||
"true": "đúng",
|
||||
"false": "sai",
|
||||
"approved": "approved",
|
||||
"voided": "voided",
|
||||
"GET": "GET",
|
||||
"POST": "POST",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "PUT",
|
||||
"DELETE": "DELETE",
|
||||
"HEAD": "HEAD"
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"Referral marketing programs that drive revenue": "Referral marketing programs that drive revenue",
|
||||
"Talkable site ID": "Talkable site ID",
|
||||
"API key": "API key",
|
||||
"\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n": "\nFollow these steps:\n\n1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.\n\n2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.\n\n",
|
||||
"Find person": "Find person",
|
||||
"Find coupon": "Find coupon",
|
||||
"Update person": "Update person",
|
||||
"Anonymize person": "Anonymize person",
|
||||
"Unsubscribe person": "Unsubscribe person",
|
||||
"Create purchase": "Create purchase",
|
||||
"Create batch of purchases": "Create batch of purchases",
|
||||
"Create event": "Create event",
|
||||
"Create batch of events": "Create batch of events",
|
||||
"Refund purchase/event": "Refund purchase/event",
|
||||
"Get loyalty actions": "Get loyalty actions",
|
||||
"Update referral status": "Update referral status",
|
||||
"Share and claim offer": "Share and claim offer",
|
||||
"Custom API Call": "自定义 API 呼叫",
|
||||
"Find person by email": "Find person by email",
|
||||
"Find coupon code": "Find coupon code",
|
||||
"Update person by email": "Update person by email",
|
||||
"Anonymize person by email": "Anonymize person by email",
|
||||
"Unsubscribe person by email": "Unsubscribe person by email",
|
||||
"Create purchase in Talkable": "Create purchase in Talkable",
|
||||
"Create batch of purchases in Talkable": "Create batch of purchases in Talkable",
|
||||
"Create event in Talkable": "Create event in Talkable",
|
||||
"Create batch of events in Talkable": "Create batch of events in Talkable",
|
||||
"Mark origin as refund": "Mark origin as refund",
|
||||
"Get array of loyalty actions": "Get array of loyalty actions",
|
||||
"You can void or approve referral": "You can void or approve referral",
|
||||
"Using this action, you can share and get a friend's reward": "Using this action, you can share and get a friend's reward",
|
||||
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
|
||||
"Person email": "Person email",
|
||||
"Scope": "Scope",
|
||||
"Coupon code": "Coupon code",
|
||||
"Person first name": "Person first name",
|
||||
"Person last name": "Person last name",
|
||||
"Person phone number": "Person phone number",
|
||||
"Person username": "Person username",
|
||||
"Customer ID": "Customer ID",
|
||||
"Custom properties": "Custom properties",
|
||||
"Opt-in status": "Opt-in status",
|
||||
"Unsubscribe status": "Unsubscribe status",
|
||||
"Unsubscribed date": "Unsubscribed date",
|
||||
"Email": "电子邮件地址",
|
||||
"Order number": "Order number",
|
||||
"Subtotal": "Subtotal",
|
||||
"First name": "First name",
|
||||
"Last name": "Last name",
|
||||
"Username": "用户名",
|
||||
"Customer id": "Customer id",
|
||||
"Phone number": "Phone number",
|
||||
"Campaign tags": "Campaign tags",
|
||||
"Sharing channels": "Sharing channels",
|
||||
"IP address": "IP address",
|
||||
"UUID": "UUID",
|
||||
"Created at": "Created at",
|
||||
"Traffic source": "Traffic source",
|
||||
"Coupon codes": "Coupon codes",
|
||||
"Currency iso code": "Currency iso code",
|
||||
"Custom field": "Custom field",
|
||||
"Shipping address": "Shipping address",
|
||||
"Shipping zip": "Shipping zip",
|
||||
"Items": "项目",
|
||||
"Create offers": "Create offers",
|
||||
"Purchases": "Purchases",
|
||||
"Event category": "Event category",
|
||||
"Event number": "Event number",
|
||||
"Events": "Events",
|
||||
"Order or event number": "Order or event number",
|
||||
"Refund subtotal": "Refund subtotal",
|
||||
"Refunded date": "Refunded date",
|
||||
"Status": "状态",
|
||||
"Advocate email": "Advocate email",
|
||||
"Friend email": "Friend email",
|
||||
"Campaign tag": "Campaign tag",
|
||||
"Method": "方法",
|
||||
"Headers": "信头",
|
||||
"Query Parameters": "查询参数",
|
||||
"Body": "正文内容",
|
||||
"Response is Binary ?": "Response is Binary ?",
|
||||
"No Error on Failure": "失败时没有错误",
|
||||
"Timeout (in seconds)": "超时(秒)",
|
||||
"Select scope": "Select scope",
|
||||
"Opt-in status true/false": "Opt-in status true/false",
|
||||
"Unsubscribe status true/false": "Unsubscribe status true/false",
|
||||
"Required for multi-currency sites": "Required for multi-currency sites",
|
||||
"You can pass items with purchase": "You can pass items with purchase",
|
||||
"Create offers for campaign": "Create offers for campaign",
|
||||
"You can pass items with event": "You can pass items with event",
|
||||
"Select referral status. Only \"approved\" or \"voided\" are accepted": "Select referral status. Only \"approved\" or \"voided\" are accepted",
|
||||
"Example : advocate@example.com": "Example : advocate@example.com",
|
||||
"Example : friend@example.com": "Example : friend@example.com",
|
||||
"Example : invite": "Example : invite",
|
||||
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
|
||||
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
|
||||
"General information": "General information",
|
||||
"Referrals as advocate": "Referrals as advocate",
|
||||
"Referrals as friend": "Referrals as friend",
|
||||
"Rewards": "Rewards",
|
||||
"Shares": "Shares",
|
||||
"Personal data": "Personal data",
|
||||
"true": "眞",
|
||||
"false": "偽",
|
||||
"approved": "approved",
|
||||
"voided": "voided",
|
||||
"GET": "获取",
|
||||
"POST": "帖子",
|
||||
"PATCH": "PATCH",
|
||||
"PUT": "弹出",
|
||||
"DELETE": "删除",
|
||||
"HEAD": "黑色"
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
||||
import {
|
||||
createPiece,
|
||||
PieceAuth,
|
||||
Property,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import {
|
||||
anonymizePerson,
|
||||
createEvent,
|
||||
createEventsBatch,
|
||||
createPurchase,
|
||||
createPurchasesBatch,
|
||||
findCoupon,
|
||||
findPerson,
|
||||
getLoyaltyRedeemActions,
|
||||
refund,
|
||||
unsubscribePerson,
|
||||
updatePerson,
|
||||
updateReferralStatus,
|
||||
claimOffer,
|
||||
} from './lib/actions';
|
||||
|
||||
const markdownDescription = `
|
||||
Follow these steps:
|
||||
|
||||
1. **Log in to your Talkable account:** Open Talkable https://www.talkable.com/login.
|
||||
|
||||
2. **Enter the Talkable site slug and API key:** Go to **All site Settings** > **API Settings**, and copy Site ID and API key.
|
||||
|
||||
`;
|
||||
|
||||
export const talkableAuth = PieceAuth.CustomAuth({
|
||||
description: markdownDescription,
|
||||
props: {
|
||||
site: Property.ShortText({
|
||||
displayName: 'Talkable site ID',
|
||||
required: true,
|
||||
}),
|
||||
api_key: Property.ShortText({
|
||||
displayName: 'API key',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
required: true,
|
||||
});
|
||||
|
||||
export const talkable = createPiece({
|
||||
displayName: 'Talkable',
|
||||
description: 'Referral marketing programs that drive revenue',
|
||||
|
||||
auth: talkableAuth,
|
||||
minimumSupportedRelease: '0.30.0',
|
||||
logoUrl:
|
||||
'https://www.talkable.com/wp-content/uploads/2021/12/talkable-favicon.svg',
|
||||
authors: ["Vitalini","kishanprmr","MoShizzle","abuaboud"],
|
||||
categories: [PieceCategory.MARKETING],
|
||||
actions: [
|
||||
findPerson,
|
||||
findCoupon,
|
||||
updatePerson,
|
||||
anonymizePerson,
|
||||
unsubscribePerson,
|
||||
createPurchase,
|
||||
createPurchasesBatch,
|
||||
createEvent,
|
||||
createEventsBatch,
|
||||
refund,
|
||||
getLoyaltyRedeemActions,
|
||||
updateReferralStatus,
|
||||
claimOffer,
|
||||
createCustomApiCallAction({
|
||||
baseUrl: () => 'https://www.talkable.com/api/v2',
|
||||
auth: talkableAuth,
|
||||
authMapping: async (auth) => ({
|
||||
Authorization: `Bearer ${auth.props.api_key}`,
|
||||
}),
|
||||
}),
|
||||
],
|
||||
triggers: [],
|
||||
});
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const findCoupon = createAction({
|
||||
name: 'find_coupon', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Find coupon',
|
||||
description: 'Find coupon code',
|
||||
props: {
|
||||
code: Property.ShortText({
|
||||
displayName: 'Coupon code',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const couponInfoResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `${TALKABLE_API_URL}/coupons/${context.propsValue['code']}`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
},
|
||||
});
|
||||
return couponInfoResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
// People
|
||||
export { findPerson } from './people/find-person';
|
||||
export { updatePerson } from './people/update-person';
|
||||
export { anonymizePerson } from './people/anonymize-person';
|
||||
export { unsubscribePerson } from './people/unsubscribe-person';
|
||||
// Origins
|
||||
export { createPurchase } from './origins/create-purchase';
|
||||
export { createEvent } from './origins/create-event';
|
||||
export { createEventsBatch } from './origins/create-events-batch';
|
||||
export { createPurchasesBatch } from './origins/create-purchases-batch';
|
||||
export { refund } from './origins/refund';
|
||||
// Loyalty
|
||||
export { getLoyaltyRedeemActions } from './loyalty/get-loyalty-redeem-actions';
|
||||
// Referral
|
||||
export { updateReferralStatus } from './referrals/update-referral-status';
|
||||
// Coupons
|
||||
export { findCoupon } from './coupons/find-coupon';
|
||||
// Rewards
|
||||
export { claimOffer } from './rewards/claim-offer';
|
||||
@@ -0,0 +1,34 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const getLoyaltyRedeemActions = createAction({
|
||||
name: 'get_loyalty_redeem_actions', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Get loyalty actions',
|
||||
description: 'Get array of loyalty actions',
|
||||
props: {
|
||||
person_email: Property.ShortText({
|
||||
displayName: 'Person email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const getLoyaltyRedeemActionsResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `${TALKABLE_API_URL}/loyalty/members/${context.propsValue['person_email']}/redeem_actions`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
},
|
||||
});
|
||||
return getLoyaltyRedeemActionsResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,147 @@
|
||||
import {
|
||||
createAction,
|
||||
Property,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const createEvent = createAction({
|
||||
name: 'create_event', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Create event',
|
||||
description: 'Create event in Talkable',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
event_category: Property.ShortText({
|
||||
displayName: 'Event category',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
event_number: Property.ShortText({
|
||||
displayName: 'Event number',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
subtotal: Property.Number({
|
||||
displayName: 'Subtotal',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
first_name: Property.ShortText({
|
||||
displayName: 'First name',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
last_name: Property.ShortText({
|
||||
displayName: 'Last name',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
username: Property.ShortText({
|
||||
displayName: 'Username',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
customer_id: Property.ShortText({
|
||||
displayName: 'Customer id',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
custom_properties: Property.Object({
|
||||
displayName: 'Custom properties',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
phone_number: Property.ShortText({
|
||||
displayName: 'Phone number',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
campaign_tags: Property.ShortText({
|
||||
displayName: 'Campaign tags',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
sharing_channels: Property.Array({
|
||||
displayName: 'Sharing channels',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
ip_address: Property.ShortText({
|
||||
displayName: 'IP address',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
uuid: Property.ShortText({
|
||||
displayName: 'UUID',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
created_at: Property.ShortText({
|
||||
displayName: 'Created at',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
traffic_source: Property.ShortText({
|
||||
displayName: 'Traffic source',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
coupon_codes: Property.Array({
|
||||
displayName: 'Coupon codes',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
currency_iso_code: Property.ShortText({
|
||||
displayName: 'Currency iso code',
|
||||
description: 'Required for multi-currency sites',
|
||||
required: false,
|
||||
defaultValue: 'USD',
|
||||
}),
|
||||
custom_field: Property.ShortText({
|
||||
displayName: 'Custom field',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
shipping_address: Property.ShortText({
|
||||
displayName: 'Shipping address',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
shipping_zip: Property.ShortText({
|
||||
displayName: 'Shipping zip',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
items: Property.Json({
|
||||
displayName: 'Items',
|
||||
description: "You can pass items with event",
|
||||
required: false,
|
||||
defaultValue: [
|
||||
{ price: 10, quantity: 1, product_id: 'SKU1' },
|
||||
],
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const createEventResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/origins/event`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
data: context.propsValue,
|
||||
},
|
||||
});
|
||||
return createEventResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,79 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const createEventsBatch = createAction({
|
||||
name: 'create_events_batch', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Create batch of events',
|
||||
description: 'Create batch of events in Talkable',
|
||||
props: {
|
||||
create_offers: Property.Checkbox({
|
||||
displayName: 'Create offers',
|
||||
description: 'Create offers for campaign',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
events: Property.Json({
|
||||
displayName: 'Events',
|
||||
description: undefined,
|
||||
required: false,
|
||||
defaultValue: [
|
||||
{
|
||||
email: 'user@store.com',
|
||||
event_category: 'newsletter_subscription',
|
||||
event_number: '42',
|
||||
subtotal: 100.44,
|
||||
first_name: 'John',
|
||||
last_name: 'Doe',
|
||||
username: 'johndoe1992',
|
||||
customer_id: '1024',
|
||||
custom_properties: {
|
||||
country: 'US',
|
||||
eye_color: 'brown',
|
||||
person_occupation: 'marketing',
|
||||
},
|
||||
custom_field: '',
|
||||
phone_number: '+12025551111',
|
||||
campaign_tags: 'post-purchase',
|
||||
sharing_channels: ['facebook', 'custom'],
|
||||
ip_address: '192.0.2.255',
|
||||
uuid: '123e4567-e89b-32d1-a456-426614174000',
|
||||
created_at: '2023-04-27T11:30:42.769-07:00',
|
||||
traffic_source: 'in-store',
|
||||
coupon_codes: ['C0001', 'C0002'],
|
||||
currency_iso_code: 'USD',
|
||||
shipping_address:
|
||||
'456 White Finch St., North Augusta, South Carolina, 29860, United States',
|
||||
shipping_zip: '29860',
|
||||
items: [
|
||||
{
|
||||
price: 100.44,
|
||||
quantity: 1,
|
||||
product_id: 'SUBSCRIPTION',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const createEventsBatch = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/origins/batch/events`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
data: context.propsValue.events,
|
||||
create_offers: context.propsValue.create_offers,
|
||||
},
|
||||
});
|
||||
return createEventsBatch.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,142 @@
|
||||
import {
|
||||
createAction,
|
||||
Property,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const createPurchase = createAction({
|
||||
name: 'create_purchase', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Create purchase',
|
||||
description: 'Create purchase in Talkable',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
order_number: Property.ShortText({
|
||||
displayName: 'Order number',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
subtotal: Property.Number({
|
||||
displayName: 'Subtotal',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
first_name: Property.ShortText({
|
||||
displayName: 'First name',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
last_name: Property.ShortText({
|
||||
displayName: 'Last name',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
username: Property.ShortText({
|
||||
displayName: 'Username',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
customer_id: Property.ShortText({
|
||||
displayName: 'Customer id',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
custom_properties: Property.Object({
|
||||
displayName: 'Custom properties',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
phone_number: Property.ShortText({
|
||||
displayName: 'Phone number',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
campaign_tags: Property.ShortText({
|
||||
displayName: 'Campaign tags',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
sharing_channels: Property.Array({
|
||||
displayName: 'Sharing channels',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
ip_address: Property.ShortText({
|
||||
displayName: 'IP address',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
uuid: Property.ShortText({
|
||||
displayName: 'UUID',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
created_at: Property.ShortText({
|
||||
displayName: 'Created at',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
traffic_source: Property.ShortText({
|
||||
displayName: 'Traffic source',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
coupon_codes: Property.Array({
|
||||
displayName: 'Coupon codes',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
currency_iso_code: Property.ShortText({
|
||||
displayName: 'Currency iso code',
|
||||
description: 'Required for multi-currency sites',
|
||||
required: false,
|
||||
defaultValue: 'USD',
|
||||
}),
|
||||
custom_field: Property.ShortText({
|
||||
displayName: 'Custom field',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
shipping_address: Property.ShortText({
|
||||
displayName: 'Shipping address',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
shipping_zip: Property.ShortText({
|
||||
displayName: 'Shipping zip',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
items: Property.Json({
|
||||
displayName: 'Items',
|
||||
description: "You can pass items with purchase",
|
||||
required: false,
|
||||
defaultValue: [
|
||||
{ price: 10, quantity: 1, product_id: 'SKU1' },
|
||||
],
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const createPurchaseResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/origins/purchase`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
data: context.propsValue,
|
||||
},
|
||||
});
|
||||
return createPurchaseResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,78 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const createPurchasesBatch = createAction({
|
||||
name: 'create_purchases_batch', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Create batch of purchases',
|
||||
description: 'Create batch of purchases in Talkable',
|
||||
props: {
|
||||
create_offers: Property.Checkbox({
|
||||
displayName: 'Create offers',
|
||||
description: 'Create offers for campaign',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
purchases: Property.Json({
|
||||
displayName: 'Purchases',
|
||||
description: undefined,
|
||||
required: false,
|
||||
defaultValue: [
|
||||
{
|
||||
email: 'customer@store.com',
|
||||
order_number: '20',
|
||||
subtotal: 100.44,
|
||||
first_name: 'John',
|
||||
last_name: 'Doe',
|
||||
username: 'johndoe1992',
|
||||
customer_id: '1024',
|
||||
custom_properties: {
|
||||
country: 'US',
|
||||
eye_color: 'brown',
|
||||
person_occupation: 'marketing',
|
||||
},
|
||||
custom_field: '',
|
||||
phone_number: '+12025551111',
|
||||
campaign_tags: 'post-purchase',
|
||||
sharing_channels: ['facebook', 'custom'],
|
||||
ip_address: '192.0.2.255',
|
||||
uuid: '123e4567-e89b-32d1-a456-426614174000',
|
||||
created_at: '2023-04-27T11:30:42.769-07:00',
|
||||
traffic_source: 'in-store',
|
||||
coupon_codes: ['C0001', 'C0002'],
|
||||
currency_iso_code: 'USD',
|
||||
shipping_address:
|
||||
'456 White Finch St., North Augusta, South Carolina, 29860, United States',
|
||||
shipping_zip: '29860',
|
||||
items: [
|
||||
{
|
||||
price: 25.11,
|
||||
quantity: 4,
|
||||
product_id: 'TSHIRT',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const createPurchasesBatch = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/origins/batch/purchases`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
data: context.propsValue.purchases,
|
||||
create_offers: context.propsValue.create_offers,
|
||||
},
|
||||
});
|
||||
return createPurchasesBatch.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,49 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const refund = createAction({
|
||||
name: 'refund', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Refund purchase/event',
|
||||
description: 'Mark origin as refund',
|
||||
props: {
|
||||
origin_slug: Property.ShortText({
|
||||
displayName: 'Order or event number',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
refund_subtotal: Property.Number({
|
||||
displayName: 'Refund subtotal',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
refunded_at: Property.DateTime({
|
||||
displayName: 'Refunded date',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const { origin_slug, refund_subtotal, refunded_at } = context.propsValue;
|
||||
const refundResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/origins/${origin_slug}/refund`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
data: {
|
||||
refunded_at,
|
||||
refund_subtotal,
|
||||
},
|
||||
},
|
||||
});
|
||||
return refundResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,34 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const anonymizePerson = createAction({
|
||||
name: 'anonymize_person', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Anonymize person',
|
||||
description: 'Anonymize person by email',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Person email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const personAnonymizeResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/people/${context.propsValue['email']}/anonymize`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
},
|
||||
});
|
||||
return personAnonymizeResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,67 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const findPerson = createAction({
|
||||
name: 'find_person', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Find person',
|
||||
description: 'Find person by email',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Person email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
scope: Property.StaticDropdown({
|
||||
displayName: 'Scope',
|
||||
description: 'Select scope',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'General information',
|
||||
value: '/',
|
||||
},
|
||||
{
|
||||
label: 'Referrals as advocate',
|
||||
value: '/referrals_as_advocate',
|
||||
},
|
||||
{
|
||||
label: 'Referrals as friend',
|
||||
value: '/referrals_as_friend',
|
||||
},
|
||||
{
|
||||
label: 'Rewards',
|
||||
value: '/rewards',
|
||||
},
|
||||
{
|
||||
label: 'Shares',
|
||||
value: '/shares_by',
|
||||
},
|
||||
{
|
||||
label: 'Personal data',
|
||||
value: '/personal_data',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const personInfoResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `${TALKABLE_API_URL}/people/${context.propsValue['email']}${context.propsValue['scope']}`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
},
|
||||
});
|
||||
return personInfoResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,34 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const unsubscribePerson = createAction({
|
||||
name: 'unsubscribe_person', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Unsubscribe person',
|
||||
description: 'Unsubscribe person by email',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Person email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const personUnsubscribeResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/people/${context.propsValue['email']}/unsubscribe`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
},
|
||||
});
|
||||
return personUnsubscribeResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,126 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const updatePerson = createAction({
|
||||
name: 'update_person', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Update person',
|
||||
description: 'Update person by email',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Person email',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
first_name: Property.ShortText({
|
||||
displayName: 'Person first name',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
last_name: Property.ShortText({
|
||||
displayName: 'Person last name',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
phone_number: Property.ShortText({
|
||||
displayName: 'Person phone number',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
username: Property.ShortText({
|
||||
displayName: 'Person username',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
customer_id: Property.Number({
|
||||
displayName: 'Customer ID',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
custom_properties: Property.Object({
|
||||
displayName: 'Custom properties',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
gated_param_subscribed: Property.StaticDropdown({
|
||||
displayName: 'Opt-in status',
|
||||
description: 'Opt-in status true/false',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'true',
|
||||
value: 'true',
|
||||
},
|
||||
{
|
||||
label: 'false',
|
||||
value: 'false',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
unsubscribed: Property.StaticDropdown({
|
||||
displayName: 'Unsubscribe status',
|
||||
description: 'Unsubscribe status true/false',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'true',
|
||||
value: 'true',
|
||||
},
|
||||
{
|
||||
label: 'false',
|
||||
value: 'false',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
unsubscribed_at: Property.DateTime({
|
||||
displayName: 'Unsubscribed date',
|
||||
description: undefined,
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const {
|
||||
email,
|
||||
first_name,
|
||||
last_name,
|
||||
phone_number,
|
||||
username,
|
||||
customer_id,
|
||||
custom_properties,
|
||||
gated_param_subscribed,
|
||||
unsubscribed,
|
||||
unsubscribed_at,
|
||||
} = context.propsValue;
|
||||
const personUpdateResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.PUT,
|
||||
url: `${TALKABLE_API_URL}/people/${email}`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
data: {
|
||||
first_name,
|
||||
last_name,
|
||||
phone_number,
|
||||
username,
|
||||
customer_id,
|
||||
custom_properties,
|
||||
gated_param_subscribed,
|
||||
unsubscribed,
|
||||
unsubscribed_at,
|
||||
},
|
||||
},
|
||||
});
|
||||
return personUpdateResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const updateReferralStatus = createAction({
|
||||
name: 'update-referral-status', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Update referral status',
|
||||
description: 'You can void or approve referral',
|
||||
props: {
|
||||
origin_slug: Property.ShortText({
|
||||
displayName: 'Order or event number',
|
||||
description: undefined,
|
||||
required: true,
|
||||
}),
|
||||
status: Property.StaticDropdown({
|
||||
displayName: 'Status',
|
||||
description:
|
||||
'Select referral status. Only "approved" or "voided" are accepted',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'approved', value: 'approved' },
|
||||
{ label: 'voided', value: 'voided' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const updateReferralStatusResponse = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/origins/${context.propsValue['origin_slug']}/referral`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
status: context.propsValue['status'], // we have only one status so it's hardcoded
|
||||
},
|
||||
});
|
||||
return updateReferralStatusResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { talkableAuth } from '../../..';
|
||||
|
||||
export const claimOffer = createAction({
|
||||
name: 'claim-offer', // Must be a unique across the piece, this shouldn't be changed.
|
||||
auth: talkableAuth,
|
||||
displayName: 'Share and claim offer',
|
||||
description: "Using this action, you can share and get a friend's reward",
|
||||
props: {
|
||||
advocate_email: Property.ShortText({
|
||||
displayName: 'Advocate email',
|
||||
description: "Example : advocate@example.com",
|
||||
required: true,
|
||||
}),
|
||||
friend_email: Property.ShortText({
|
||||
displayName: 'Friend email',
|
||||
description: "Example : friend@example.com",
|
||||
required: true,
|
||||
}),
|
||||
campaign_tag: Property.ShortText({
|
||||
displayName: 'Campaign tag',
|
||||
description: "Example : invite",
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const TALKABLE_API_URL = 'https://www.talkable.com/api/v2';
|
||||
const { site, api_key } = context.auth.props;
|
||||
const claimOffer = await httpClient
|
||||
.sendRequest<string[]>({
|
||||
method: HttpMethod.POST,
|
||||
url: `${TALKABLE_API_URL}/offer_claims`,
|
||||
headers: {
|
||||
Authorization: `Bearer ${api_key}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: {
|
||||
site_slug: site,
|
||||
advocate_email: context.propsValue['advocate_email'],
|
||||
friend_email: context.propsValue['friend_email'],
|
||||
campaign_tag: context.propsValue['campaign_tag'],
|
||||
},
|
||||
});
|
||||
return claimOffer.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitOverride": true,
|
||||
"noPropertyAccessFromIndexSignature": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user