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, // Alternativamente, envíelo como flash, consulte https://help.seven.io/en/articles/9582226-flash-sms
from: 'Medusa', // Identificación del remitente: véase https://help.seven.io/en/articles/9582265-set-sender-id
},
voice: {
json: true, // Si es verdadero, la API devuelve una respuesta JSON detallada.
from: '+49179876543210', // Debe estar verificado, véase 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', // opcional
text: "Dear customer!",
to: "+49179876543210",
// Añada opcionalmente otros parámetros según la documentación disponible en https://docs.seven.io/es/rest-api/puntos-finales/sms.
})
// Text-zu-Sprachanruf tätigen
sevenService.sendVoice({
from: '+49179876543210', // opcional
text: "Dear customer!",
to: "+49179876543210",
// Añada opcionalmente otros parámetros según la documentación disponible en https://docs.seven.io/es/rest-api/puntos-finales/voz.
})
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: 'Tienda',
text: `Gracias por su pedido con el ID #${id}. Le informaremos tan pronto como se haya enviado.`,
to: shipping_address.phone,
})
}
}