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:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Produkte wunderschön verkaufen",
"Cartloom Domain": "Warenkorb-Domain",
"API Key": "API-Schlüssel",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Ihre Warenkorb-Domain wird der Subdomain-Teil Ihrer Cartloom-URL sein. Beispiel: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "Der API-Schlüssel für Ihr Warenkorb-Konto",
"Cartloom Authentication": "Kartloom-Authentifizierung",
"Get Products": "Produkte erhalten",
"Get Order": "Bestellen",
"Create Discount": "Rabatt erstellen",
"Get Discount": "Rabatt erhalten",
"Get All Discounts": "Alle Rabatte erhalten",
"Get Order by Date": "Bestellung nach Datum erhalten",
"Get Order by Email": "Bestellung per E-Mail erhalten",
"Custom API Call": "Eigener API-Aufruf",
"Get a list of products from Cartloom": "Eine Liste der Produkte von Cartloom erhalten",
"Get an order from Cartloom": "Bestellen bei Cartloom",
"Create a discount in Cartloom": "Erstelle einen Rabatt im Warenkorb",
"Get discount info from Cartloom": "Erhalten Sie Rabattinformationen von Cartloom",
"Get a list of discounts from Cartloom": "Erhalten Sie eine Liste der Rabatte von Cartloom",
"Get a list of orders from Cartloom within a date range": "Eine Liste der Bestellungen von Cartloom im Datumsbereich erhalten",
"Get a list of orders for an email within a date range": "Bestellliste für eine E-Mail im Datumsbereich anzeigen",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"Invoice ID": "Rechnungsnummer",
"Title": "Titel",
"Enabled": "Aktiviert",
"Auto": "Auto",
"Unlimited": "Unbegrenzt",
"Self Destruct": "Selbstzerstörung",
"Apply Once": "Einmal anwenden",
"Type of Discount": "Rabattart",
"Amount": "Betrag",
"Discount Target": "Rabattziel",
"Start Date": "Startdatum",
"Stop Date": "Enddatum",
"Markdown": "Markdown",
"Discount Code": "Rabattcode",
"Target Products": "Zielprodukte",
"Target Amount": "Zielbetrag",
"Target Quantity": "Target Quantity",
"Allowance": "Zulässigkeit",
"Discount ID": "Rabatt-ID",
"End Date": "Enddatum",
"Email": "E-Mail",
"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)",
"The invoice ID for the order you want to retrieve": "Die Rechnungsnummer für die Bestellung, die Sie abrufen möchten",
"Enter the title of the discount": "Geben Sie den Titel des Rabatts ein",
"Is this discount enabled?": "Ist dieser Rabatt aktiviert?",
"Is this discount automatically applied?": "Wird dieser Rabatt automatisch angewendet?",
"Is this discount unlimited?": "Ist dieser Rabatt unbegrenzt?",
"Remove the discount after use": "Rabatt nach Benutzung entfernen",
"Apply the discount once per order": "Rabatt einmal pro Bestellung anwenden",
"Select the type of discount": "Wählen Sie den Rabatttyp",
"Enter the amount of the discount": "Geben Sie den Rabattbetrag ein",
"Select the target of the discount": "Wählen Sie das Ziel des Rabatts",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "Das Startdatum des Rabattes. JJJJJ-MM-TT HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "Das Enddatum des Rabattes. JJJJJ-MM-TT HH:MM:SS",
"## Optional Settings based on above settings": "## Optionale Einstellungen basierend auf obigen Einstellungen",
"Enter the discount code. Leave blank for no code.": "Geben Sie den Rabattcode ein. Leer lassen für keinen Code.",
"Select the products to apply the discount to": "Wählen Sie die Produkte aus, auf die der Rabatt angewendet werden soll",
"The target amount for the discount when the target is set to Total": "Der Zielbetrag für den Rabatt, wenn das Ziel auf Total gesetzt wird",
"The target quantity for the discount when the target is set to All or Products": "Die Zielmenge für den Rabatt, wenn das Ziel auf alle oder Produkte gesetzt wird",
"The number of times the discount can be used": "Die Anzahl der Male, die der Rabatt verwendet werden kann",
"Enter the ID of the discount you want to retrieve": "Geben Sie die ID des Rabatts ein, den Sie erhalten möchten",
"Select a date to start the search": "Datum zum Starten der Suche auswählen",
"Select a date to end the search. Defaults to today.": "Wählen Sie ein Datum, um die Suche zu beenden. Standard ist bis heute.",
"Email address to search for.": "Zu suchende E-Mail-Adresse.",
"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..",
"Fixed Amount": "Festbetrag",
"Percentage": "Prozentsatz",
"Selected Products": "Ausgewählte Produkte",
"Total": "Gesamt",
"All Products": "Alle Produkte",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Vender productos bellamente",
"Cartloom Domain": "Dominio Cartloom",
"API Key": "Clave API",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Su dominio cartloom será la parte de subdominio de su URL de Cartloom. Ejemplo: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "La clave API para tu cuenta Cartloom",
"Cartloom Authentication": "Autenticación Cartloom",
"Get Products": "Obtener productos",
"Get Order": "Obtener pedido",
"Create Discount": "Crear descuento",
"Get Discount": "Obtener descuento",
"Get All Discounts": "Obtener todos los descuentos",
"Get Order by Date": "Obtener pedido por fecha",
"Get Order by Email": "Obtener pedido por email",
"Custom API Call": "Llamada API personalizada",
"Get a list of products from Cartloom": "Obtener una lista de productos de Cartloom",
"Get an order from Cartloom": "Obtener un pedido de Cartloom",
"Create a discount in Cartloom": "Crear un descuento en Cartloom",
"Get discount info from Cartloom": "Obtener información de descuento de Cartloom",
"Get a list of discounts from Cartloom": "Obtén una lista de descuentos de Cartloom",
"Get a list of orders from Cartloom within a date range": "Obtener una lista de pedidos de Cartloom dentro de un rango de fechas",
"Get a list of orders for an email within a date range": "Obtener una lista de pedidos por correo electrónico dentro de un rango de fechas",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"Invoice ID": "ID Factura",
"Title": "Título",
"Enabled": "Activado",
"Auto": "Auto",
"Unlimited": "Ilimitado",
"Self Destruct": "Densidad propia",
"Apply Once": "Aplicar una vez",
"Type of Discount": "Tipo de descuento",
"Amount": "Cantidad",
"Discount Target": "Objetivo de descuento",
"Start Date": "Fecha de inicio",
"Stop Date": "Fecha de parada",
"Markdown": "Markdown",
"Discount Code": "Código de descuento",
"Target Products": "Productos objetivo",
"Target Amount": "Cantidad de destino",
"Target Quantity": "Target Quantity",
"Allowance": "Permiso",
"Discount ID": "ID de descuento",
"End Date": "Fecha de fin",
"Email": "E-mail",
"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)",
"The invoice ID for the order you want to retrieve": "ID de factura para el pedido que desea recuperar",
"Enter the title of the discount": "Introduzca el título del descuento",
"Is this discount enabled?": "¿Está activado este descuento?",
"Is this discount automatically applied?": "¿Se aplica automáticamente este descuento?",
"Is this discount unlimited?": "¿Es este descuento ilimitado?",
"Remove the discount after use": "Eliminar el descuento después de usarlo",
"Apply the discount once per order": "Aplicar el descuento una vez por pedido",
"Select the type of discount": "Seleccione el tipo de descuento",
"Enter the amount of the discount": "Introduzca la cantidad del descuento",
"Select the target of the discount": "Seleccione el objetivo del descuento",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "La fecha de inicio del descuento. AAA-MM-DD HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "Fecha de parada del descuento. YYYY-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## Configuración opcional basada en la configuración anterior",
"Enter the discount code. Leave blank for no code.": "Introduzca el código de descuento. Deje en blanco para no tener código.",
"Select the products to apply the discount to": "Seleccione los productos a los que aplicar el descuento",
"The target amount for the discount when the target is set to Total": "La cantidad objetivo para el descuento cuando el objetivo está fijado en Total",
"The target quantity for the discount when the target is set to All or Products": "La cantidad objetivo para el descuento cuando el objetivo está fijado a todos o productos",
"The number of times the discount can be used": "El número de veces que se puede utilizar el descuento",
"Enter the ID of the discount you want to retrieve": "Introduzca el ID del descuento que desea recuperar",
"Select a date to start the search": "Seleccione una fecha para iniciar la búsqueda",
"Select a date to end the search. Defaults to today.": "Seleccione una fecha para finalizar la búsqueda. Por defecto es hoy.",
"Email address to search for.": "Dirección de correo a buscar.",
"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.",
"Fixed Amount": "Cantidad fija",
"Percentage": "Porcentaje",
"Selected Products": "Productos seleccionados",
"Total": "Total",
"All Products": "Todos los productos",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Vendre des produits magnifiquement",
"Cartloom Domain": "Domaine Cartloom",
"API Key": "Clé API",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Votre domaine cartloom sera la partie sous-domaine de votre URL Cartloom. Exemple: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "La clé API de votre compte Cartloom",
"Cartloom Authentication": "Authentification Cartloom",
"Get Products": "Obtenir des produits",
"Get Order": "Obtenir une commande",
"Create Discount": "Créer une réduction",
"Get Discount": "Obtenir une réduction",
"Get All Discounts": "Obtenez toutes les réductions",
"Get Order by Date": "Obtenir une commande par date",
"Get Order by Email": "Obtenir une commande par e-mail",
"Custom API Call": "Appel API personnalisé",
"Get a list of products from Cartloom": "Obtenir une liste de produits de Cartloom",
"Get an order from Cartloom": "Obtenir une commande de Cartloom",
"Create a discount in Cartloom": "Créer une réduction dans Cartloom",
"Get discount info from Cartloom": "Obtenir des informations sur les remises de Cartloom",
"Get a list of discounts from Cartloom": "Obtenez une liste de réductions de Cartloom",
"Get a list of orders from Cartloom within a date range": "Obtenir une liste de commandes de Cartloom dans une plage de dates",
"Get a list of orders for an email within a date range": "Obtenir une liste de commandes pour un e-mail dans une plage de dates",
"Make a custom API call to a specific endpoint": "Passez un appel API personnalisé à un point de terminaison spécifique",
"Invoice ID": "ID de la facture",
"Title": "Titre de la page",
"Enabled": "Activé",
"Auto": "Automatique",
"Unlimited": "Illimité",
"Self Destruct": "Auto-destruction",
"Apply Once": "Appliquer une fois",
"Type of Discount": "Type de remise",
"Amount": "Montant",
"Discount Target": "Cible de réduction",
"Start Date": "Date de début",
"Stop Date": "Date de fin",
"Markdown": "Markdown",
"Discount Code": "Code de réduction",
"Target Products": "Produits cibles",
"Target Amount": "Montant cible",
"Target Quantity": "Target Quantity",
"Allowance": "Allocation",
"Discount ID": "ID de la remise",
"End Date": "Date de fin",
"Email": "Courriel",
"Method": "Méthode",
"Headers": "En-têtes",
"Query Parameters": "Paramètres de requête",
"Body": "Corps",
"Response is Binary ?": "La réponse est Binaire ?",
"No Error on Failure": "Aucune erreur en cas d'échec",
"Timeout (in seconds)": "Délai d'attente (en secondes)",
"The invoice ID for the order you want to retrieve": "L'ID de la facture pour la commande que vous souhaitez récupérer",
"Enter the title of the discount": "Entrez le titre de la réduction",
"Is this discount enabled?": "Cette réduction est-elle activée ?",
"Is this discount automatically applied?": "Cette réduction est-elle automatiquement appliquée ?",
"Is this discount unlimited?": "Cette réduction est-elle illimitée ?",
"Remove the discount after use": "Retirer la remise après utilisation",
"Apply the discount once per order": "Appliquer la remise une fois par commande",
"Select the type of discount": "Sélectionnez le type de remise",
"Enter the amount of the discount": "Entrez le montant de la remise",
"Select the target of the discount": "Sélectionnez la cible de la remise",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "La date de début de la réduction. AAAA-MM-JJ HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "La date d'arrêt de la réduction. AAAA-MM-JJ HH:MM:SS",
"## Optional Settings based on above settings": "## Paramètres optionnels basés sur les paramètres ci-dessus",
"Enter the discount code. Leave blank for no code.": "Entrez le code de réduction. Laissez vide pour aucun code.",
"Select the products to apply the discount to": "Sélectionnez les produits à appliquer à la remise",
"The target amount for the discount when the target is set to Total": "Le montant cible de la remise lorsque l'objectif est défini sur Total",
"The target quantity for the discount when the target is set to All or Products": "La quantité cible pour la réduction lorsque la cible est définie à Tous ou Produits",
"The number of times the discount can be used": "Le nombre de fois où la remise peut être utilisée",
"Enter the ID of the discount you want to retrieve": "Entrez l'ID de la remise que vous souhaitez récupérer",
"Select a date to start the search": "Sélectionnez une date pour démarrer la recherche",
"Select a date to end the search. Defaults to today.": "Sélectionnez une date pour terminer la recherche. Par défaut, aujourd'hui.",
"Email address to search for.": "Adresse e-mail à rechercher.",
"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.",
"Fixed Amount": "Montant fixe",
"Percentage": "Pourcentage",
"Selected Products": "Produits sélectionnés",
"Total": "Total",
"All Products": "Tous les produits",
"GET": "OBTENIR",
"POST": "POSTER",
"PATCH": "PATCH",
"PUT": "EFFACER",
"DELETE": "SUPPRIMER",
"HEAD": "TÊTE"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "商品を美しく販売",
"Cartloom Domain": "カートルームドメイン",
"API Key": "API キー",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "あなたのカートルームドメインはカートルームURLのサブドメインになります。例: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "カートルームアカウントのAPIキー",
"Cartloom Authentication": "カートルーム認証",
"Get Products": "商品を入手",
"Get Order": "注文を取得",
"Create Discount": "割引を作成",
"Get Discount": "割引を受ける",
"Get All Discounts": "すべての割引を取得",
"Get Order by Date": "日付で注文を取得",
"Get Order by Email": "電子メールで注文を取得する",
"Custom API Call": "カスタムAPI通話",
"Get a list of products from Cartloom": "カートルームから商品一覧を取得する",
"Get an order from Cartloom": "カートルームから注文する",
"Create a discount in Cartloom": "カートルームで割引を作成する",
"Get discount info from Cartloom": "カートルームから割引情報を取得する",
"Get a list of discounts from Cartloom": "カートルームの割引リストを入手する",
"Get a list of orders from Cartloom within a date range": "日付の範囲内でカートルームから注文のリストを取得します",
"Get a list of orders for an email within a date range": "日付範囲内でメールの注文リストを取得する",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"Invoice ID": "請求書ID",
"Title": "タイトル",
"Enabled": "有効",
"Auto": "自動",
"Unlimited": "無制限です",
"Self Destruct": "自己破壊",
"Apply Once": "一度申し込みする",
"Type of Discount": "割引の種類",
"Amount": "金額",
"Discount Target": "ディスカウントターゲット",
"Start Date": "開始日",
"Stop Date": "停止日",
"Markdown": "Markdown",
"Discount Code": "割引コード",
"Target Products": "対象商品",
"Target Amount": "ターゲット金額",
"Target Quantity": "Target Quantity",
"Allowance": "引当額",
"Discount ID": "割引ID",
"End Date": "終了日",
"Email": "Eメールアドレス",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"The invoice ID for the order you want to retrieve": "取得したい注文の請求書ID",
"Enter the title of the discount": "ディスカウントのタイトルを入力してください",
"Is this discount enabled?": "この割引は有効ですか?",
"Is this discount automatically applied?": "この割引は自動的に適用されますか?",
"Is this discount unlimited?": "この割引は無制限ですか?",
"Remove the discount after use": "使用後に割引を削除する",
"Apply the discount once per order": "注文ごとに割引を適用する",
"Select the type of discount": "割引の種類を選択",
"Enter the amount of the discount": "ディスカウントの金額を入力してください",
"Select the target of the discount": "割引の対象を選択",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "割引の開始日です。YYYY-MM-DD HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "割引の停止日 YYYY-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## オプション設定",
"Enter the discount code. Leave blank for no code.": "割引コードを入力します。空白の場合はコードを入力しません。",
"Select the products to apply the discount to": "割引を適用する製品を選択してください",
"The target amount for the discount when the target is set to Total": "ターゲットが合計に設定されている場合の割引の対象金額",
"The target quantity for the discount when the target is set to All or Products": "ターゲットが「すべて」または「商品」に設定されている場合の割引の対象数量",
"The number of times the discount can be used": "割引を利用できる回数",
"Enter the ID of the discount you want to retrieve": "取得したい割引のIDを入力してください",
"Select a date to start the search": "検索を開始する日付を選択してください",
"Select a date to end the search. Defaults to today.": "検索を終了する日付を選択します。デフォルトは今日です。",
"Email address to search for.": "検索するメールアドレス。",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"Fixed Amount": "固定額",
"Percentage": "割合",
"Selected Products": "選択された製品",
"Total": "合計",
"All Products": "すべての商品",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Verkoop producten mooi",
"Cartloom Domain": "Cartloom Domein",
"API Key": "API Sleutel",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Uw cartloom domein zal het subdomein van uw Cartloom URL zijn. Voorbeeld: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "De API-sleutel voor uw Cartloom account",
"Cartloom Authentication": "Cartloom authenticatie",
"Get Products": "Producten ophalen",
"Get Order": "Bestelling ophalen",
"Create Discount": "Maak korting aan",
"Get Discount": "Ontvang korting",
"Get All Discounts": "Alle kortingen verkrijgen",
"Get Order by Date": "Bestelling op datum ontvangen",
"Get Order by Email": "Ontvang bestelling per e-mail",
"Custom API Call": "Custom API Call",
"Get a list of products from Cartloom": "Ontvang een lijst met producten van Cartloom",
"Get an order from Cartloom": "Krijg een bestelling van Cartloom",
"Create a discount in Cartloom": "Maak een korting in Cartloom",
"Get discount info from Cartloom": "Ontvang korting informatie van Cartloom",
"Get a list of discounts from Cartloom": "Krijg een lijst met kortingen van Cartloom",
"Get a list of orders from Cartloom within a date range": "Ontvang een lijst met bestellingen van Cartloom binnen een datumbereik",
"Get a list of orders for an email within a date range": "Ontvang een lijst met bestellingen voor een e-mail binnen een datumbereik",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"Invoice ID": "Factuur ID",
"Title": "Aanspreektitel",
"Enabled": "Ingeschakeld",
"Auto": "Automatisch",
"Unlimited": "Onbeperkt",
"Self Destruct": "Zelf vernietigen",
"Apply Once": "Eenmalig toepassen",
"Type of Discount": "Soort korting",
"Amount": "Hoeveelheid",
"Discount Target": "Korting doel",
"Start Date": "Start datum",
"Stop Date": "Stop datum",
"Markdown": "Markdown",
"Discount Code": "Kortings code",
"Target Products": "Doel producten",
"Target Amount": "Doel Hoeveelheid",
"Target Quantity": "Target Quantity",
"Allowance": "Toestaan",
"Discount ID": "Kortings ID",
"End Date": "Eind datum",
"Email": "E-mail",
"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)",
"The invoice ID for the order you want to retrieve": "Het factuur-ID voor de bestelling die u wilt ophalen",
"Enter the title of the discount": "Voer de titel van de korting in",
"Is this discount enabled?": "Is deze korting ingeschakeld?",
"Is this discount automatically applied?": "Wordt deze korting automatisch toegepast?",
"Is this discount unlimited?": "Is deze korting ongelimiteerd?",
"Remove the discount after use": "Verwijder de korting na gebruik",
"Apply the discount once per order": "Pas de korting eenmaal toe per bestelling",
"Select the type of discount": "Selecteer het type korting",
"Enter the amount of the discount": "Voer het bedrag van de korting in",
"Select the target of the discount": "Selecteer het doel van de korting",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "De startdatum van de korting. JJJJJ-MM-DD HHH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "De stopdatum van de korting. JJJJJ-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## Optionele instellingen gebaseerd op bovenstaande instellingen",
"Enter the discount code. Leave blank for no code.": "Vul de kortingscode in. Laat leeg voor geen code.",
"Select the products to apply the discount to": "Selecteer de producten om de korting toe te passen op",
"The target amount for the discount when the target is set to Total": "Het doelbedrag voor de korting wanneer het doel is ingesteld op Totaal",
"The target quantity for the discount when the target is set to All or Products": "Het doel aantal voor de korting wanneer het doel is ingesteld op alle producten of producten",
"The number of times the discount can be used": "Het aantal keren dat de korting kan worden gebruikt",
"Enter the ID of the discount you want to retrieve": "Vul het ID in van de korting die u wilt ophalen",
"Select a date to start the search": "Selecteer een datum om te beginnen met zoeken",
"Select a date to end the search. Defaults to today.": "Selecteer een datum om de zoekopdracht te beëindigen. Standaard ingesteld op vandaag.",
"Email address to search for.": "E-mailadres om naar te zoeken.",
"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..",
"Fixed Amount": "Vast bedrag",
"Percentage": "Percentage",
"Selected Products": "Geselecteerde producten",
"Total": "Totaal",
"All Products": "Alle producten",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Venda produtos lindamente",
"Cartloom Domain": "Domínio de Cartloom",
"API Key": "Chave de API",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "O domínio cartloom será o subdomínio da URL da Cartloom. Exemplo: https://<strong>minha empresa</strong>.cartloom.com",
"The API key for your Cartloom account": "A chave da API para a sua conta Cartloom",
"Cartloom Authentication": "Autenticação da Cartloom",
"Get Products": "Obter produtos",
"Get Order": "Obter Pedido",
"Create Discount": "Criar desconto",
"Get Discount": "Obter desconto",
"Get All Discounts": "Obter todos os descontos",
"Get Order by Date": "Obter Pedido por Data",
"Get Order by Email": "Obter Pedido por E-mail",
"Custom API Call": "Chamada de API personalizada",
"Get a list of products from Cartloom": "Obter uma lista de produtos do Cartloom",
"Get an order from Cartloom": "Obter um pedido de Cartloom",
"Create a discount in Cartloom": "Criar um desconto em Cartloom",
"Get discount info from Cartloom": "Obter info. de desconto de Cartloom",
"Get a list of discounts from Cartloom": "Obter uma lista de descontos de Cartloom",
"Get a list of orders from Cartloom within a date range": "Obter uma lista de pedidos do Cartloom dentro de um intervalo de datas",
"Get a list of orders for an email within a date range": "Obter uma lista de pedidos de um e-mail dentro de um intervalo de datas",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"Invoice ID": "ID da fatura",
"Title": "Título",
"Enabled": "Ativado",
"Auto": "Automático",
"Unlimited": "Ilimitado",
"Self Destruct": "Auto Destruição",
"Apply Once": "Aplicar uma vez",
"Type of Discount": "Tipo de Desconto",
"Amount": "Quantidade",
"Discount Target": "Alvo de Desconto",
"Start Date": "Data Inicial",
"Stop Date": "Data de término",
"Markdown": "Markdown",
"Discount Code": "Cupom de desconto",
"Target Products": "Produtos Alvo",
"Target Amount": "Valor do Alvo",
"Target Quantity": "Target Quantity",
"Allowance": "PREÇO",
"Discount ID": "ID de desconto",
"End Date": "Data de Término",
"Email": "e-mail",
"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)",
"The invoice ID for the order you want to retrieve": "O ID de fatura para o pedido que você deseja obter",
"Enter the title of the discount": "Digite o título do desconto",
"Is this discount enabled?": "Este desconto está habilitado?",
"Is this discount automatically applied?": "Este desconto é aplicado automaticamente?",
"Is this discount unlimited?": "Este desconto é ilimitado?",
"Remove the discount after use": "Remover o desconto após uso",
"Apply the discount once per order": "Aplicar desconto uma vez por pedido",
"Select the type of discount": "Selecione o tipo de desconto",
"Enter the amount of the discount": "Insira o valor do desconto",
"Select the target of the discount": "Selecione o alvo do desconto",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "A data de início do desconto. YYYY-MM-DD HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "A data de fim do desconto. YYYY-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## Configurações opcionais baseadas nas configurações acima",
"Enter the discount code. Leave blank for no code.": "Insira o código de desconto. Deixe em branco para nenhum código.",
"Select the products to apply the discount to": "Selecione os produtos para aplicar o desconto para",
"The target amount for the discount when the target is set to Total": "A quantidade alvo para o desconto quando o alvo está definido como Total",
"The target quantity for the discount when the target is set to All or Products": "A quantidade alvo para o desconto quando o alvo é definido para Todos ou Produtos",
"The number of times the discount can be used": "O número de vezes que o desconto pode ser usado",
"Enter the ID of the discount you want to retrieve": "Insira o ID do desconto que você deseja recuperar",
"Select a date to start the search": "Selecione uma data para iniciar a busca",
"Select a date to end the search. Defaults to today.": "Selecione uma data para finalizar a pesquisa. O padrão é hoje.",
"Email address to search for.": "Endereço de e-mail para procurar.",
"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..",
"Fixed Amount": "Montante fixo",
"Percentage": "Porcentagem",
"Selected Products": "Produtos Selecionados",
"Total": "Total:",
"All Products": "Todos os produtos",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA"
}

