SKU Manager: Internal Endpoint Mode Setup Guide
Python-based CSV matching for product identification
Table Of Contents
- Overview
- When to Use Internal Endpoint Mode
- Internal Endpoint vs. AI Mode
- Prerequisites
- Step-by-Step Setup
- Step 1: Select Internal Endpoint Mode
- Step 2: Data Source (CSV Configuration)
- Step 3: Fields To Send
- Step 4: Matching Script
- Step 5: Display Template
- Match Result
- Testing Your Configuration
- Current Limitations (Beta)
- Feedback Welcome
- Summary Checklist
Status: Beta Feature
Last Updated: January 2025
Overview
The Internal Endpoint mode allows you to run custom Python scripts that match incoming eBay listing data against your own CSV product database. This is ideal for users who have existing price sheets or inventory lists and want to programmatically identify products and calculate values.
When to Use Internal Endpoint Mode
Use this mode when you:
- Have a CSV file with product identifiers (model numbers, MPNs, SKUs)
- Want to match eBay listings against your existing price sheet
- Need programmatic control over matching logic
- Want to calculate max prices or margins based on your own data
- Prefer Python code over AI-based analysis
Internal Endpoint vs. AI Mode
Feature | AI Mode | Internal Endpoint Mode |
|---|---|---|
Analysis Method | AI provider (Gemini/OpenAI) | Local Python script |
Data Source | AI knowledge + prompt | Your CSV file |
Best For | Complex reasoning, condition assessment | Price lookups, exact matching |
Custom Columns | Supported | Not currently supported (beta) |
Cost | API usage fees | Free (runs locally) |
Prerequisites
Before starting, ensure you have:
- [ ] Enterprise license confirmed and whitelisted
- [ ] Python installed via SKU Manager (Data > Get Data > Install Python)
- [ ] Python libraries set up (Setup Python Libraries button)
- [ ] A CSV file with your product data ready
Step-by-Step Setup
Step 1: Select Internal Endpoint Mode
- Open the SKU Manager panel: Data tab > Get Data
- Check “SKU Manager Enabled”
- Check “Show results first, do not wait for AI” (recommended)
- In the Type dropdown, select “Internal Endpoint”
You’ll now see a 4-step wizard instead of the standard AI configuration tabs.
Step 2: Data Source (CSV Configuration)
This step connects your product database to SKU Manager.
To configure:
- Click Browse to select your CSV file
- After loading, the field selector will populate with your CSV column headers
- Select the columns you want available in your matching script
Best Practice: Select columns that serve as:
- Product Identifiers: Model numbers, MPNs, SKUs, UPCs
- Pricing Data: Your buy prices, max prices, or target margins
- Any other matching criteria: Brand names, categories, etc.
Example CSV Structure:
Model,MPN,MaxPrice,Category,Notes
iPhone 15 Pro,A2848,650,Phone,128GB only
iPhone 15,A2846,550,Phone,Any storage
Galaxy S24,SM-S921,400,Phone,Unlocked preferred
```1. Click **Save and Continue**
---
### Step 3: Fields To Send
Select which eBay listing fields will be sent to your Python script for analysis.
**Standard Listing Fields** (left column):
* Alias
* Auction Price
* Authenticity
* AutoPay
* Best Offer
* Brand
* Condition
* Title
* Total Price
* _(and more)_
**Category Item Specifics** (right column):
* Storage Capacity
* Network
* Lock Status
* Expiration Date
* _(varies by eBay category)_
**Configure Endpoint URL:** At the bottom of this step, enter your local endpoint URL:
http://localhost:8000/match_mydata
_(The default endpoint is pre-configured; modify if using a custom port)_
Click **Save and Continue**
---
### Step 4: Matching Script
This is where you write (or paste) your Python code that processes the incoming eBay data against your CSV.
**What Your Script Receives:**
* The eBay listing fields you selected in Step 3
* Access to your CSV data loaded in Step 2
**What Your Script Should Return:**
* Matching results, recommendations, or calculated values
* Data formatted for display in the template (Step 5)
**Creating Your Script:**
We recommend using an AI assistant (like Claude or ChatGPT) to help write your Python script. Start a conversation with:
I need a Python script for SKU Manager's Internal Endpoint mode.
My CSV has these columns: [list your columns]
I'm receiving these eBay fields: [list selected fields]
I want to:
- Match eBay listings to my CSV by [matching criteria]
- Return [what you want to see - max price, profit margin, match status, etc.]
Please write a Python script that:
- Takes the eBay fields as input
- Searches my CSV for matches
- Returns the results in a format I can display
**Example Script Concept:**
Pseudo-code example
def match_listing(ebay_data, csv_data):
# Extract identifiers from eBay listing
title = ebay_data.get('Title', '')
mpn = ebay_data.get('MPN', '')
Search CSV for matches
for row in csv_data:
if row['MPN'] in title or row['Model'] in title:
return {
'matched': True,
'product': row['Model'],
'max_price': row['MaxPrice'],
'listing_price': ebay_data.get('Total Price'),
'recommendation': 'BUY' if ebay_data['Total Price'] < row['MaxPrice'] else 'PASS'
}
return {'matched': False, 'recommendation': 'NO MATCH'}
Click **Save and Continue**
---
### Step 5: Display Template
Configure how matched results appear in the External Data panel, similar to the standard AI mode display template.
**The template receives:**
* Results returned from your Python matching script
* Use HTML/CSS to format the display
**Simple Template Example:**
<div style="padding: 10px;">
<h3>Match Result</h3>
{{#if matched}}
<p><strong>Product:</strong> {{product}}</p>
<p><strong>Max Price:</strong> ${{max_price}}</p>
<p><strong>Listing Price:</strong> ${{listing_price}}</p>
<p style="font-size: 18px; font-weight: bold; color: {{#if (eq recommendation 'BUY')}}green{{else}}red{{/if}};">
{{recommendation}}
</p>
{{else}}
<p>No match found in product database</p>
{{/if}}
</div>
Click **Save and Continue** to complete setup.
---
## Testing Your Configuration1. Ensure the SKU Manager script is running (green indicator)
2. Run a search that would match products in your CSV
3. Click on a listing row
4. Check the External Data panel for your script’s output
**Troubleshooting:**
* **No output:** Verify your CSV path is correct and accessible
* **Errors in panel:** Check Python script syntax in an IDE first
* **No matches:** Verify your matching logic against actual eBay title formats
---
## Current Limitations (Beta)
* **No Custom Columns:** Unlike AI mode, you cannot create grid columns from script output (yet)
* **No Profiles:** Internal Endpoint mode uses a single configuration rather than named profiles
* **Limited Error Reporting:** Debugging may require checking console output
---
## Feedback Welcome
This is a beta feature. If you use Internal Endpoint mode, please share your experience:
* What use cases are you implementing?
* What features would make this more useful?
* Any issues or bugs encountered?
Use the thumbs down button or contact support with your feedback.
---
## Summary Checklist
* [ ] Type set to **Internal Endpoint**
* [ ] CSV file uploaded and fields selected
* [ ] eBay fields to send configured
* [ ] Endpoint URL confirmed
* [ ] Python matching script written and saved
* [ ] Display template configured
* [ ] Script running (green status)
* [ ] Tested with real search results
---
_For AI-powered analysis without CSV matching, see the standard SKU Manager Setup Guide._
Updated on: 26/01/2026
Thank you!