- babel-preset-medusa-package@1.1.4 - @medusajs/medusa-cli@1.1.5 - medusa-core-utils@1.1.10 - medusa-dev-cli@0.0.9 - medusa-file-spaces@1.1.13 - medusa-fulfillment-manual@1.1.10 - medusa-fulfillment-webshipper@1.1.14 - medusa-interfaces@1.1.11 - medusa-payment-adyen@1.1.13 - medusa-payment-klarna@1.1.14 - medusa-payment-paypal@1.0.14 - medusa-payment-stripe@1.1.13 - medusa-plugin-add-ons@1.1.13 - medusa-plugin-brightpearl@1.1.16 - medusa-plugin-contentful@1.1.14 - medusa-plugin-discount-generator@1.1.4 - medusa-plugin-economic@1.1.13 - medusa-plugin-ip-lookup@1.1.4 - medusa-plugin-mailchimp@1.1.13 - medusa-plugin-permissions@1.1.13 - medusa-plugin-restock-notification@0.0.4 - medusa-plugin-segment@1.1.16 - medusa-plugin-sendgrid@1.1.14 - medusa-plugin-slack-notification@1.1.13 - medusa-plugin-twilio-sms@1.1.13 - medusa-plugin-wishlist@1.1.13 - medusa-test-utils@1.1.13 - @medusajs/medusa@1.1.20
medusa-plugin-restock-notification
Usage
Install the plugin:
$ yarn add medusa-plugin-restock-notification
// medusa-config.js
module.exports = {
...,
plugins: [
...,
`medusa-plugin-restock-notification`
]
}
The plugin will migrate your database to include the RestockNotification entity, which consists of a variant id of a sold out item and a jsonb list of arrays that wish to be notified about restocks for the item.
API endpoint
The plugin exposes an endpoint to sign emails up for restock notifications:
POST /restock-notifications/variants/:variant_id
Body
{
"email": "seb@test.com"
}
The endpoint responds with 200 OK on succesful signups. If a signup for an already in stock item is attempted the endpoint will have a 400 response code.
Restock events
The plugin listens for the product-variant.updated call and emits a restock-notification.restocked event when a variant with restock signups become available.
The data sent with the restock-notification.restocked event is:
variant_id: The id of the variant to listen for restock events for.
emails: An array of emails that are to be notified of restocks.
e.g.
{
"variant_id": "variant_1234567890",
"emails": ["seb@test.com", "oli@test.com"]
}
Note: This plugin does not send any communication to the customer, communication logic must be implemented or provided through a communication plugin.
You may use medusa-plugin-sendgrid to orchestrate transactional emails.
Usage with medusa-plugin-sendgrid
Install the plugins:
$ yarn add medusa-plugin-restock-notification medusa-plugin-sendgrid
// medusa-config.js
module.exports = {
...,
plugins: [
...,
`medusa-plugin-restock-notification`,
{
resolve: `medusa-plugin-sendgrid`,
options: {
from: SENDGRID_FROM,
api_key: SENDGRID_API_KEY,
medusa_restock_template: `d-13141234123412342314`
}
}
]
}
You should set up a dynamic template in SendGrid which will be send for each of the emails in the restock notification.