Medusa plugins
A
Amc
A starter for Medusa plugins.
β¨ Features
π― Core Capabilities
- π Create & manage maintenance contracts
- π Automated contract lifecycle management
- π³ Flexible pricing & billing
- π Comprehensive reporting
- π Smart notifications system
π For Your Business
- π Increase recurring revenue
- π€ Improve customer retention
- β‘ Automate maintenance scheduling
- π± Enhanced customer experience
πͺ For Your Customers
- π‘οΈ Guaranteed maintenance support
- β° Priority service response
- π° Predictable maintenance costs
- π― Customized service plans
π Quick Start
π¦ Installation
npm install @tsc_tech/medusa-plugin-amc# oryarn add @tsc_tech/medusa-plugin-amc
βοΈ Configuration
// medusa-config.jsmodule.exports = {plugins: [// ... other plugins{resolve: "@tsc_tech/medusa-plugin-amc",options: {// plugin options (if any)},},],};
π₯ Initialize
npx medusa db:migrate
π‘ Key Features Explained
1. π Contract Management
- Create customized AMC plans
- Set flexible durations
- Track contract status
2. π Storefront Integration
AMC API Endpoints
- List All AMCs
# Using curlcurl -X GET "http://localhost:9000/store/amc?limit=50&offset=0" \-H "Content-Type: application/json"# Direct endpointGET /store/amc
Query Parameters:
- : Number of items to return (default: 50)
- : Number of items to skip (default: 0)
Response:
{"amc": [...],"count": number,"limit": number,"offset": number}
- Get AMC by Variant ID
# Using curlcurl -X GET "http://localhost:9000/store/amc/variant_123" \-H "Content-Type: application/json"# Direct endpointGET /store/amc/{variantId}
Response:
{"amc": [...],"count": number,"limit": number,"offset": number}
- Add AMC to Cart Line Item
# Using curlcurl -X POST "http://localhost:9000/store/add-amc-to-cart-line-item" \-H "Content-Type: application/json" \-d '{"cart_id": "cart_123","variant_id": "variant_456","amc_id": "amc_789","order_line_item_id": "ordli_101","quantity": 1}'# Direct endpointPOST /store/add-amc-to-cart-line-item
Request Body:
{"cart_id": "cart_123","variant_id": "variant_456","amc_id": "amc_789","order_line_item_id": "ordli_101","quantity": 1}
- Get Customer Warranties
# Using curlcurl --location 'http://localhost:9010/store/customer-warranties?variant_id=variant_01JQ950S0REDQXND3CKZ3TF7S0&order_line_item_id=ordli_01JQEAND0D686JR9VH8JRZN6Z6' \--header 'x-publishable-api-key: <your_publishable_api_key>' \--header 'Authorization: Bearer <your_token>'
Query Parameters:
- : The ID of the product variant.
- : The ID of the order line item.
Headers:
- : Your publishable API key.
- : Bearer token for authentication.
Response:
[{"customer_id": "cus_01234567890","variant_id": "variant_01234567890","order_line_item_id": "ordli_01234567890","start_date": "2025-03-28T12:12:09.704Z","end_date": "2025-04-27T12:12:09.704Z","isWarrantyAvailable": true,"details": [{"start_date": "2025-03-28T12:12:09.704Z","end_date": "2025-04-27T12:12:09.704Z","id": "warranty_01234567890","duration_days": 30,"order_id": "order_01234567890","product_id": "prod_01234567890","amc_id": "","created_at": "2025-03-28T12:12:09.704Z","updated_at": "2025-03-28T12:12:09.704Z","deleted_at": null},{"start_date": "2025-04-27T12:12:09.704Z","end_date": "2026-04-27T12:12:09.704Z","id": "warranty_09876543210","duration_days": 365,"order_id": "order_09876543210","product_id": "prod_01234567890","amc_id": "amc_01234567890","created_at": "2025-03-28T12:12:56.027Z","updated_at": "2025-03-28T12:12:56.027Z","deleted_at": null}]}]