Medusa

MedusaJS ist eine Open-Source, Headless-E-Commerce-Plattform, die Entwicklern hilft, Online-Shops mit Flexibilität und Skalierbarkeit zu erstellen und zu verwalten. Im Gegensatz zu traditionellen E-Commerce-Plattformen bietet MedusaJS ein Backend-Framework, das es Nutzern ermöglicht, die Funktionalität ihres Shops anzupassen und zu erweitern, während sie die Freiheit haben, jede Frontend-Technologie für das Kundenerlebnis zu wählen. MedusaJS unterstützt Funktionen wie Produktverwaltung, Bestandsverfolgung, Bestellabwicklung und Zahlungsintegrationen, ist jedoch hochgradig erweiterbar, sodass Nutzer benutzerdefinierte Plugins und APIs hinzufügen können, um ihre spezifischen Anforderungen zu erfüllen. Es ist ideal für Entwickler, die nach einer flexiblen, API-zentrierten Lösung suchen, um maßgeschneiderte E-Commerce-Systeme zu erstellen.

Unser Plugin ermöglicht das Senden von SMS sowie das Durchführen von Text-zu-Sprache-Anrufen.

Installation

Über Yarn

yarn add @seven.io/medusa

Über NPM

npm install @seven.io/medusa

Einrichtung

Nach der Installation fügen Sie Ihre Zugangsdaten zur .env-Datei hinzu:

SEVEN_API_KEY="<IHR_API_SCHLÜSSEL>" # siehe https://help.seven.io/de/articles/9582186-wo-steht-mein-api-key

Der letzte Schritt besteht darin, das Plugin und seine Optionen zum plugins-Array in der medusa-config.js-Datei hinzuzufügen:

const plugins = [
    //...
    {
        resolve: '@seven.io/medusa',
        options: {
            apiKey: process.env.SEVEN_API_KEY,
            sms: {
                flash: true, // alternativ als flash senden, siehe https://help.seven.io/de/articles/9582226-flash-sms
                from: 'Medusa', // Absenderkennung - siehe https://help.seven.io/de/articles/9582265-absenderkennung-setzen
            },
            voice: {
                json: true, // wenn true, gibt API detaillierte JSON-Antwort zurück
                from: '+49179876543210', // muss verifiziert sein, siehe https://app.seven.io/settings#callerid
            }
        },
    }
]

Verwendung

Dynamische Verwendung

Der seven-Dienst kann dynamisch aufgelöst werden, um SMS zu senden und Text-zu-Sprache-Anrufe zu tätigen.

Beispiel:

const sevenService = scope.resolve("sevenService")

// SMS senden
sevenService.sendSms({
    from: 'Medusa', // optional
    text: "Dear customer!",
    to: "+49179876543210",
    // fügen Sie optional weitere Parameter gemäß der Dokumentation unter https://docs.seven.io/de/rest-api/endpunkte/sms
})

// Text-zu-Sprachanruf tätigen
sevenService.sendVoice({
    from: '+49179876543210', // optional
    text: "Dear customer!",
    to: "+49179876543210",
    // fügen Sie optional weitere Parameter gemäß der Dokumentation unter https://docs.seven.io/de/rest-api/endpunkte/voice
})

Abonnementbasierte Verwendung

Dieses Beispiel zeigt, wie eine SMS gesendet wird, nachdem eine Bestellung aufgegeben wurde.

export default class SmsSubscriber {
    constructor({
                    eventBusService,
                    orderService,
                    sevenService,
                }) {
        this.sevenService_ = sevenService;
        this.orderService = orderService;

        eventBusService.subscribe('order.placed', this.sendSMS);
    }

    sendSMS = async ({id}) => {
        const {shipping_address} = await this.orderService.retrieve(id, {
            relations: ['shipping_address']
        })

        if (!shipping_address.phone) return

        this.sevenService_.sendSms({
            from: 'MeinShop',
            text: `Danke für Ihre Bestellung mit der ID #${id}. Wir werden Sie gleich nach dem Versand informieren.`,
            to: shipping_address.phone,
        })
    }
}
Zuletzt aktualisiert: Vor 3 Wochen