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