Medusa

MedusaJS es una plataforma de comercio electrónico sin cabeza y de código abierto que ayuda a los desarrolladores a crear y gestionar tiendas en línea con flexibilidad y escalabilidad. A diferencia de las plataformas de comercio electrónico tradicionales, MedusaJS ofrece un marco de backend que permite a los usuarios personalizar y ampliar la funcionalidad de su tienda, mientras tienen la libertad de elegir cualquier tecnología frontend para la experiencia del cliente. MedusaJS admite funciones como gestión de productos, seguimiento de inventario, procesamiento de pedidos e integraciones de pago, pero es altamente extensible, lo que permite a los usuarios agregar complementos y API personalizados para satisfacer sus necesidades específicas. Es ideal para desarrolladores que buscan una solución flexible y centrada en API para crear sistemas de comercio electrónico a medida.

Nuestro complemento permite enviar SMS y realizar llamadas de texto a voz.

Instalación

A través de Yarn

yarn add @seven.io/medusa

A través de NPM

npm install @seven.io/medusa

Configuración

Después de la instalación, agregue sus credenciales al archivo .env:

SEVEN_API_KEY="<SU_CLAVE_API>" # ver https://help.seven.io/de/articles/9582186-wo-steht-mein-api-key

El último paso es agregar el complemento y sus opciones al arreglo plugins en el archivo medusa-config.js:

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
            }
        },
    }
]

Uso

Uso dinámico

El servicio de seven se puede resolver dinámicamente para enviar SMS y realizar llamadas de texto a voz.

Ejemplo:

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
})

Uso basado en suscripción

Este ejemplo muestra cómo se envía un SMS después de realizar un pedido.

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,
        })
    }
}