---
title: Ecwid API Integration on Truto
slug: ecwid
category: E-Commerce
canonical: "https://truto.one/integrations/detail/ecwid/"
---

# Ecwid API Integration on Truto



**Category:** E-Commerce  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 161 tools for Ecwid that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Ecwid account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Ecwid.** The Proxy API is a 1-to-1 mapping of the Ecwid API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.

## Related reading

- [Connect Ecwid to ChatGPT: Manage Orders, Products, and Inventory](https://truto.one/blog/connect-ecwid-to-chatgpt-manage-orders-products-and-inventory/) — Learn how to connect Ecwid to ChatGPT using a managed MCP server. This step-by-step guide covers handling product variations, abandoned carts, and tool calling.
- [Connect Ecwid to Claude: Handle Customers, Reviews, and Marketing](https://truto.one/blog/connect-ecwid-to-claude-handle-customers-reviews-and-marketing/) — Learn how to connect Ecwid to Claude using a managed MCP server. Automate orders, moderate reviews, and sync catalog inventory using natural language.
- [Connect Ecwid to ChatGPT: Sync Products, Stock, and Catalog Data](https://truto.one/blog/connect-ecwid-to-chatgpt-sync-products-stock-and-catalog-data/) — Learn how to connect Ecwid to ChatGPT using a managed MCP server. This step-by-step guide covers how to sync products, handle variations, and execute batch orders.
- [Connect Ecwid to Claude: Manage Orders, Customers, and Invoices](https://truto.one/blog/connect-ecwid-to-claude-manage-orders-customers-and-invoices/) — Learn how to connect Ecwid to Claude using an MCP server. Automate order management, customer support, and inventory workflows via natural language.
- [Connect Ecwid to AI Agents: Automate Sales, Store Ops, and Data](https://truto.one/blog/connect-ecwid-to-ai-agents-automate-sales-store-ops-and-data/) — Learn how to connect Ecwid to AI agents using Truto's /tools endpoint. Discover exactly how to automate store ops, inventory sync, and order workflows.
