flipkart-seller-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@flipkart-seller-mcpshow me pending orders"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Flipkart Seller MCP Server
A high-performance, token-optimized Model Context Protocol (MCP) server for the Flipkart Seller v3 API. Built using Python (FastMCP + Pydantic), this server enables AI agents (Claude Desktop, Antigravity, OpenCode, Cursor, AutoGen) to manage order fulfillment, listing inventory & pricing CRUD, customer returns, ad campaigns, and payout settlements.
📚 Table of Contents
Related MCP server: SellerChamp MCP Server
Features
Token-Optimized Architecture: Returns clean, concise Markdown tables (~100–300 tokens) by default, saving up to 90% context tokens for LLM reasoning loops.
Consolidated Master Domain Tools: Exposes 5 unified master tools (
shipments,inventory,returns,ads,financials) with strict action parameters to prevent tool schema clutter in agent prompts.Full Catalog & Listings CRUD: Search, create, update details/prices/stock, and deactivate catalog listings.
Auto OAuth Lifecycle: Proactive OAuth2 client-credentials authentication with 5-minute pre-expiration token auto-refresh.
Out-of-the-Box Mock Mode: Runs seamlessly in mock mode if API credentials are missing, making development and agent testing instant.
âš¡ Token Optimization Architecture
flipkart-seller-mcp was architected from the ground up to minimize context token usage for LLM agents:
Schema Consolidation (5 Master Tools vs 30+ Micro-Tools): By grouping endpoints into 5 master domain tools (
flipkart_manage_shipments,flipkart_manage_inventory,flipkart_manage_returns,flipkart_manage_ads,flipkart_manage_financials), we reduce the tool schema footprint in the agent's system prompt from ~4,000 tokens down to ~500 tokens.detail_level: "summary"Defaulting: Raw API payloads for Flipkart orders/listings can exceed 5,000 tokens per single API call. Every tool defaults todetail_level="summary", extracting only essential columns (e.g.shipmentId,orderId,sku,status,dispatchByDate) formatted into Markdown tables (~100–300 tokens).Pydantic Type Compression: Field annotations and descriptions are written concisely without redundant verbose prose, avoiding schema inflation during agent initialization.
Pagination & Output Capping: Responses cap summary listings at 10 items per page by default, preventing unexpected context window overflows.
🔑 How to Get Flipkart Credentials
To connect to a live Flipkart Seller Hub account, you need a Client ID and Client Secret.
👉 Read the Step-by-Step Credentials Guide
Quick Overview:
Log in to Flipkart Seller Hub.
Go to Manage Profile > Developer Access.
Create a Self Access Application and enable required scopes (
Orders,Listings,Returns,Financials,Ads).Copy your Application ID (
FLIPKART_CLIENT_ID) and Application Secret (FLIPKART_CLIENT_SECRET).
Installation & Setup
1. Prerequisites
Python 3.10+
uv,pip, ornpx
2. Environment Setup
Create a .env file in your workspace root:
FLIPKART_CLIENT_ID=your_flipkart_application_id
FLIPKART_CLIENT_SECRET=your_flipkart_application_secret
# Optional: defaults to https://api.flipkart.net
FLIPKART_API_BASE_URL=https://api.flipkart.net3. Usage with MCP Clients
Claude Desktop / Antigravity / OpenCode Configuration
{
"mcpServers": {
"flipkart": {
"command": "uvx",
"args": ["flipkart-seller-mcp"],
"env": {
"FLIPKART_CLIENT_ID": "your_client_id_here",
"FLIPKART_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}Or via Node/NPM runner:
{
"mcpServers": {
"flipkart": {
"command": "npx",
"args": ["-y", "flipkart-seller-mcp"],
"env": {
"FLIPKART_CLIENT_ID": "your_client_id_here",
"FLIPKART_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}🤖 Guidance for AI Agents
When interacting with flipkart-seller-mcp, follow these best practices for maximum performance and token efficiency:
Use
actionParameters: Each master tool uses a requiredactionswitch (e.g.flipkart_manage_shipments(action="search")). Check the tool docstrings for supported actions.Leverage Token Efficiency (
detail_level):detail_level="summary"(Default): Returns a compact Markdown summary table (~100–300 tokens). Ideal for scanning and planning.detail_level="full": Returns the un-truncated raw API JSON response. Use only when deep data extraction is required.
Multi-Step Fulfillment Flow:
Step 1:
flipkart_manage_shipments(action="search", state="APPROVED")to list new orders.Step 2:
flipkart_manage_shipments(action="inspect", shipment_ids=["SHIP_ID"])to view item & SLA details.Step 3:
flipkart_manage_shipments(action="mark_rtd", shipment_ids=["SHIP_ID"])to pack and mark Ready for Dispatch.Step 4:
flipkart_manage_shipments(action="get_label", shipment_ids=["SHIP_ID"])to fetch printable PDF label & invoice.
Listings & Inventory CRUD Flow:
Use
flipkart_manage_inventory(action="create_listing", sku="SKU123", title="...", selling_price=499.0)to create new products.Use
update_stockorupdate_pricefor quick operational changes.
Available Domain Tools
Tool Name | Actions Supported | Primary Description |
|
| Order fulfillment, packing, SLA inspection, label & invoice PDF retrieval, cancellations. |
|
| Catalog listings CRUD, warehouse stock updates, MRP and Selling Price management. |
|
| Customer return requests, courier RTO tracking, return approvals, Seller Protection Fund (SPF) claims. |
|
| Ad campaign performance (PLA/PCA), daily spend, ROAS tracking, budget & bid updates. |
|
| Bank payouts, settlement summaries, tax/sales report generation & download links. |
🔮 Future Scope & Roadmap
Unified Multi-Marketplace Adapter (
unified-ecom-mcp): Extraction ofFlipkartClientinto a unified e-commerce protocol alongside Amazon SP-API, Shopify, and Meesho adapters.AI-Powered SPF Dispute & Claims Assistant: Automated filing of Seller Protection Fund (SPF) claims with AI image verification for wrong/damaged return items.
Dynamic Re-Pricing Rules: Rule-based automated price adjustments according to competitor listings and buy-box status.
Bulk CSV Batch Uploads: Batch listing creation and inventory sync via CSV/Excel parsing tool actions.
Development & Testing
git clone https://github.com/ron2111/flipkart-seller-mcp.git
cd flipkart-seller-mcp
python -m venv .venv
source .venv/bin/activate # Or .venv\Scripts\activate on Windows
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
# Run full pytest suite
pytestLicense
MIT License. See LICENSE for details.
Available Tools
5 toolsflipkart_manage_adsB
Manage Flipkart advertising campaigns (PLA / PCA / Smart ROI), budgets, and bidding.
Actions:
'list_campaigns': View active or paused ad campaigns.
'get_metrics': Fetch campaign performance (impressions, clicks, spend, orders, ROAS).
'update_budget': Update daily budget (INR).
'update_bid': Modify keyword or product bid prices.
Output format: Returns token-optimized Markdown table ('summary') or JSON ('full').
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| bid_amount | No | ||
| campaign_id | No | ||
| daily_budget | No | ||
| detail_level | No | summary | |
| status_filter | No | RUNNING |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully bears responsibility. It mentions mutating actions (update_budget, update_bid) but does not disclose side effects, prerequisites, authentication needs, or rate limits. The output format is noted, but behavioral traits like irreversible changes or costing implications are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with bullet-pointed actions and a clear output format note. It is fairly concise, though the first line has a typo ('betting' instead of 'bidding'). Every sentence adds value, but the listing could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple actions, 6 parameters, no annotations), the description lacks parameter-to-action mapping, error conditions, required permissions, and output details beyond format. It is incomplete for an agent to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, forcing description to explain parameters. It connects some parameters to actions (e.g., daily_budget for update_budget, bid_amount for update_bid) but does not map all parameters (campaign_id, status_filter) to actions. Detail_level is briefly explained, but not comprehensively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Manage Flipkart advertising campaigns' which is a clear verb+resource. It lists specific actions (list_campaigns, get_metrics, update_budget, update_bid) that are distinct from sibling tools like flipkart_manage_shipments or flipkart_manage_returns, which handle logistics and not ads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for ad management but does not explicitly state when to use this tool versus alternatives. There is no 'when-not-to-use' or comparative guidance, though sibling tools are in different domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flipkart_manage_financialsA
Manage Flipkart seller bank settlements, payouts, and financial/tax report generation.
Actions:
'get_settlements': View payout summaries, bank settlement status, UTR numbers.
'request_report': Trigger generation of sales, tax, inventory, or returns reports.
'download_report': Check status and retrieve download link for generated report.
Output format: Returns token-optimized Markdown table ('summary') or JSON ('full').
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| date_to | No | ||
| date_from | No | ||
| report_id | No | ||
| report_type | No | SALES | |
| detail_level | No | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes actions as 'view', 'trigger', and 'download', hinting at read vs. write, but lacks details on side effects, permissions, or limitations. The 'request_report' may be a mutating action, but this is not clarified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a one-line summary followed by bullet points for each action. It is front-loaded with the overall purpose and uses minimal prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six parameters and multiple actions, the description covers the three actions and output format but lacks detailed guidance per action-parameter pairing. An output schema exists but is not shown; nevertheless, the description is incomplete for first-time use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain how parameters like date_from, date_to, report_id, or report_type relate to each action. It only mentions output format via detail_level, but without explicit mapping, leaving parameter usage ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages bank settlements, payouts, and report generation. It lists three specific actions with their purposes, making it distinct from sibling tools which cover other domains like shipments or inventory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for financial tasks through the actions listed, and sibling tool names clarify the domain. However, it does not explicitly state when to use this tool vs. alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flipkart_manage_inventoryB
Manage Flipkart product listings, inventory levels, pricing, and catalog CRUD.
Actions:
'search': Search catalog listings by SKU or FSN.
'get_details': Fetch full listing specifications and current pricing/stock.
'update_stock': Modify available inventory counts across warehouses.
'update_price': Update MRP and Selling Price (INR).
'create_listing': Create a new catalog listing (Title, SKU, Selling Price, Brand).
'update_listing': Update listing title, brand, or custom attributes.
'delete_listing': Deactivate or archive a listing by SKU.
Output format: Returns token-optimized Markdown table ('summary') or JSON ('full').
| Name | Required | Description | Default |
|---|---|---|---|
| fsn | No | ||
| mrp | No | ||
| sku | No | ||
| brand | No | ||
| stock | No | ||
| title | No | ||
| action | Yes | ||
| category | No | ||
| attributes | No | ||
| detail_level | No | summary | |
| selling_price | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions output format ('token-optimized Markdown table or JSON') and hints at destructive actions (e.g., 'delete_listing: Deactivate or archive'). However, it does not disclose side effects, permissions, rate limits, or what operations are irreversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderate in length and uses bullet points for actions, making it structured. However, it could be more concise by removing redundant phrases like 'catalog CRUD' and 'Returns token-optimized...' could be integrated more tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters with 0% schema coverage and a complex tool with multiple actions, the description does not fully compensate. It lacks parameter mapping, action-specific prerequisites, and details on output schema beyond format. The output format hint is useful but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain individual parameters or their relationships to actions. While actions are described, it is unclear which parameters are required for each action and any constraints (e.g., format, allowed values).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages 'Flipkart product listings, inventory levels, pricing, and catalog CRUD' and lists seven specific actions (search, get_details, update_stock, update_price, create_listing, update_listing, delete_listing) with brief explanations. It is distinct from sibling tools that handle shipments, returns, ads, and financials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists actions but does not explicitly state when to use this tool versus alternatives. It implies use for inventory/catalog management but lacks when-not-to-use or prerequisites. Sibling names provide context but no explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flipkart_manage_returnsB
Manage Flipkart customer returns, RTO tracking, and Seller Protection Fund (SPF) claims.
Actions:
'list_returns': List customer returns, RTOs, or replacements.
'track_rto': Track return shipment delivery status and courier location.
'approve_return': Approve customer return request.
'spf_claim': File SPF claim for damaged, wrong, or missing return items.
Output format: Returns token-optimized Markdown table ('summary') or JSON ('full').
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| return_id | No | ||
| return_type | No | CUSTOMER_RETURN | |
| tracking_id | No | ||
| claim_amount | No | ||
| claim_reason | No | ||
| detail_level | No | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects (e.g., irreversible actions), authentication requirements, rate limits, or what happens to data. The description only lists actions and output format, lacking transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, uses a bullet list for actions, and includes output format. It is well-structured and front-loaded with purpose. However, it could be slightly more efficient by combining some phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers actions and output format, but given the tool complexity (7 params, no annotations, output schema exists), it lacks details on parameter interactions, prerequisites, and expected outcomes. It is minimally complete but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It mentions action, return_id, tracking_id, etc., in the context of actions, but does not detail each parameter's meaning, format, or constraints (e.g., claim_amount, claim_reason). The description adds some value but is insufficient for a 7-parameter tool with no schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages returns, RTO tracking, and SPF claims, with specific actions listed. The purpose is clear, though it doesn't differentiate from sibling tools beyond domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists actions and their purposes, giving some context on when to use each action. However, it does not provide guidance on when to use this tool versus siblings (e.g., flipkart_manage_shipments), nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flipkart_manage_shipmentsA
Manage Flipkart seller orders & shipments.
Actions:
'search': List pending, packed, RTD, or dispatched orders (filter by state/order_id).
'inspect': Retrieve detailed order items, SLA deadlines, customer pincode.
'mark_rtd': Transition orders to Ready to Dispatch state.
'get_label': Fetch printable shipping label & tax invoice PDF URLs.
'cancel': Cancel order shipment with specified reason.
Output format: Returns token-optimized Markdown table ('summary') or JSON ('full').
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | APPROVED | |
| action | Yes | ||
| order_id | No | ||
| detail_level | No | summary | |
| shipment_ids | No | ||
| cancel_reason | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions actions and output format (Markdown or JSON) but lacks details on authorization needs, error handling, or side effects (e.g., consequences of cancellation). The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with a clear header, bulleted actions, and a note on output format. It front-loads the purpose and is devoid of unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, 0% schema coverage, and no annotations, the description provides a solid overview. It covers all actions and hints at parameter usage. However, it lacks examples, error scenarios, or detailed parameter constraints. An output schema exists but is not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It explains parameters like state (via action descriptions), order_id, detail_level, shipment_ids, and cancel_reason. However, it does not detail all parameters or their valid values (e.g., allowed states or cancel reasons). The description adds some meaning but not enough to fully cover all 6 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages shipments and orders for Flipkart sellers, listing specific actions like search, inspect, mark_rtd, get_label, and cancel. This distinguishes it from sibling tools like flipkart_manage_returns or flipkart_manage_inventory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by enumerating actions and their brief purposes (e.g., 'search: List pending, packed, RTD, or dispatched orders'). However, it does not explicitly state when to use this tool over alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
flipkart_manage_ads - First observed
flipkart_manage_financials - First observed
flipkart_manage_inventory - First observed
flipkart_manage_returns - First observed
flipkart_manage_shipments
TDQS
Scored across 5 tools
Each tool covers a distinct seller domain: shipments, returns, inventory, ads, and financials. There is no overlap in purpose, and the actions within each tool further differentiate the operations.
All tools follow a consistent 'flipkart_manage_X' pattern (e.g., flipkart_manage_shipments, flipkart_manage_returns). This makes it easy to predict the tool's domain from its name.
5 tools is well-scoped for a seller platform. It covers all major functionalities without being too few or too many, allowing for focused and manageable interactions.
The tool set covers the full lifecycle of seller operations: order and shipment management, returns and RTO, inventory and catalog CRUD, advertising, and financials. No obvious gaps are apparent.
Maintenance
Related MCP Connectors
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Furgonetka MCP Server is an extension for LLMs (such as Claude) that integrates AI assistants with Poland's most popular courier brokerage platform. The server enables models to interact directly with services from various couriers (including InPost, DPD, DHL, UPS, and Poczta Polska) through a single, unified interface. With this integration, your AI stops just "writing about logistics" and starts actually managing it.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceA Shopify-focused MCP server that enables AI agents to manage store operations like order tracking, product discovery, and checkout link generation. It facilitates customer-facing interactions including shipping estimates and real-time inventory searches.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to manage multi-marketplace e-commerce operations by connecting to the SellerChamp API. It supports inventory reporting, cross-listing analysis, order management, and bulk updates across platforms like Amazon, eBay, and Shopify.-
- FlicenseNot gradedqualityDmaintenanceA proof of concept MCP server that gives AI agents business context for e-commerce operations including orders, inventory, logistics, returns, claims, and payments.1-
- AlicenseNot gradedqualityBmaintenanceMCP server for Ozon sellers with a built-in Chinese operations knowledge base and 466 API methods, enabling AI agents to discover, understand, and execute Ozon Seller and Performance API operations safely and efficiently.1MIT