Medusa plugins
A

Amc

A starter for Medusa plugins.

Need customizations for this plugin?

Get in touch
npm install @tsc_tech/medusa-plugin-amc
Category
other
Built by
tsc_tech
Type
unknown
Last updated
6 months ago
Monthly downloads
38

✨ 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
# or
yarn add @tsc_tech/medusa-plugin-amc

βš™οΈ Configuration

// medusa-config.js
module.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

  1. List All AMCs
# Using curl
curl -X GET "http://localhost:9000/store/amc?limit=50&offset=0" \
-H "Content-Type: application/json"
# Direct endpoint
GET /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
}
  1. Get AMC by Variant ID
# Using curl
curl -X GET "http://localhost:9000/store/amc/variant_123" \
-H "Content-Type: application/json"
# Direct endpoint
GET /store/amc/{variantId}

Response:

{
"amc": [...],
"count": number,
"limit": number,
"offset": number
}
  1. Add AMC to Cart Line Item
# Using curl
curl -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 endpoint
POST /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
}
  1. Get Customer Warranties
# Using curl
curl --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
}
]
}
]