UNPKG

ondc-campaign-sdk

Version:

[![npm version](https://img.shields.io/npm/v/ondc-campaign-sdk.svg)](https://www.npmjs.com/package/ondc-campaign-sdk) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Made with ❀️](https://img.shields.io/badge/Made%20with-%

233 lines (178 loc) β€’ 4.59 kB
# πŸ›οΈ ONDC Campaign SDK [![npm version](https://img.shields.io/npm/v/ondc-campaign-sdk.svg)](https://www.npmjs.com/package/ondc-campaign-sdk) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Made with ❀️](https://img.shields.io/badge/Made%20with-%E2%9D%A4-red)](#) A lightweight & beautiful SDK to fetch and display live **ONDC campaign products**. Whether you're building a storefront, promotion landing page, or partner dashboard β€” plug & play this SDK to show campaigns with style πŸš€ --- ## ✨ Features - πŸ“’ **Campaign Info** β€” name, description, banner, and URLs - πŸ›’ **Product Details** β€” seller, pricing, image, category, discount - 🎨 **Styled UI Renderer** β€” embed product cards with optional themes - πŸ“± **Mobile Responsive** β€” optimized HTML ready for any screen - βš™οΈ **Zero Config** β€” just install & run. That’s it. --- ## πŸ“¦ Installation ```bash npm install ondc-campaign-sdk ``` --- ## ⚑ Quick Start ### 1. Fetch Campaign Products (Raw JSON) ```ts import { fetchLiveCampaignProducts } from "ondc-campaign-sdk"; const data = await fetchLiveCampaignProducts(); console.log(data); ``` --- ### 2. Generate Styled HTML (for embedding) ```ts import { fetchLiveCampaignProductsWithHtml } from "ondc-campaign-sdk"; const html = await fetchLiveCampaignProductsWithHtml(5); // show 5 products document.getElementById("campaign-section").innerHTML = html; ``` With custom styles: ```ts const styles = { primary: "#0d9488", accent: "#ef4444", bgLight: "#f0fdfa", borderRadius: "16px", }; const html = await fetchLiveCampaignProductsWithHtml(6, styles); ``` --- ### 3. Render Directly into the DOM ```ts import { renderLiveCampaignProducts } from "ondc-campaign-sdk"; // Renders 6 products directly into <body> renderLiveCampaignProducts(6); ``` With styles: ```ts renderLiveCampaignProducts(6, { primary: "#7c3aed", accent: "#f43f5e", bgLight: "#faf5ff", }); ``` --- ## πŸ§ͺ API Response Format ```json { "_id": "", "campaignName": "", "description": "", "banner": "", "products": [ { "prices": { "regular": { "price": "", "formatted_price": "" }, "final": { "price": "", "formatted_price": "" } }, "ratings": { "average": "", "total": "" }, "reviews": { "total": "" }, "id": "", "sku": "", "name": "", "description": "", "url_key": "", "base_image": { "small_image_url": "", "medium_image_url": "", "large_image_url": "", "original_image_url": "" }, "images": [ { "small_image_url": "", "medium_image_url": "", "large_image_url": "", "original_image_url": "" } ], "is_new": "", "is_featured": "", "on_sale": "", "is_saleable": "", "is_wishlist": "", "min_price": "", "price_html": "" } ], "isActive": "", "createdAt": "", "__v": "" } ``` --- ## 🎨 Style Options (Optional) ```ts { primary: "#3d5af1", primaryDark: "#2a3eb1", accent: "#ff6b6b", text: "#333333", textLight: "#777777", bgLight: "#f8f9fa", white: "#ffffff", shadow: "0 10px 30px rgba(0,0,0,0.08)", borderRadius: "12px" } ``` --- ## 🌐 Full HTML Example ```html <!DOCTYPE html> <html lang="en"> <head> <title>ONDC Campaign</title> <script type="module"> import { renderLiveCampaignProducts } from "https://cdn.skypack.dev/ondc-campaign-sdk"; renderLiveCampaignProducts(6); </script> </head> <body></body> </html> ``` Or embed into a custom container: ```html <div id="campaign-section"></div> <script type="module"> import { fetchLiveCampaignProductsWithHtml } from "https://cdn.skypack.dev/ondc-campaign-sdk"; const html = await fetchLiveCampaignProductsWithHtml(4); document.getElementById("campaign-section").innerHTML = html; </script> ``` --- ## πŸ“œ License MIT License Β© 2025 [Your Company Name] --- ## 🀝 Contributing We’d love your help to make this better! - 🐞 Report bugs - πŸ’‘ Suggest features - πŸ“₯ Submit pull requests - 🌟 Star the repo if you find it useful! --- ## πŸ’¬ Support Have a question or need help? Feel free to reach out: `dev-support@yourdomain.com` --- ## 🧩 Coming Soon - Filters by category or seller - Sorting options (price, discount) - Lazy loading for product lists - CDN-ready minified build --- Enjoy building cool stuff with ONDC πŸ’™