E-Commerce
Ecwid
API integration
Ship E-Commerce features without building the integration. Full Ecwid API access via Proxy and 160+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Ecwid
Common scenarios for SaaS companies building Ecwid integrations for their customers.
Power omnichannel fulfillment for Ecwid merchants
Shipping and warehouse platforms can pull unfulfilled orders, push tracking updates back to Ecwid, and adjust variant-level stock in real time to prevent overselling across channels.
Enrich helpdesk agents with buyer context
Customer support tools can surface a shopper's Ecwid profile, recent orders, and order status the moment a ticket is opened — letting agents edit orders, update statuses, or issue refunds without leaving the helpdesk.
Recover revenue with abandoned cart and subscription workflows
Marketing and retention platforms can sync abandoned carts, customer data, and native Ecwid recurring subscriptions to trigger recovery campaigns and manage renewals directly from their app.
Automate accounting and tax reconciliation
Finance tools can pull daily orders, run native order calculations for tax accuracy, and generate official tax invoices — removing manual bookkeeping for Ecwid merchants.
Run B2B pricing and promotions programmatically
Pricing engines and wholesale portals can manage customer groups, issue targeted discount coupons, and update promotions based on tier logic — turning Ecwid into a fully automated B2B channel.
What You Can Build
Ship these features with Truto + Ecwid
Concrete product features your team can ship faster by leveraging Truto’s Ecwid integration instead of building from scratch.
Two-way order and fulfillment sync
Ingest new and updated Ecwid orders, then write back tracking, status changes, and custom order extra fields for shipping widgets or internal notes.
Real-time inventory adjustments
Push stock deltas to products and individual variants using Ecwid's adjust-stock endpoints so storefront availability stays accurate across every sales channel.
Bulk catalog import and media sync
Create and update products, categories, variations, and gallery media — including async image uploads and digital product files — using Ecwid's batch request API to stay within rate limits.
Abandoned cart recovery pipelines
Stream abandoned carts and customer records into your marketing engine, then convert recovered carts into paid orders via Ecwid's cart-to-order endpoint.
Native subscription management
List, inspect, and update Ecwid's recurring subscriptions to power dunning, plan changes, and MRR dashboards without a third-party billing layer.
Embedded review and UGC syndication
Push and moderate product reviews in bulk so user-generated content appears natively on the merchant's embedded Ecwid storefront.
SuperAI
Ecwid AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_ecwid_store_profile
Get an Ecwid store profile. Returns the full profile object including generalInfo, account, settings, company, shipping, taxes, and designSettings.
ecwid_store_profile_bulk_update
Update an Ecwid store profile. Returns: updateCount, statusId, orderStatusType, defaultStatus, enabled, sendNotificationWhenStatusIsAssigned. Required: store_id.
create_a_ecwid_store_logo
Upload the main store logo image to Ecwid. Returns: id, en, nl. Required: store_id. Optionally provide an external image URL via external_url instead of sending a file.
delete_a_ecwid_store_logo_by_id
Delete a store logo image from Ecwid by logo type. Returns: deleteCount, en, nl. Required: store_id, id (the logo type: logo, invoicelogo, or emaillogo).
list_all_ecwid_store_report
List Ecwid store reports for a store. Returns report data including reportType, startedFrom, endedAt, aggregatedData, and dataset. Required: store_id.
list_all_ecwid_store_update_stat
Get the latest Ecwid store update stats. Returns: en, nl. Required: store_id.
list_all_ecwid_deleted_item
List deleted items in an Ecwid store (orders, products, coupons, customers, or reviews). Returns each removed item with id and date. Required: store_id.
list_all_ecwid_order
List Ecwid orders for a store. Returns each order with id, total, paymentStatus, fulfillmentStatus, email, createDate, and items. Required: store_id.
get_single_ecwid_order_by_id
Get a single Ecwid order by id. Returns the full order object including id, total, paymentStatus, fulfillmentStatus, email, items, and shipping details. Required: store_id, id.
update_a_ecwid_order_by_id
Update an Ecwid order by id. Returns: updateCount. Required: store_id, id.
create_a_ecwid_order
Create a new Ecwid order. Returns the created order identifiers: id (deprecated) and orderid. Required: store_id.
delete_a_ecwid_order_by_id
Delete an Ecwid order by id. Returns an empty 204 response on success. Required: store_id, id.
list_all_ecwid_order_latest
Get the latest order from an Ecwid store. Returns the order object including id, email, total, paymentStatus, fulfillmentStatus, and items. Required: store_id.
create_a_ecwid_order_calculation
Calculate an Ecwid order total including discounts, taxes, shipping, and surcharges. Returns: en, nl. Required: store_id, items.
list_all_ecwid_order_repeat_url
Get a repeat order URL for an Ecwid order by store and order ids. Returns: repeatOrderUrl. Required: store_id, order_id.
list_all_ecwid_order_receipt
Get the tax invoice receipt PDF for a single Ecwid order. Returns a PDF file. Required: store_id, order_id.
list_all_ecwid_order_tax_invoice
List tax invoices for an Ecwid order. Returns: internalId, id, created, link, type. Required: store_id, order_id.
create_a_ecwid_order_tax_invoice
Generate a tax invoice for an Ecwid order. Returns: id, updateCount. Required: store_id, order_id.
create_a_ecwid_order_tax_invoice_preview
Generate a tax invoice preview for an Ecwid order. Returns an HTML page of the tax invoice. Required: store_id, order_id, subtotal, total, email, fulfillmentStatus, paymentStatus.
list_all_ecwid_order_status
List order statuses in an Ecwid store. Returns: statusId, orderStatusType, defaultStatus, enabled, sendNotificationWhenStatusIsAssigned, name, nameTranslated, lastNameChangeDate. Required: store_id.
get_single_ecwid_order_status_by_id
Get a single Ecwid order status by id. Returns: statusId, orderStatusType, defaultStatus, enabled, sendNotificationWhenStatusIsAssigned, name. Required: store_id, id.
update_a_ecwid_order_status_by_id
Update a custom Ecwid order status by id. Returns: updateCount. Required: store_id, id.
list_all_ecwid_order_extra_field
List order extra fields in Ecwid. Returns: id, value, customerInputType, title, orderDetailsDisplaySection, orderBy, showInNotifications, showInInvoice. Required: store_id.
get_single_ecwid_order_extra_field_by_id
Get a single order extra field in Ecwid by id. Returns: id, value, customerInputType, title, orderDetailsDisplaySection, orderBy, showInNotifications, showInInvoice, updateCount. Required: store_id, id.
update_a_ecwid_order_extra_field_by_id
Update an order extra field in Ecwid by id. Returns: updateCount. Required: store_id, id.
create_a_ecwid_order_extra_field
Create an order extra field in Ecwid. Returns: createCount. Required: store_id, id, value, title.
delete_a_ecwid_order_extra_field_by_id
Delete an order extra field in Ecwid by id. Returns: updateCount. Required: store_id, id.
list_all_ecwid_abandoned_cart
List abandoned carts in an Ecwid store. Returns: cartId, subtotal, total, usdTotal, tax, email, customerId, customerGroup, customerGroupId, customerTaxExempt, customerTaxId, customerTaxIdValid, reversedTaxApplied, membershipBasedDiscount, totalAndMembershipBasedDiscount, volumeDiscount, discount, couponDiscount, discountInfo, discountCoupon, customSurcharges, paymentMethod, refererUrl,…
get_single_ecwid_abandoned_cart_by_id
Get a single abandoned cart from Ecwid by cart ID. Returns: cartId, subtotal, total, usdTotal, tax, email, customerId, customerGroup, customerGroupId, customerTaxExempt, customerTaxId, customerTaxIdValid, reversedTaxApplied, membershipBasedDiscount, totalAndMembershipBasedDiscount, volumeDiscount, discount, couponDiscount, discountInfo, discountCoupon, customSurcharges, paymentMethod, refererUrl,…
update_a_ecwid_abandoned_cart_by_id
Update an abandoned cart in Ecwid. Returns: updateCount. Required: store_id, id.
create_a_ecwid_abandoned_cart_order
Convert an abandoned Ecwid cart into an order. Returns the created order with id, orderNumber, vendorOrderNumber, and cartId. Requires store_id and cart_id.
list_all_ecwid_recurring_subscription
List recurring subscriptions in an Ecwid store. Returns subscriptions with subscriptionId, customerId, status, created, nextCharge, chargeSettings, paymentMethod, orderTemplate, and orders. Required: store_id. Optional filters include id, customerId, status, email, and order dates.
get_single_ecwid_recurring_subscription_by_id
Get a single Ecwid recurring subscription by id. Returns the subscription including subscriptionId, customerId, status, created, nextCharge, chargeSettings, paymentMethod, orderTemplate, and orders. Required: store_id, id.
update_a_ecwid_recurring_subscription_by_id
Update an Ecwid recurring subscription by id. Returns: updateCount. Required: store_id, id. Optional body: nextCharge, status, chargeSettings.
list_all_ecwid_product
List and filter products in an Ecwid store. Returns product records including id, name, price, sku, inStock, and enabled status. Required: store_id.
get_single_ecwid_product_by_id
Get a single Ecwid product by id. Returns the full product object including id, name, price, sku, inStock, and enabled status. Required: store_id, id.
update_a_ecwid_product_by_id
Update an Ecwid product by id. Returns: updateCount. Required: store_id, id.
create_a_ecwid_product
Create a new product in Ecwid. Returns the created product object including id, sku, name, price, and enabled status. Required: store_id. Body supports sku, name, price, quantity, and optional catalog settings.
delete_a_ecwid_product_by_id
Delete an Ecwid product by id. Returns: deleteCount, updateCount. Required: store_id, id.
ecwid_product_bulk_delete
Delete all products in an Ecwid store. Returns an empty 202 Accepted response on success. Required: store_id.
ecwid_product_adjust_stock
Adjust a product's stock quantity in Ecwid. Returns: updateCount. Required: store_id, product_id, quantityDelta.
ecwid_product_product_filters
Get available product filters for an Ecwid store. Returns: productCount, filters, params. Required: store_id, filterFields.
ecwid_product_color_swatches
Get recently used color swatches for an Ecwid store. Returns: colors, en, nl. Required: store_id.
list_all_ecwid_product_brand
List product brands for an Ecwid store. Returns each brand with name, nameTranslated, and productsFilteredByBrandUrl. Required: store_id. Max 100 items per page.
list_all_ecwid_product_type
List Ecwid product types for a store. Returns: id, name, googleTaxonomy, attributes. Required: store_id.
get_single_ecwid_product_type_by_id
Get an Ecwid product type by id. Returns: id, en, nl. Required: store_id, id.
update_a_ecwid_product_type_by_id
Update an Ecwid product type by id. Returns: updateCount. Required: store_id, id. Send all existing attributes to avoid deleting them.
create_a_ecwid_product_type
Create an Ecwid product type. Returns: id. Required: store_id, name.
delete_a_ecwid_product_type_by_id
Delete an Ecwid product type by id. Returns: updateCount. Required: store_id, id.
list_all_ecwid_product_review
List product reviews in an Ecwid store. Returns: id, status, customerId, productId, orderId, rating, review, reviewerInfo, createDate, updateDate, createTimestamp, updateTimestamp. Required: store_id.
ecwid_product_review_bulk_update_delete
Bulk update or delete product reviews in an Ecwid store. Returns: updateCount. Required: store_id, selectMode.
delete_a_ecwid_product_review_by_id
Delete a product review from an Ecwid store. Returns: updateCount. Required: store_id, id.
ecwid_product_review_bulk_update
Update the publication status of a product review in Ecwid. Returns: updateCount. Required: store_id, review_id, status.
list_all_ecwid_size_chart
List Ecwid size charts for a store. Returns size chart records including id, name, type, enabled, content, targetCategories, and timestamps. Required: store_id.
get_single_ecwid_size_chart_by_id
Get an Ecwid size chart by id. Returns a search envelope with total, offset, limit, and items containing the size chart details (id, name, type, enabled, content). Required: store_id, id.
ecwid_product_media_bulk_update
Bulk update the main image/video and gallery media for an Ecwid product. Returns: updateCount. Required: store_id, product_id.
create_a_ecwid_product_main_image
Upload a main product image to Ecwid for a product. Returns the uploaded image id. Required: store_id, product_id. Provide the image as binary data or use the externalUrl query parameter.
ecwid_product_main_image_create_async
Upload a main product image asynchronously to Ecwid for a product. Returns the uploaded image id. Required: store_id, product_id, url, width, height.
ecwid_product_main_image_bulk_delete
Delete the main product image for an Ecwid product. Returns: updateCount. Required: store_id, product_id.
create_a_ecwid_product_gallery_image
Upload a gallery image to an Ecwid product by store_id and product_id, using a remote URL, file name, or multipart binary. Returns: id, updateCount. Required: store_id, product_id.
ecwid_product_gallery_image_create_async
Upload a gallery image to an Ecwid product asynchronously by store_id and product_id. Returns: id, en, nl. Required: store_id, product_id, url, width, height.
delete_a_ecwid_product_gallery_image_by_id
Delete a single Ecwid product gallery image by id. Returns: updateCount. Required: store_id, product_id, id.
ecwid_product_gallery_image_bulk_delete
Delete all gallery images from an Ecwid product. Returns: updateCount. Required: store_id, product_id.
create_a_ecwid_product_main_video
Upload the main product video to an Ecwid product by providing an HTTPS URL. Returns the uploaded video id. Required: store_id, product_id, url.
ecwid_product_main_video_bulk_delete
Delete the main product video from an Ecwid product. Returns: updateCount. Required: store_id, product_id.
create_a_ecwid_product_gallery_video
Upload a gallery product video to Ecwid. Returns the uploaded video id. Required: store_id, product_id, url.
ecwid_product_gallery_video_upload_cover
Upload a cover image for a gallery product video in Ecwid. Returns the uploaded image id. Required: store_id, product_id, gallery_video_id. Provide either external_url or binary image data in the request body.
delete_a_ecwid_product_gallery_video_by_id
Delete a gallery product video from Ecwid. Returns the deletion result in deleteCount. Required: store_id, product_id, id.
get_single_ecwid_product_gallery_video_by_id
Get a gallery product video record from Ecwid. Returns: id, url, updateCount. Required: store_id, product_id, id.
create_a_ecwid_product_file
Upload a product file to Ecwid from an external URL. Returns the created file's id. Required: store_id, product_id, file_name, external_url.
get_single_ecwid_product_file_by_id
Download a product file from Ecwid by id. Returns the raw file content in its original upload format. Required: store_id, product_id, id.
delete_a_ecwid_product_file_by_id
Delete a product file from Ecwid by id. Returns: updateCount. Required: store_id, product_id, id.
ecwid_product_file_bulk_delete
Delete all product files attached to an Ecwid product. Returns: updateCount. Required: store_id, product_id.
update_a_ecwid_product_file_by_id
Update a product file's client-facing description in Ecwid. Returns: updateCount. Required: store_id, product_id, id, description.
list_all_ecwid_product_variation
List product variations for a specific Ecwid product. Returns each variation's id, combinationNumber, options, inStock, unlimited, defaultDisplayedPrice, and other catalog fields. Required: store_id, product_id.
get_single_ecwid_product_variation_by_id
Get a single Ecwid product variation by id. Returns the variation's id, combinationNumber, options, inStock, unlimited, defaultDisplayedPrice, defaultDisplayedPriceFormatted, and other catalog fields. Required: store_id, product_id, id.
update_a_ecwid_product_variation_by_id
Update an Ecwid product variation by id. Returns the update status as updateCount. Required: store_id, product_id, id. Optional body fields include price, quantity, inStock, unlimited, weight, sku, compareToPrice, and attributes.
create_a_ecwid_product_variation
Create a new Ecwid product variation for a product. If the specified options do not yet exist, they are created automatically as a dropdown list. Returns the new variation's id. Required: store_id, product_id.
delete_a_ecwid_product_variation_by_id
Delete an Ecwid product variation by id. Returns the deletion status as deleteCount. Required: store_id, product_id, id.
ecwid_product_variation_bulk_delete
Delete all Ecwid product variations for a product. Returns: id. Required: store_id, product_id.
ecwid_product_variation_adjust_stock
Adjust Ecwid product variation stock by a quantity delta. Returns: updateCount. Required: store_id, product_id, combination_id, quantityDelta.
create_a_ecwid_product_variation_image
Upload an image to an Ecwid product variation. Returns: id, updateCount. Requires store_id, product_id, and combination_id. Pass the image as binary data or supply the externalUrl query parameter.
ecwid_product_variation_image_create_async
Upload an image to an Ecwid product variation asynchronously. Returns: id, en, nl. Requires store_id, product_id, combination_id, plus url, width, and height in the request body.
ecwid_product_variation_image_bulk_delete
Delete an image from an Ecwid product variation. Returns: updateCount. Requires store_id, product_id, and id.
list_all_ecwid_category
List categories in an Ecwid store. Returns: id, parentId, orderBy, hdThumbnailUrl, thumbnailUrl, imageUrl, originalImageUrl, imageExternalId, name, nameTranslated, originalImage, thumbnail, origin, url, autogeneratedSlug, customSlug, productCount, enabledProductCount, description, descriptionTranslated, enabled, productIds, seoTitle, seoTitleTranslated, seoDescription, seoDecriptionTranslated,…
ecwid_category_search_by_path
Search Ecwid categories by full path using a delimiter. Returns: id, parentId, orderBy, hdThumbnailUrl, thumbnailUrl, imageUrl, originalImageUrl, imageExternalId, name, nameTranslated, originalImage, thumbnail, origin, url, autogeneratedSlug, customSlug, productCount, enabledProductCount, description, descriptionTranslated, enabled, productIds, seoTitle, seoTitleTranslated, seoDescription,…
get_single_ecwid_category_by_id
Get a single Ecwid category by id. Returns: id, orderBy, hdThumbnailUrl, thumbnailUrl, imageUrl, originalImageUrl, originalImage, thumbnail, name, nameTranslated, url, autogeneratedSlug, customSlug, productCount, enabledProductCount, description, descriptionTranslated, enabled. Required: store_id, id.
update_a_ecwid_category_by_id
Update an Ecwid category by id. Returns: updateCount. Required: store_id, id.
create_a_ecwid_category
Create a new category in an Ecwid store. Returns: id. Required: store_id, name.
delete_a_ecwid_category_by_id
Delete an Ecwid category by its internal category id. Returns: deleteCount, id, orderBy, hdThumbnailUrl, thumbnailUrl, imageUrl, originalImageUrl, originalImage, thumbnail, name, nameTranslated, url, autogeneratedSlug, customSlug, productCount, enabledProductCount, descriptionTranslated, enabled. Required: store_id, id.
create_a_ecwid_category_image
Upload a category image to Ecwid. Returns the uploaded image id. Required: store_id, category_id. Send the image as binary data in the multipart body or provide an external_url.
ecwid_category_image_create_async
Asynchronously upload a category image to Ecwid from an external URL. Returns the uploaded image id. Required: store_id, category_id, url, width, height.
ecwid_category_image_bulk_delete
Delete a category image in Ecwid. Returns: deleteCount, en, nl. Required: store_id, category_id.
list_all_ecwid_category_order
Get the current category sort order in an Ecwid store. Returns: updateCount. Required: store_id, parentCategory.
ecwid_category_order_bulk_update
Update the category sort order in an Ecwid store. Returns: updateCount. Required: store_id, parentCategory, sortedIds.
list_all_ecwid_category_product_assignment
Get the current display order of products in an Ecwid category. Returns: ticket. Required: store_id, category_id.
create_a_ecwid_category_product_assignment
Assign products to an Ecwid category. New products are added to the end of the category list. Returns: updateCount. Required: store_id, category_id, productIds.
ecwid_category_product_assignment_bulk_update
Update the display order of products in an Ecwid category. Returns: updateCount. Required: store_id, category_id, sortedIds.
ecwid_category_product_assignment_bulk_delete
Unassign products from an Ecwid category. Products are not deleted from the store. Returns: deleteCount. Required: store_id, category_id, productIds.
list_all_ecwid_customer
List Ecwid customers in a store. Returns customer records including id, email, name, customerGroupId, and stats. Required: store_id.
get_single_ecwid_customer_by_id
Get a single Ecwid customer by id. Returns the full customer record including id, email, name, billingPerson, and stats. Required: store_id, id.
update_a_ecwid_customer_by_id
Update an Ecwid customer by id. Returns the update count: 1 if updated, 0 if not. Required: store_id, id.
create_a_ecwid_customer
Create a new Ecwid customer in a store. Returns the created customer id. Required: store_id, email.
delete_a_ecwid_customer_by_id
Delete an Ecwid customer by id. Returns the delete count: 1 if deleted, 0 if not. Required: store_id, id.
list_all_ecwid_customer_group
List customer groups in an Ecwid store. Returns: id, name, externalReferenceId. Required: store_id.
get_single_ecwid_customer_group_by_id
Get a customer group in Ecwid by id. Returns: id, name. Required: store_id, id.
update_a_ecwid_customer_group_by_id
Update a customer group in Ecwid by id. Returns: updateCount. Required: store_id, id.
create_a_ecwid_customer_group
Create a customer group in Ecwid. Returns: id. Required: store_id, name.
delete_a_ecwid_customer_group_by_id
Delete a customer group in Ecwid by id. Returns an empty 204 response on success. Required: store_id, id.
list_all_ecwid_customer_contact
List customer contacts for an Ecwid customer. Returns: id, contact, handle, note, type, orderBy, timestamp. Required: store_id, customer_id.
get_single_ecwid_customer_contact_by_id
Get a single Ecwid customer contact by id. Returns: id, contact, type, orderBy, timestamp. Required: store_id, customer_id, id.
update_a_ecwid_customer_contact_by_id
Update an Ecwid customer contact by id. Returns: updateCount. Required: store_id, customer_id, id.
create_a_ecwid_customer_contact
Create a new contact for an Ecwid customer. Returns: contact, type, orderBy. Required: store_id, customer_id, contact, type.
delete_a_ecwid_customer_contact_by_id
Delete an Ecwid customer contact by id. Returns: deleteCount, id, contact, orderBy, timestamp. Required: store_id, customer_id, id.
list_all_ecwid_customer_extra_field
List customer extra fields for an Ecwid store. Returns: key, title, entityTypes, type, shownOnOrderDetails, linkedWithCheckoutField, createdDate, lastModifiedDate. Required: store_id.
get_single_ecwid_customer_extra_field_by_id
Get a single Ecwid customer extra field by id. Returns: key, title, entityTypes, type, shownOnOrderDetails, linkedWithCheckoutField, createdDate, lastModifiedDate, updateCount. Required: store_id, id.
update_a_ecwid_customer_extra_field_by_id
Update an Ecwid customer extra field by id. Returns: updateCount. Required: store_id, id.
create_a_ecwid_customer_extra_field
Create a new customer extra field in an Ecwid store. Returns: createCount, key. Required: store_id.
delete_a_ecwid_customer_extra_field_by_id
Delete an Ecwid customer extra field by id. Returns: updateCount. Required: store_id, id.
list_all_ecwid_promotion
List promotions in an Ecwid store. Returns each promotion's id, name, enabled status, discountBase, discountType, amount, triggers, and targets. Required: store_id. Max 100 per page.
update_a_ecwid_promotion_by_id
Update an Ecwid promotion by id. Returns updateCount indicating whether the promotion was updated. Required: store_id, id.
create_a_ecwid_promotion
Create a promotion in an Ecwid store. Returns the created promotion id. Required: store_id.
delete_a_ecwid_promotion_by_id
Delete an Ecwid promotion by id. Returns deleteCount indicating whether the promotion was deleted. Required: store_id, id.
list_all_ecwid_discount_coupon
List discount coupons in an Ecwid store. Returns each coupon's id, name, code, discountType, status, discount, and orderCount. Required: store_id.
get_single_ecwid_discount_coupon_by_id
Get an Ecwid discount coupon by id. Returns the coupon object including id, name, code, discountType, status, discount, and orderCount. Required: id, store_id.
update_a_ecwid_discount_coupon_by_id
Update an Ecwid discount coupon by id. Returns: updateCount. Required: id, store_id.
create_a_ecwid_discount_coupon
Create a new Ecwid discount coupon in a store. Returns the created coupon with id and code. Required: store_id.
delete_a_ecwid_discount_coupon_by_id
Delete an Ecwid discount coupon by id. Returns: deleteCount, id, name, code, discountType, status, discount, launchDate, usesLimit, repeatCustomerOnly, applicationLimit, creationDate, updateDate, orderCount. Required: id, store_id.
list_all_ecwid_store_domain
List the Ecwid store's domain configuration. Returns the instant site domain details including primaryInstantSiteDomain, ecwidSubdomain, instantSiteIpAddress, and instantSiteUrl, plus the purchasedDomains list. Required: store_id.
ecwid_store_domain_bulk_update
Update the Ecwid store's domain configuration. Returns: updateCount, instantSiteDomain, purchasedDomains. Required: store_id. Body accepts instantSiteDomain and purchasedDomains settings.
ecwid_domain_search
Search available domains to purchase in Ecwid. Returns a keyword and a list of domains with name, status, price, and currency. Required: keyword.
create_a_ecwid_domain
Purchase a domain for an Ecwid store. Returns the purchased domain with id, name, status, purchase/expiration/renewal dates, autorenew flags, and owner/billing info. Required: domain_name, first_name, last_name, email, street, city, country_code, postal_code, state_or_province_code, phone.
ecwid_domain_send_verification_email
Send a domain verification email for a purchased domain in Ecwid. Returns an empty 204 response on success. Required: domain.
ecwid_domain_reset_password
Reset the password for a purchased domain in Ecwid. Returns an empty 204 response on success. Required: domain, send_to.
ecwid_dictionary_list_countries
List countries available in an Ecwid store. Returns: code, name, states. Required: store_id.
ecwid_dictionary_list_currencies
List supported currency codes for an Ecwid store. Returns: code, name. Required: store_id.
ecwid_dictionary_list_currencies_by_country
List currency formatting details for a country in an Ecwid store. Returns: countryCode, currencyCode, currencyName, prefix, suffix, decimalPlaces. Required: store_id, countryCode.
ecwid_dictionary_list_states
List states or provinces for a country in an Ecwid store. Returns: code, name. Required: store_id, country_code.
ecwid_dictionary_list_tax_classes
List tax classes for a country in an Ecwid store. Returns: stateCode, taxClassCode, taxClassRate, localization. Required: store_id, countryCode.
list_all_ecwid_staff_account
List staff accounts in an Ecwid store. Returns: id, name, email, staffScopes, inviteAccepted. Required: store_id.
get_single_ecwid_staff_account_by_id
Get a single Ecwid staff account by id. Returns the staff account including id, name, email, staffScopes, and inviteAccepted. Required: store_id, id.
ecwid_staff_account_get_scopes
List all available staff permission scopes for a staff account in an Ecwid store. Returns: staffScopes. Required: store_id, staff_id.
update_a_ecwid_staff_account_by_id
Update an Ecwid staff account by id. Returns: updateCount. Required: id, store_id.
create_a_ecwid_staff_account
Create and invite a staff account in an Ecwid store. Returns: success. Required: store_id, email.
delete_a_ecwid_staff_account_by_id
Delete an Ecwid staff account by id. Returns: deleteCount. Required: store_id, id.
ecwid_staff_account_resend_invite
Resend an Ecwid staff account invitation for a staff member. Returns: success. Required: store_id, staff_id.
ecwid_staff_account_cancel_invite
Cancel an Ecwid staff account invitation for a staff member. Returns: deleteCount. Required: store_id, staff_id.
ecwid_application_get_subscription_status
Get the app subscription status for an Ecwid store. Returns: subscription, subscriptionStatus. Required: store_id.
delete_a_ecwid_application_by_id
Cancel an Ecwid app subscription by id. Returns an empty 204 response on success. Required: store_id, id.
ecwid_application_custom_charge
Create a custom charge in Ecwid via Ecwid billing. Returns: transactionId, idempotencyKeyInUse. Required: store_id, amount, currency, description, idempotencyKey. Max 500 USD per request and 5000 USD per day per store.
list_all_ecwid_application_storage
List all Ecwid app storage entries for a store. Returns an array of entries with key and value. Required: store_id.
get_single_ecwid_application_storage_by_id
Get a specific Ecwid app storage entry by key. Returns the entry with key and value. Required: store_id, key.
create_a_ecwid_application_storage
Save app storage data in Ecwid. Returns: success, en, nl. Required: store_id, value.
ecwid_application_storage_bulk_update
Update a specific Ecwid app storage entry by key. Returns: success, en, nl. Required: store_id, key, value.
ecwid_application_storage_bulk_delete
Delete a specific Ecwid app storage entry by key. Returns: success, en, nl. Required: store_id, key.
create_a_ecwid_batch_request
Create an Ecwid batch request to execute multiple REST API calls together. Returns the batch ticket id. Required: store_id and a request body array of objects, each with path and method.
get_single_ecwid_batch_request_by_id
Get the status of an Ecwid batch request by id. Returns: status, totalRequests, completedRequests. Required: id.
list_all_ecwid_batch_request
Search Ecwid batch requests by status. Returns a list of batch requests each with ticket and status. Required: status.
ecwid_batch_request_stop
Stop an Ecwid batch request by batch_id, preventing remaining non-executed requests from running. Returns: updateCount, status, totalRequests, completedRequests. Required: batch_id, store_id.
delete_a_ecwid_batch_request_by_id
Stop and delete an Ecwid batch request by id. Returns: deleteCount, status, totalRequests, completedRequests. Required: id, store_id.
list_all_ecwid_product_review_stat
Get product review statistics for an Ecwid store. Returns: allCount, moderatedCount, publishedCount. Required: store_id.
Why Truto
Why use Truto’s MCP server for Ecwid
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Ecwid in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Ecwid account
Use Truto’s frontend SDK to connect your customer’s Ecwid account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Ecwid
Truto’s Proxy API is a 1-to-1 mapping of the Ecwid API. You call us, we call Ecwid, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Ecwid’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Ecwid on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for Ecwid connections?
Ecwid uses OAuth 2.0 with per-store access tokens and scoped permissions. Truto handles the OAuth handshake, token storage, and refresh so your end users just click 'Connect Ecwid' and grant the scopes your integration needs.
How do we sync large catalogs without hitting rate limits?
Ecwid exposes a batch request API that lets you bundle many REST calls into a single job. Truto's tools include create, list, get, stop, and delete for batch requests so you can chunk product, variation, and category updates efficiently.
Can we attach custom metadata to orders and customers?
Yes. Truto supports Ecwid's order extra fields and customer extra fields, so you can create, read, update, and delete custom fields that appear in the merchant's admin — useful for tracking numbers, internal IDs, or workflow tags.
Where can integration state or ID mappings be stored?
Ecwid provides an application storage key-value store scoped to each merchant install. Truto exposes create, list, get, bulk update, and bulk delete operations on application storage so you can persist mapping data inside the merchant's own Ecwid environment.
Does the integration support Ecwid's native subscriptions?
Yes. You can list all recurring subscriptions, fetch a single subscription by ID, and update subscription details — enabling native billing workflows without bolting on a third-party subscription app.
How fresh is the data — polling or webhooks?
The current tool inventory supports polling patterns via list endpoints (orders, latest orders, abandoned carts, products, customers, etc.). For near-real-time flows, most integrations poll list endpoints on a short interval and use batch requests to reconcile larger datasets.
From the Blog
Ecwid integration guides
Deep dives, architecture guides, and practical tutorials for building Ecwid integrations.
Ecwid
Get Ecwid integrated into your app
Our team understands what it takes to make a Ecwid integration successful. A short, crisp 30 minute call with folks who understand the problem.