Medusa

MedusaJS é uma plataforma de e-commerce headless e de código aberto que ajuda desenvolvedores a criar e gerenciar lojas online com flexibilidade e escalabilidade. Ao contrário das plataformas de e-commerce tradicionais, o MedusaJS oferece um framework de backend que permite aos usuários personalizar e expandir a funcionalidade de suas lojas, enquanto têm a liberdade de escolher qualquer tecnologia de frontend para a experiência do cliente. O MedusaJS suporta funcionalidades como gerenciamento de produtos, rastreamento de inventário, processamento de pedidos e integrações de pagamento, mas é altamente extensível, permitindo que os usuários adicionem plugins e APIs personalizados para atender às suas necessidades específicas. É ideal para desenvolvedores que buscam uma solução flexível e centrada em API para criar sistemas de e-commerce sob medida.

Nosso plugin permite o envio de SMS e a realização de chamadas de texto para fala.

Instalação

Via Yarn

yarn add @seven.io/medusa

Via NPM

npm install @seven.io/medusa

Configuração

Após a instalação, adicione suas credenciais ao arquivo .env:

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

O último passo é adicionar o plugin e suas opções ao array plugins no arquivo 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

O serviço seven pode ser resolvido dinamicamente para enviar SMS e realizar chamadas de texto para fala.

Exemplo:

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 Baseado em Assinatura

Este exemplo mostra como enviar um SMS após um pedido ser feito.

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