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