View File

@@ -0,0 +1,86 @@
{
"Cartloom": "Cartloom",
"Sell products beautifully": "Продавайте товары красиво",
"Cartloom Domain": "Домен Cartloom",
"API Key": "Ключ API",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Ваш домен cartloom будет частью вашего URL Cartloom. Пример: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "API ключ для вашей учетной записи Cartloom",
"Cartloom Authentication": "Вход в Cartloom",
"Get Products": "Получить товары",
"Get Order": "Получить заказ",
"Create Discount": "Создать скидку",
"Get Discount": "Получить скидку",
"Get All Discounts": "Получить все скидки",
"Get Order by Date": "Получить заказ по дате",
"Get Order by Email": "Получить заказ по электронной почте",
"Custom API Call": "Пользовательский вызов API",
"Get a list of products from Cartloom": "Получить список товаров из Cartloom",
"Get an order from Cartloom": "Получить заказ от Cartloom",
"Create a discount in Cartloom": "Создать скидку в Cartloom",
"Get discount info from Cartloom": "Получить информацию о скидке из Cartloom",
"Get a list of discounts from Cartloom": "Получить список скидок из Cartloom",
"Get a list of orders from Cartloom within a date range": "Получить список заказов из Cartloom в пределах диапазона дат",
"Get a list of orders for an email within a date range": "Получить список заказов на электронную почту в пределах диапазона дат",
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
"Invoice ID": "ID Счета",
"Title": "Заголовок",
"Enabled": "Включено",
"Auto": "Авто",
"Unlimited": "Неограниченный",
"Self Destruct": "Самоуничтожение",
"Apply Once": "Применить один раз",
"Type of Discount": "Тип скидки",
"Amount": "Сумма",
"Discount Target": "Цель скидки",
"Start Date": "Дата начала",
"Stop Date": "Дата остановки",
"Markdown": "Markdown",
"Discount Code": "Код скидки",
"Target Products": "Целевые продукты",
"Target Amount": "Целевая сумма",
"Target Quantity": "Target Quantity",
"Allowance": "Разрешение",
"Discount ID": "ID скидки",
"End Date": "Дата окончания",
"Email": "Почта",
"Method": "Метод",
"Headers": "Заголовки",
"Query Parameters": "Параметры запроса",
"Body": "Тело",
"No Error on Failure": "Нет ошибок при ошибке",
"Timeout (in seconds)": "Таймаут (в секундах)",
"The invoice ID for the order you want to retrieve": "ID счета-фактуры для заказа, который вы хотите получить",
"Enter the title of the discount": "Введите название скидки",
"Is this discount enabled?": "Включена ли эта скидка?",
"Is this discount automatically applied?": "Эта скидка автоматически применяется?",
"Is this discount unlimited?": "Эта скидка не ограничена?",
"Remove the discount after use": "Удалить скидку после использования",
"Apply the discount once per order": "Применить скидку один раз за заказ",
"Select the type of discount": "Выберите тип скидки",
"Enter the amount of the discount": "Введите сумму скидки",
"Select the target of the discount": "Выберите цель скидки",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "Дата начала скидки. ГГГГ-ММ-ДД HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "Дата остановки скидки. ГГГГ-ММ-ДД HH:MM:SS",
"## Optional Settings based on above settings": "## Необязательные настройки, основанные на вышеприведенных настройках",
"Enter the discount code. Leave blank for no code.": "Введите код скидки. Оставьте пустым для отсутствия кода.",
"Select the products to apply the discount to": "Выберите товары для применения скидки",
"The target amount for the discount when the target is set to Total": "Целевая сумма скидки при достижении цели",
"The target quantity for the discount when the target is set to All or Products": "Целевое количество для скидки, когда цель установлена на Все или Продукты",
"The number of times the discount can be used": "Количество раз, которое может быть использована скидка",
"Enter the ID of the discount you want to retrieve": "Введите ID скидки, которую вы хотите получить",
"Select a date to start the search": "Выберите дату для начала поиска",
"Select a date to end the search. Defaults to today.": "Выберите дату для завершения поиска. По умолчанию сегодня.",
"Email address to search for.": "Адрес электронной почты для поиска.",
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
"Fixed Amount": "Фиксированная сумма",
"Percentage": "Процент",
"Selected Products": "Выбранные товары",
"Total": "Итого",
"All Products": "Все товары",
"GET": "ПОЛУЧИТЬ",
"POST": "ПОСТ",
"PATCH": "ПАТЧ",
"PUT": "ПОКУПИТЬ",
"DELETE": "УДАЛИТЬ",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Sell products beautifully",
"Cartloom Domain": "Cartloom Domain",
"API Key": "API Key",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "The API key for your Cartloom account",
"Cartloom Authentication": "Cartloom Authentication",
"Get Products": "Get Products",
"Get Order": "Get Order",
"Create Discount": "Create Discount",
"Get Discount": "Get Discount",
"Get All Discounts": "Get All Discounts",
"Get Order by Date": "Get Order by Date",
"Get Order by Email": "Get Order by Email",
"Custom API Call": "Custom API Call",
"Get a list of products from Cartloom": "Get a list of products from Cartloom",
"Get an order from Cartloom": "Get an order from Cartloom",
"Create a discount in Cartloom": "Create a discount in Cartloom",
"Get discount info from Cartloom": "Get discount info from Cartloom",
"Get a list of discounts from Cartloom": "Get a list of discounts from Cartloom",
"Get a list of orders from Cartloom within a date range": "Get a list of orders from Cartloom within a date range",
"Get a list of orders for an email within a date range": "Get a list of orders for an email within a date range",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Invoice ID": "Invoice ID",
"Title": "Title",
"Enabled": "Enabled",
"Auto": "Auto",
"Unlimited": "Unlimited",
"Self Destruct": "Self Destruct",
"Apply Once": "Apply Once",
"Type of Discount": "Type of Discount",
"Amount": "Amount",
"Discount Target": "Discount Target",
"Start Date": "Start Date",
"Stop Date": "Stop Date",
"Markdown": "Markdown",
"Discount Code": "Discount Code",
"Target Products": "Target Products",
"Target Amount": "Target Amount",
"Target Quantity": "Target Quantity",
"Allowance": "Allowance",
"Discount ID": "Discount ID",
"End Date": "End Date",
"Email": "Email",
"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)",
"The invoice ID for the order you want to retrieve": "The invoice ID for the order you want to retrieve",
"Enter the title of the discount": "Enter the title of the discount",
"Is this discount enabled?": "Is this discount enabled?",
"Is this discount automatically applied?": "Is this discount automatically applied?",
"Is this discount unlimited?": "Is this discount unlimited?",
"Remove the discount after use": "Remove the discount after use",
"Apply the discount once per order": "Apply the discount once per order",
"Select the type of discount": "Select the type of discount",
"Enter the amount of the discount": "Enter the amount of the discount",
"Select the target of the discount": "Select the target of the discount",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "The start date of the discount. YYYY-MM-DD HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "The stop date of the discount. YYYY-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## Optional Settings based on above settings",
"Enter the discount code. Leave blank for no code.": "Enter the discount code. Leave blank for no code.",
"Select the products to apply the discount to": "Select the products to apply the discount to",
"The target amount for the discount when the target is set to Total": "The target amount for the discount when the target is set to Total",
"The target quantity for the discount when the target is set to All or Products": "The target quantity for the discount when the target is set to All or Products",
"The number of times the discount can be used": "The number of times the discount can be used",
"Enter the ID of the discount you want to retrieve": "Enter the ID of the discount you want to retrieve",
"Select a date to start the search": "Select a date to start the search",
"Select a date to end the search. Defaults to today.": "Select a date to end the search. Defaults to today.",
"Email address to search for.": "Email address to search for.",
"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..",
"Fixed Amount": "Fixed Amount",
"Percentage": "Percentage",
"Selected Products": "Selected Products",
"Total": "Total",
"All Products": "All Products",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,86 @@
{
"Cartloom": "Cartloom",
"Sell products beautifully": "Sell products beautifully",
"Cartloom Domain": "Cartloom Domain",
"API Key": "API Key",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "The API key for your Cartloom account",
"Cartloom Authentication": "Cartloom Authentication",
"Get Products": "Get Products",
"Get Order": "Get Order",
"Create Discount": "Create Discount",
"Get Discount": "Get Discount",
"Get All Discounts": "Get All Discounts",
"Get Order by Date": "Get Order by Date",
"Get Order by Email": "Get Order by Email",
"Custom API Call": "Custom API Call",
"Get a list of products from Cartloom": "Get a list of products from Cartloom",
"Get an order from Cartloom": "Get an order from Cartloom",
"Create a discount in Cartloom": "Create a discount in Cartloom",
"Get discount info from Cartloom": "Get discount info from Cartloom",
"Get a list of discounts from Cartloom": "Get a list of discounts from Cartloom",
"Get a list of orders from Cartloom within a date range": "Get a list of orders from Cartloom within a date range",
"Get a list of orders for an email within a date range": "Get a list of orders for an email within a date range",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Invoice ID": "Invoice ID",
"Title": "Title",
"Enabled": "Enabled",
"Auto": "Auto",
"Unlimited": "Unlimited",
"Self Destruct": "Self Destruct",
"Apply Once": "Apply Once",
"Type of Discount": "Type of Discount",
"Amount": "Amount",
"Discount Target": "Discount Target",
"Start Date": "Start Date",
"Stop Date": "Stop Date",
"Markdown": "Markdown",
"Discount Code": "Discount Code",
"Target Products": "Target Products",
"Target Amount": "Target Amount",
"Target Quantity": "Target Quantity",
"Allowance": "Allowance",
"Discount ID": "Discount ID",
"End Date": "End Date",
"Email": "Email",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The invoice ID for the order you want to retrieve": "The invoice ID for the order you want to retrieve",
"Enter the title of the discount": "Enter the title of the discount",
"Is this discount enabled?": "Is this discount enabled?",
"Is this discount automatically applied?": "Is this discount automatically applied?",
"Is this discount unlimited?": "Is this discount unlimited?",
"Remove the discount after use": "Remove the discount after use",
"Apply the discount once per order": "Apply the discount once per order",
"Select the type of discount": "Select the type of discount",
"Enter the amount of the discount": "Enter the amount of the discount",
"Select the target of the discount": "Select the target of the discount",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "The start date of the discount. YYYY-MM-DD HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "The stop date of the discount. YYYY-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## Optional Settings based on above settings",
"Enter the discount code. Leave blank for no code.": "Enter the discount code. Leave blank for no code.",
"Select the products to apply the discount to": "Select the products to apply the discount to",
"The target amount for the discount when the target is set to Total": "The target amount for the discount when the target is set to Total",
"The target quantity for the discount when the target is set to All or Products": "The target quantity for the discount when the target is set to All or Products",
"The number of times the discount can be used": "The number of times the discount can be used",
"Enter the ID of the discount you want to retrieve": "Enter the ID of the discount you want to retrieve",
"Select a date to start the search": "Select a date to start the search",
"Select a date to end the search. Defaults to today.": "Select a date to end the search. Defaults to today.",
"Email address to search for.": "Email address to search for.",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Fixed Amount": "Fixed Amount",
"Percentage": "Percentage",
"Selected Products": "Selected Products",
"Total": "Total",
"All Products": "All Products",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD"
}

View File

@@ -0,0 +1,87 @@
{
"Sell products beautifully": "Sell products beautifully",
"Cartloom Domain": "Cartloom Domain",
"API Key": "API 密钥",
"Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com": "Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com",
"The API key for your Cartloom account": "The API key for your Cartloom account",
"Cartloom Authentication": "Cartloom Authentication",
"Get Products": "Get Products",
"Get Order": "Get Order",
"Create Discount": "Create Discount",
"Get Discount": "Get Discount",
"Get All Discounts": "Get All Discounts",
"Get Order by Date": "Get Order by Date",
"Get Order by Email": "Get Order by Email",
"Custom API Call": "自定义 API 呼叫",
"Get a list of products from Cartloom": "Get a list of products from Cartloom",
"Get an order from Cartloom": "Get an order from Cartloom",
"Create a discount in Cartloom": "Create a discount in Cartloom",
"Get discount info from Cartloom": "Get discount info from Cartloom",
"Get a list of discounts from Cartloom": "Get a list of discounts from Cartloom",
"Get a list of orders from Cartloom within a date range": "Get a list of orders from Cartloom within a date range",
"Get a list of orders for an email within a date range": "Get a list of orders for an email within a date range",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"Invoice ID": "Invoice ID",
"Title": "标题",
"Enabled": "已启用",
"Auto": "Auto",
"Unlimited": "无限制",
"Self Destruct": "Self Destruct",
"Apply Once": "Apply Once",
"Type of Discount": "Type of Discount",
"Amount": "Amount",
"Discount Target": "Discount Target",
"Start Date": "Start Date",
"Stop Date": "Stop Date",
"Markdown": "Markdown",
"Discount Code": "Discount Code",
"Target Products": "Target Products",
"Target Amount": "Target Amount",
"Target Quantity": "Target Quantity",
"Allowance": "Allowance",
"Discount ID": "Discount ID",
"End Date": "End Date",
"Email": "电子邮件地址",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"The invoice ID for the order you want to retrieve": "The invoice ID for the order you want to retrieve",
"Enter the title of the discount": "Enter the title of the discount",
"Is this discount enabled?": "Is this discount enabled?",
"Is this discount automatically applied?": "Is this discount automatically applied?",
"Is this discount unlimited?": "Is this discount unlimited?",
"Remove the discount after use": "Remove the discount after use",
"Apply the discount once per order": "Apply the discount once per order",
"Select the type of discount": "Select the type of discount",
"Enter the amount of the discount": "Enter the amount of the discount",
"Select the target of the discount": "Select the target of the discount",
"The start date of the discount. YYYY-MM-DD HH:MM:SS": "The start date of the discount. YYYY-MM-DD HH:MM:SS",
"The stop date of the discount. YYYY-MM-DD HH:MM:SS": "The stop date of the discount. YYYY-MM-DD HH:MM:SS",
"## Optional Settings based on above settings": "## Optional Settings based on above settings",
"Enter the discount code. Leave blank for no code.": "Enter the discount code. Leave blank for no code.",
"Select the products to apply the discount to": "Select the products to apply the discount to",
"The target amount for the discount when the target is set to Total": "The target amount for the discount when the target is set to Total",
"The target quantity for the discount when the target is set to All or Products": "The target quantity for the discount when the target is set to All or Products",
"The number of times the discount can be used": "The number of times the discount can be used",
"Enter the ID of the discount you want to retrieve": "Enter the ID of the discount you want to retrieve",
"Select a date to start the search": "Select a date to start the search",
"Select a date to end the search. Defaults to today.": "Select a date to end the search. Defaults to today.",
"Email address to search for.": "Email address to search for.",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"Fixed Amount": "Fixed Amount",
"Percentage": "Percentage",
"Selected Products": "Selected Products",
"Total": "Total",
"All Products": "All Products",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色"
}

View File

@@ -0,0 +1,39 @@
import { createCustomApiCallAction } from '@activepieces/pieces-common';
import { createPiece } from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { createDiscountAction } from './lib/actions/create-discount';
import { getDiscountAction } from './lib/actions/get-discount';
import { getAllDiscountsAction } from './lib/actions/get-discounts';
import { getOrderAction } from './lib/actions/get-order';
import { getOrderDateAction } from './lib/actions/get-orders-date';
import { getOrderEmailAction } from './lib/actions/get-orders-date-email';
import { getProductsAction } from './lib/actions/get-products';
import { cartloomAuth } from './lib/auth';
export const cartloom = createPiece({
displayName: 'Cartloom',
description: 'Sell products beautifully',
auth: cartloomAuth,
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/cartloom.png',
categories: [PieceCategory.COMMERCE],
authors: ["joeworkman","kishanprmr","MoShizzle","abuaboud"],
actions: [
getProductsAction,
getOrderAction,
createDiscountAction,
getDiscountAction,
getAllDiscountsAction,
getOrderDateAction,
getOrderEmailAction,
createCustomApiCallAction({
baseUrl: (auth) =>
`https://${auth?.props.domain}.cartloom.com/api`, // Replace with the actual base URL
auth: cartloomAuth,
authMapping: async (auth) => ({
'X-API-KEY': auth.props.apiKey,
}),
}),
],
triggers: [],
});

View File

@@ -0,0 +1,152 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import { createDiscount } from '../api';
import { CartloomAuthType, cartloomAuth } from '../auth';
import { buildProductsDropdown } from '../props';
export const createDiscountAction = createAction({
name: 'create_discount',
auth: cartloomAuth,
displayName: 'Create Discount',
description: 'Create a discount in Cartloom',
props: {
title: Property.ShortText({
displayName: 'Title',
description: 'Enter the title of the discount',
required: true,
}),
enabled: Property.Checkbox({
displayName: 'Enabled',
description: 'Is this discount enabled?',
required: true,
defaultValue: false,
}),
auto: Property.Checkbox({
displayName: 'Auto',
description: 'Is this discount automatically applied?',
required: true,
defaultValue: false,
}),
unlimited: Property.Checkbox({
displayName: 'Unlimited',
description: 'Is this discount unlimited?',
required: true,
defaultValue: false,
}),
selfDestruct: Property.Checkbox({
displayName: 'Self Destruct',
description: 'Remove the discount after use',
required: true,
defaultValue: false,
}),
applyOnce: Property.Checkbox({
displayName: 'Apply Once',
description: 'Apply the discount once per order',
required: true,
defaultValue: false,
}),
type: Property.StaticDropdown({
displayName: 'Type of Discount',
description: 'Select the type of discount',
defaultValue: 'fixed',
required: true,
options: {
options: [
{ label: 'Fixed Amount', value: 'fixed' },
{ label: 'Percentage', value: 'percent' },
],
},
}),
amount: Property.Number({
displayName: 'Amount',
description: 'Enter the amount of the discount',
required: true,
defaultValue: 0,
}),
target: Property.StaticDropdown({
displayName: 'Discount Target',
description: 'Select the target of the discount',
defaultValue: 'all',
required: true,
options: {
options: [
{ label: 'Selected Products', value: 'product' },
{ label: 'Total', value: 'total' },
{ label: 'All Products', value: 'all' },
],
},
}),
startDate: Property.DateTime({
displayName: 'Start Date',
description: 'The start date of the discount. YYYY-MM-DD HH:MM:SS',
required: true,
}),
stopDate: Property.DateTime({
displayName: 'Stop Date',
description: 'The stop date of the discount. YYYY-MM-DD HH:MM:SS',
required: true,
}),
optional: Property.MarkDown({
value: '## Optional Settings based on above settings',
}),
code: Property.ShortText({
displayName: 'Discount Code',
description: 'Enter the discount code. Leave blank for no code.',
required: false,
}),
targetPids: Property.MultiSelectDropdown({
auth: cartloomAuth,
displayName: 'Target Products',
description: 'Select the products to apply the discount to',
required: false,
refreshers: [],
options: async ({ auth }) =>
{ if(!auth)
{
return {
options: [],
disabled:true,
placeholder:"please authenticate"
}
}
return await buildProductsDropdown(auth.props)},
}),
targetAmount: Property.Number({
displayName: 'Target Amount',
description:
'The target amount for the discount when the target is set to Total',
required: false,
}),
targetQuantity: Property.Number({
displayName: 'Target Quantity',
description:
'The target quantity for the discount when the target is set to All or Products',
required: false,
defaultValue: 0,
}),
allowance: Property.Number({
displayName: 'Allowance',
description: 'The number of times the discount can be used',
required: false,
}),
},
async run(context) {
return await createDiscount(context.auth.props, {
enabled: context.propsValue.enabled ? 1 : 0,
auto: context.propsValue.auto ? 1 : 0,
unlimited: context.propsValue.unlimited ? 1 : 0,
self_destruct: context.propsValue.selfDestruct ? 1 : 0,
apply_once: context.propsValue.applyOnce ? 1 : 0,
title: context.propsValue.title,
type: context.propsValue.type,
amount: context.propsValue.amount,
target: context.propsValue.target,
start_date: context.propsValue.startDate.split('T')[0],
stop_date: context.propsValue.stopDate.split('T')[0],
code: context.propsValue.code,
target_pid: context.propsValue.targetPids?.join(','),
target_amount: context.propsValue.targetAmount,
target_quantity: context.propsValue.targetQuantity,
allowance: context.propsValue.allowance,
});
},
});

View File

@@ -0,0 +1,20 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import { getDiscount } from '../api';
import { cartloomAuth } from '../auth';
export const getDiscountAction = createAction({
name: 'get_discount',
auth: cartloomAuth,
displayName: 'Get Discount',
description: 'Get discount info from Cartloom',
props: {
discountId: Property.ShortText({
displayName: 'Discount ID',
description: 'Enter the ID of the discount you want to retrieve',
required: true,
}),
},
async run(context) {
return await getDiscount(context.auth.props, context.propsValue.discountId);
},
});

View File

@@ -0,0 +1,14 @@
import { createAction } from '@activepieces/pieces-framework';
import { getAllDiscounts } from '../api';
import { cartloomAuth } from '../auth';
export const getAllDiscountsAction = createAction({
name: 'get_all_discounts',
auth: cartloomAuth,
displayName: 'Get All Discounts',
description: 'Get a list of discounts from Cartloom',
props: {},
async run(context) {
return await getAllDiscounts(context.auth.props);
},
});

View File

@@ -0,0 +1,20 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import { getOrder } from '../api';
import { cartloomAuth } from '../auth';
export const getOrderAction = createAction({
name: 'get_order',
auth: cartloomAuth,
displayName: 'Get Order',
description: 'Get an order from Cartloom',
props: {
invoice: Property.ShortText({
displayName: 'Invoice ID',
description: 'The invoice ID for the order you want to retrieve',
required: true,
}),
},
async run(context) {
return await getOrder(context.auth.props, context.propsValue.invoice);
},
});

View File

@@ -0,0 +1,36 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import { getOrdersByDate } from '../api';
import { cartloomAuth } from '../auth';
export const getOrderEmailAction = createAction({
name: 'get_orders_by_email',
auth: cartloomAuth,
displayName: 'Get Order by Email',
description: 'Get a list of orders for an email within a date range',
props: {
start: Property.DateTime({
displayName: 'Start Date',
description: 'Select a date to start the search',
required: true,
}),
end: Property.DateTime({
displayName: 'End Date',
description: 'Select a date to end the search. Defaults to today.',
required: false,
}),
email: Property.ShortText({
displayName: 'Email',
description: 'Email address to search for.',
required: true,
}),
},
async run(context) {
return await getOrdersByDate(context.auth.props, {
search_type: 'email',
keyword: context.propsValue.email,
start_date: context.propsValue.start.split('T')[0],
end_date:
context.propsValue.end || new Date().toISOString().split('T')[0],
});
},
});

View File

@@ -0,0 +1,29 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import { getOrdersByDate } from '../api';
import { cartloomAuth } from '../auth';
export const getOrderDateAction = createAction({
name: 'get_orders_by_date',
auth: cartloomAuth,
displayName: 'Get Order by Date',
description: 'Get a list of orders from Cartloom within a date range',
props: {
start: Property.DateTime({
displayName: 'Start Date',
description: 'Select a date to start the search',
required: true,
}),
end: Property.DateTime({
displayName: 'End Date',
description: 'Select a date to end the search. Defaults to today.',
required: false,
}),
},
async run(context) {
return await getOrdersByDate(context.auth.props, {
start_date: context.propsValue.start.split('T')[0],
end_date:
context.propsValue.end || new Date().toISOString().split('T')[0],
});
},
});

View File

@@ -0,0 +1,14 @@
import { createAction } from '@activepieces/pieces-framework';
import { getProducts } from '../api';
import { cartloomAuth } from '../auth';
export const getProductsAction = createAction({
name: 'get_products',
auth: cartloomAuth,
displayName: 'Get Products',
description: 'Get a list of products from Cartloom',
props: {},
async run(context) {
return await getProducts(context.auth.props);
},
});

View File

@@ -0,0 +1,72 @@
import {
httpClient,
HttpMethod,
HttpRequest,
} from '@activepieces/pieces-common';
import { CartloomAuthType } from './auth';
type KeyValuePair = { [key: string]: string | boolean | number | undefined };
const cartloomAPI = async (
api: string,
auth: CartloomAuthType,
body: KeyValuePair = {}
) => {
const request: HttpRequest = {
method: HttpMethod.POST,
url: `https://${auth.domain}.cartloom.com/api${api}`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-API-KEY': auth.apiKey,
},
body: body,
};
const response = await httpClient.sendRequest(request);
if (response.status !== 200) {
throw new Error(`Cartloom API Error: ${response.status} ${response.body}`);
}
let data = Object.keys(response.body).map((key) => response.body[key]);
const arrayTest = response.body['0'];
if (typeof arrayTest === 'undefined') {
// when response is an object, it is wrapped in an array
data = [response.body];
}
return {
success: true,
data: data,
};
};
export async function getProducts(auth: CartloomAuthType) {
return cartloomAPI('/products/list', auth);
}
export async function getAllDiscounts(auth: CartloomAuthType) {
return cartloomAPI('/discounts/list', auth);
}
export async function getDiscount(auth: CartloomAuthType, discountId: string) {
return cartloomAPI('/discounts/get', auth, { id: discountId });
}
export async function getOrder(auth: CartloomAuthType, invoice: string) {
return cartloomAPI('/orders/get', auth, { invoice: invoice });
}
export async function getOrdersByDate(
auth: CartloomAuthType,
data: KeyValuePair
) {
return cartloomAPI('/orders/list', auth, data);
}
export async function createDiscount(
auth: CartloomAuthType,
data: KeyValuePair
) {
return cartloomAPI('/discounts/add', auth, data);
}

