| name | 1688-marketing-skill |
| description | Expert in 1688 platform marketing operations including merchant enrollment, activity registration, product pricing suggestions, and business opportunity recommendations. |
| triggers | ["How do I register for 1688 merchant activities?","Help me find business opportunities on 1688","Check suggested pricing for my 1688 products","Submit activity enrollment on 1688","Query available merchant activities on 1688","Show me business opportunity recommendations","How to use 1688 marketing tools?","Get market opportunities on 1688 platform"] |
1688 Marketing Skill
Skill by ara.so — Marketing Skills collection.
Expert skill for helping merchants perform marketing operations on the 1688 platform, including querying merchant activities, checking product suggested pricing, submitting activity registrations, and viewing business opportunity recommendations.
What This Project Does
1688-marketing is a marketing skill designed to help merchants on the 1688 platform (Alibaba's Chinese B2B marketplace) perform key marketing operations:
- Activity Query: Search and browse available merchant enrollment activities
- Suggested Pricing: Query recommended pricing for products based on market data
- Activity Registration: Submit applications to participate in merchant activities
- Business Opportunities: Discover and track market opportunities and recommendations
Installation
git clone https://github.com/next-1688/1688-marketing.git
cd 1688-marketing
pip install -r requirements.txt
Configuration
Set up environment variables for 1688 API credentials:
export ALIBABA_1688_APP_KEY=your_app_key
export ALIBABA_1688_APP_SECRET=your_app_secret
export ALIBABA_1688_ACCESS_TOKEN=your_access_token
Create a configuration file config.py:
import os
CONFIG = {
'app_key': os.getenv('ALIBABA_1688_APP_KEY'),
'app_secret': os.getenv('ALIBABA_1688_APP_SECRET'),
'access_token': os.getenv('ALIBABA_1688_ACCESS_TOKEN'),
'api_base_url': 'https://gw.open.1688.com/openapi',
'timeout': 30
}
Core Components
1. Activity Query Module
Query available merchant enrollment activities:
from marketing_1688.activity_query import ActivityQueryClient
client = ActivityQueryClient(
app_key=CONFIG['app_key'],
app_secret=CONFIG['app_secret'],
access_token=CONFIG['access_token']
)
activities = client.query_activities(
status='ongoing',
category='招商活动',
page_size=20
)
for activity in activities['data']:
print(f"Activity: {activity['name']}")
print(f"Start: {activity['start_date']} - End: {activity['end_date']}")
print(f"Enrollment deadline: {activity['enrollment_deadline']}")
print(f"Requirements: {activity['requirements']}")
print("---")
2. Suggested Pricing Query
Check market-based suggested pricing for products:
from marketing_1688.pricing import PricingClient
pricing_client = PricingClient(
app_key=CONFIG['app_key'],
app_secret=CONFIG['app_secret'],
access_token=CONFIG['access_token']
)
product_id = "123456789"
price_suggestion = pricing_client.get_suggested_price(
product_id=product_id,
include_competitor_analysis=True
)
print(f"Product ID: {price_suggestion['product_id']}")
print(f"Suggested Price Range: {price_suggestion['min_price']} - {price_suggestion['max_price']}")
print(f"Market Average: {price_suggestion['market_average']}")
print(f"Competitor Count: {price_suggestion['competitor_count']}")
product_ids = ["123456789", "987654321", "456789123"]
batch_suggestions = pricing_client.batch_get_suggested_prices(product_ids)
for suggestion in batch_suggestions:
print(f"{suggestion['product_id']}: ¥{suggestion['recommended_price']}")
3. Activity Registration
Submit enrollment applications for merchant activities:
from marketing_1688.enrollment import EnrollmentClient
enrollment_client = EnrollmentClient(
app_key=CONFIG['app_key'],
app_secret=CONFIG['app_secret'],
access_token=CONFIG['access_token']
)
enrollment_data = {
'activity_id': 'ACT20260619001',
'product_ids': ['123456789', '987654321'],
'shop_id': 'SHOP123456',
'contact_name': '张三',
'contact_phone': '13800138000',
'remarks': '希望参加此次招商活动'
}
result = enrollment_client.submit_enrollment(enrollment_data)
if result['success']:
print(f"Enrollment successful! ID: {result['enrollment_id']}")
print(f"Status: {result['status']}")
print(f"Review time: {result['estimated_review_time']}")
else:
print(f"Enrollment failed: {result['error_message']}")
enrollment_status = enrollment_client.check_enrollment_status(
enrollment_id=result['enrollment_id']
)
print(f"Current status: {enrollment_status['status']}")
print(f"Review notes: {enrollment_status.get('review_notes', 'N/A')}")
4. Business Opportunity Recommendations
Query and track business opportunities:
from marketing_1688.opportunities import OpportunityClient
opp_client = OpportunityClient(
app_key=CONFIG['app_key'],
app_secret=CONFIG['app_secret'],
access_token=CONFIG['access_token']
)
opportunities = opp_client.get_recommendations(
shop_id='SHOP123456',
category='电子产品',
min_score=0.7
)
for opp in opportunities['data']:
print(f"Opportunity: {opp['title']}")
print(f"Category: {opp['category']}")
print(f"Relevance Score: {opp['score']}")
print(f"Potential Revenue: ¥{opp['estimated_revenue']}")
print(f"Competition Level: {opp['competition_level']}")
print(f"Description: {opp['description']}")
print("---")
opp_client.track_opportunity(
opportunity_id='OPP20260619001',
action='viewed'
)
Common Patterns
Complete Activity Enrollment Workflow
from marketing_1688 import Marketing1688Client
client = Marketing1688Client(config=CONFIG)
activities = client.activities.search(
keywords='夏季促销',
category='服装',
status='ongoing'
)
activity_detail = client.activities.get_detail(
activity_id=activities[0]['id']
)
products_to_submit = ['123456789', '987654321']
pricing_check = client.pricing.batch_check(products_to_submit)
enrollment = client.enrollment.submit({
'activity_id': activity_detail['id'],
'product_ids': products_to_submit,
'pricing_strategy': pricing_check,
'auto_adjust_price': True
})
status = client.enrollment.monitor(enrollment['id'], auto_refresh=True)
Business Opportunity Pipeline
from marketing_1688 import Marketing1688Client
client = Marketing1688Client(config=CONFIG)
pipeline = client.opportunities.create_pipeline(
filters={
'categories': ['电子产品', '家居用品'],
'min_score': 0.75,
'competition_level': ['low', 'medium']
}
)
daily_opportunities = pipeline.get_daily_digest()
for opp in daily_opportunities:
matching_products = client.products.find_matching(
opportunity_requirements=opp['requirements']
)
if matching_products:
if opp['score'] > 0.9:
client.opportunities.auto_apply(
opportunity_id=opp['id'],
product_ids=[p['id'] for p in matching_products]
)
Price Optimization Strategy
from marketing_1688.pricing import PricingOptimizer
optimizer = PricingOptimizer(config=CONFIG)
product_id = "123456789"
analysis = optimizer.analyze_product(product_id)
recommendations = optimizer.get_recommendations(
current_price=analysis['current_price'],
market_data=analysis['market_data'],
goals=['maximize_profit', 'increase_sales_volume']
)
optimizer.apply_dynamic_pricing(
product_id=product_id,
strategy=recommendations['optimal_strategy'],
price_range=(recommendations['min_safe_price'], recommendations['max_safe_price']),
auto_adjust=True,
adjustment_frequency='daily'
)
Error Handling
from marketing_1688.exceptions import (
AuthenticationError,
EnrollmentError,
QuotaExceededError
)
try:
result = client.enrollment.submit(enrollment_data)
except AuthenticationError as e:
print(f"Auth failed: {e.message}")
client.refresh_token()
except EnrollmentError as e:
print(f"Enrollment error: {e.message}")
print(f"Error code: {e.code}")
eligibility = client.activities.check_eligibility(activity_id)
except QuotaExceededError as e:
print(f"API quota exceeded: {e.message}")
print(f"Reset time: {e.reset_time}")
except Exception as e:
print(f"Unexpected error: {str(e)}")
Troubleshooting
Authentication Issues
from marketing_1688.auth import verify_credentials
is_valid = verify_credentials(
app_key=CONFIG['app_key'],
app_secret=CONFIG['app_secret'],
access_token=CONFIG['access_token']
)
if not is_valid:
from marketing_1688.auth import refresh_access_token
new_token = refresh_access_token(
app_key=CONFIG['app_key'],
app_secret=CONFIG['app_secret']
)
Rate Limiting
from marketing_1688.utils import RateLimiter
limiter = RateLimiter(max_requests=100, time_window=60)
with limiter:
activities = client.activities.query_all()
Data Validation
from marketing_1688.validators import EnrollmentValidator
validator = EnrollmentValidator()
is_valid, errors = validator.validate(enrollment_data)
if not is_valid:
for error in errors:
print(f"Validation error: {error['field']} - {error['message']}")
Best Practices
- Always use environment variables for sensitive credentials
- Implement retry logic for API calls with exponential backoff
- Cache activity and pricing data to reduce API calls
- Monitor enrollment status regularly for timely responses
- Batch operations when possible to optimize API quota usage
- Validate data before submission to avoid rejection