Nichts gefunden

Plugin-Erweiterungen

Was Sie selbst hinzufügen können

BulkGate-Module können zwei Dinge über das hinaus, was die Administration bietet. Beides richtet sich an Entwickler — Sie greifen in den Code Ihres Onlineshops ein.

Erweiterung Wofür sie dient
Eigene SMS aus Ihrem Code Senden Sie eine Nachricht von jeder beliebigen Stelle Ihres Codes, sogar aus einem anderen Plugin
Eigene Variablen Fügen Sie Ihren Vorlagen Daten hinzu, die das Modul nicht kennt — eine Sendungsnummer, Treuepunkte, alles aus Ihrer Datenbank

Die Unterstützung unterscheidet sich je nach Modul:

Modul Eigene SMS Eigene Variablen
WooSMS (WooCommerce) Ja Ja
PrestaSMS (PrestaShop) Ja Ja
CartSMS (OpenCart) — Ja
Vorsicht

Informative SMS für Werbe- und Marketingzwecke zu missbrauchen, ist streng verboten. Auf diesem Weg dürfen Sie nur transaktionale SMS senden.

Eigene SMS aus Ihrem Code

Die Nachricht wird als transaktionale Nachricht gesendet, aus dem Wallet des Moduls bezahlt und nimmt denselben Weg wie die Benachrichtigungen, die das Modul selbst sendet.

WooSMS

<?php do_action( 'bulkgate_send_sms', // der Name der Aktion '420777123456', // die Telefonnummer 'Hallo <name>, Sie sind <age>', // der Text mit Variablen in spitzen Klammern [ // die Werte der Variablen 'name' => 'Max', 'age' => '29', ], [ // optionale Einstellungen 'unicode' => true, // Sonderzeichen und Emojis 'country' => 'de', // ISO 3166 für Nummern im nationalen Format 'senderType' => 'gText', // der Absendertyp 'senderValue' => 'BulkGate', // der Wert des Absenders ] );

PrestaSMS

<?php Hook::exec('actionPrestaSmsSendSms', [ 'number' => '420777123456', 'template' => 'Hallo <name>, Sie sind <age>', 'variables' => [ 'name' => 'Max', 'age' => '29', ], 'settings' => [ 'unicode' => true, 'country' => 'de', 'senderType' => 'gText', 'senderValue' => 'BulkGate', ], ]);

Absendereinstellungen

senderType Bedeutung senderValue
gSystem Eine BulkGate-Systemnummer Wird nicht verwendet
gShort Eine Kurzwahlnummer Wird nicht verwendet
gText Ein alphanumerischer Absender Der Text, der dem Empfänger angezeigt wird
gOwn Ihre eigene Telefonnummer Die Nummer im internationalen Format
Hinweis

Der ältere Aktionsname woosms_send_sms funktioniert weiterhin, verwenden Sie für neue Integrationen aber bulkgate_send_sms — er ist in allen Modulen gleich.

Eigene Variablen in Vorlagen

Bei jeder Benachrichtigung sammelt das Modul Daten über die Bestellung und den Kunden. Diese Erweiterung fügt diesem Datensatz Ihre eigenen Werte hinzu, die Sie dann in der Vorlage als <variable_name> verwenden.

WooSMS

<?php use BulkGate\Plugin\{Database\Connection, Event\Variables}; add_action('bulkgate_extends_variables', function (Variables $variables, Connection $database): void { $order_id = $variables->get('order_id'); $row = $database->fetch('SELECT tracking_number FROM `order` WHERE order_id = ?', $order_id); if ($row !== null) { $variables->set('tracking_number', $row->tracking_number); } // <tracking_number> funktioniert jetzt in der Vorlage }, 20, 2);

PrestaSMS

Das Modul ruft den Hook actionPrestaSmsExtendsVariables auf und übergibt ihm ein Array mit zwei Schlüsseln — variables und database:

<?php public function hookActionPrestaSmsExtendsVariables(array $params): void { $variables = $params['variables']; $database = $params['database']; $variables->set('tracking_number', '1234567890'); }

CartSMS

OpenCart hat kein Hook-System, daher erfolgt die Erweiterung durch Überschreiben einer vorbereiteten Klasse in der Datei system/library/cartsms/cartsms/src/HookExtension.php:

<?php namespace BulkGate\CartSms; use BulkGate\Extensions; class HookExtension extends Extensions\Strict implements Extensions\Hook\IExtension { public function extend(Extensions\Database\IDatabase $database, Extensions\Hook\Variables $variables) { $row = $database->execute($database->prepare( "SELECT `tracking_no` FROM `{$database->table('order')}` WHERE `order_id` = %s LIMIT 1", [$variables->get('order_id')] ))->getRow(); if ($row) { $variables->set('tracking_no', $row->tracking_no); } } }
Warnung

Bei CartSMS überschreiben Sie eine Datei im Modul selbst, daher geht die Änderung bei einem Update verloren. Bewahren Sie eine Sicherungskopie auf und spielen Sie sie nach jedem Update wieder ein.

Fertige Erweiterungen auf GitHub

Für die häufigen Fälle — Sendungsnummern von Versanddienstleistern, Treuepunkte, Zahlungsreferenzen — gibt es fertige Lösungen, die Sie nur installieren müssen:

Der Ordner _ready-made-solutions enthält Erweiterungen für bestimmte Plugins — für WooSMS gehören dazu AfterShip, GLS, Nova Poshta oder die Sendungsverfolgung, für CartSMS Treuepunkte und Sendungsnummern. WooSMS hat zusätzlich ein leeres Grundgerüst im Ordner woosms-variables-extension, ein guter Ausgangspunkt, um eine eigene Erweiterung zu schreiben.

Tipp

Bevor Sie anfangen, eigenen Code zu schreiben, sehen Sie sich die fertigen Lösungen an — oft reicht eine davon so, wie sie ist, oder es müssen nur die Tabellen- und Spaltennamen geändert werden.

War diese Seite hilfreich?