View File

@@ -0,0 +1,47 @@
import {
PieceAuth,
Property,
} from '@activepieces/pieces-framework';
import { getProducts } from './api';
export type CartloomAuthType = { apiKey: string; domain: string };
export const cartloomAuth = PieceAuth.CustomAuth({
description: 'Cartloom Authentication',
props: {
domain: Property.ShortText({
displayName: 'Cartloom Domain',
description:
'Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com',
required: true,
}),
apiKey: PieceAuth.SecretText({
displayName: 'API Key',
description: 'The API key for your Cartloom account',
required: true
}),
},
validate: async ({ auth }) => {
try {
await validateAuth(auth);
return {
valid: true,
};
} catch (e) {
return {
valid: false,
error: (e as Error)?.message,
};
}
},
required: true,
});
const validateAuth = async (auth: CartloomAuthType) => {
const response = await getProducts(auth);
if (response.success !== true) {
throw new Error(
'Authentication failed. Please check your domain and API key and try again.'
);
}
};

View File

@@ -0,0 +1,19 @@
import { CartloomAuthType } from './auth';
import { getProducts } from './api';
export async function buildProductsDropdown(auth: CartloomAuthType) {
if (!auth) {
return {
options: [],
disabled: true,
placeholder: 'Please authenticate first',
};
}
const response = await getProducts(auth);
const options = response.data.map((product) => {
return { label: product.name, value: product.pid };
});
return {
options: options,
};
}