Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Mercaline2024/Ecomdrop-ia-connector-2/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
The Ecomdrop IA Connector provides a set of internal API endpoints for managing product synchronization, order processing, and integration workflows between Shopify stores and Ecomdrop/Dropi platforms. All API endpoints are built using Remix/React Router conventions and require proper Shopify authentication except where explicitly noted.Base URL
SHOPIFY_APP_URL environment variable during app installation.
API Architecture
Authentication Patterns
The API uses three authentication methods depending on the endpoint type:- Shopify Admin API Authentication - For admin-facing endpoints (
/api/*) - Webhook Authentication - For Shopify webhook handlers (
/webhooks/*) - External API Key Authentication - For callback endpoints (
/api/ecomdrop/callback)
Request/Response Format
Content Type
All API endpoints accept and return JSON unless specified otherwise:multipart/form-data for product import operations.
Standard Response Structure
Successful responses follow this pattern:API Endpoints
Product Management
/api/shopify/products
Fetch all products from the authenticated Shopify store.Authentication: Shopify Admin APIResponse:
/api/dropi/products
Fetch products from Dropi marketplace.Authentication: Shopify Admin API + Dropi TokenQuery Parameters:
pageSize(number): Items per page (default: 50)startData(number): Pagination offset (default: 0)keywords(string): Search queryprivated_product(boolean): Show private productsfavorite(boolean): Show favorited products
/api/products/import
Link a Dropi product with a Shopify product.Authentication: Shopify Admin APIRequest Body (FormData):
dropiProductId: Dropi product identifierdropiProductData: JSON string of product datashopifyProductId: Shopify product GIDdropiVariations: JSON array of variationsvariantAssociations: JSON array of mappingssaveDropiName: Boolean to sync namesaveDropiDescription: Boolean to sync descriptionuseSuggestedBarcode: Boolean for barcode handlingsaveDropiImages: Boolean to import images
/api/products/association/delete
Remove a product association between Dropi and Shopify.Request Body (FormData):
associationId: Association record ID
Order Management
/api/orders/poll
Retrieve recent orders from Shopify for manual polling.Authentication: Shopify Admin APIResponse:Returns the 10 most recent orders with full line items, customer, and shipping information.
Integration Configuration
/api/integrations/dropi/save
Save or update Dropi integration settings.Request Body (FormData):
store_name: Dropi store namecountry: Country code (CO, EC, CL, GT, MX, PA, PE, PY)dropi_token: Dropi API integration token
Webhook Callbacks
/api/ecomdrop/callback
Receive order processing completion notifications from Ecomdrop.Authentication: API Key (X-ACCESS-TOKEN or in payload)Request Body:Response:
Error Handling
HTTP Status Codes
| Code | Description |
|---|---|
200 | Success |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Missing or invalid authentication |
403 | Forbidden - Valid auth but insufficient permissions |
404 | Not Found - Resource does not exist |
405 | Method Not Allowed |
500 | Internal Server Error |
Common Error Scenarios
Protected Data Access: Some endpoints may return
403 if the app hasn’t been approved for accessing protected customer data by Shopify.Rate Limiting
The app implements caching mechanisms to prevent rate limiting:- Ecomdrop Flows: Cached for 60 seconds
- Shopify API: Subject to Shopify’s native rate limits (2 requests/second for REST, 1000 points/second for GraphQL)
Versioning
The API uses Shopify API version2025-10 (October 2025). This is configured in shopify.server.ts:
API version updates should be coordinated with Shopify’s release schedule and deprecation notices.
GraphQL vs REST
The app primarily uses Shopify’s GraphQL Admin API for all operations:- Product queries and mutations
- Order queries
- Customer data access
- Variant management
- Legacy webhook processing (if configured)
- Specific endpoints not yet available in GraphQL
Data Flow
Next Steps
Authentication
Learn about OAuth flow and session management
Webhooks
Configure webhook handlers for events