NAV

Store information

Using the endpoints below you can get and update basic Ecwid store information like store name, merchant’s email, company address, logos and more.

Get store profile

Get basic information about an Ecwid store: settings, store location, email, etc. This request is available with any access token.

Request example

GET /api/v3/4870020/profile?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

GET https://app.ecwid.com/api/v3/{storeId}/profile?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Response

Response example (JSON)

{
    "generalInfo": {
        "storeId": 4870020,
        "storeUrl": "http://www.example.com",
        "starterSite": {
            "ecwidSubdomain": "mysuperstore",
            "generatedUrl": "http://mysuperstore.ecwid.com/"
        }
    },
    "account": {
        "accountName": "John Smith",
        "accountNickName": "JSmith",
        "accountEmail": "example@example.com",
        "whiteLabel": false
    },
    "settings": {
        "closed": false,
        "storeName": "My Super Store",
        "storeDescription": "<p>Welcome to my store! Check out the latest and coolest products below. </p>",
        "invoiceLogoUrl": "https://dpbfm6h358sh7.cloudfront.net/images/4870020/253584290.jpg",
        "emailLogoUrl": "https://dpbfm6h358sh7.cloudfront.net/images/4870020/298177033.jpg",
        "googleRemarketingEnabled": true,
        "googleAnalyticsId": "UA-123456-1",
        "fbPixelId": "12305215151521",
        "orderCommentsEnabled": false,
        "orderCommentsCaption": "Order comments",
        "orderCommentsRequired": false,
        "hideOutOfStockProductsInStorefront": true,
        "askCompanyName": false,
        "favoritesEnabled": true,
        "defaultProductSortOrder": "DEFINED_BY_STORE_OWNER",
        "abandonedSales": {
          "autoAbandonedSalesRecovery": true
        },
        "salePrice": {
          "displayOnProductList": true,
          "oldPriceLabel": "was",
          "displayDiscount": "PERCENT"
        },
        "showAcceptMarketingCheckbox": true,
        "acceptMarketingCheckboxDefaultValue": false,
        "acceptMarketingCheckboxCustomText": "I accept to receive marketing offers to my email",
        "askConsentToTrackInStorefront": false,
        "pinterestTagId": "1251515431215"
    },
    "mailNotifications": {
        "adminNotificationEmails": [
            "john@example.com",
            "steve@example.com",
        ],
        "customerNotificationFromEmail": "john@example.com"
    },
    "company": {
        "companyName": "My Super Store",
        "email": "example@example.com",
        "street": "W 3d st",
        "city": "New York",
        "countryCode": "US",
        "postalCode": "10001",
        "stateOrProvinceCode": "NY",
        "phone": "234324234"
    },
    "formatsAndUnits": {
        "currency": "USD",
        "currencyPrefix": "$",
        "currencySuffix": "",
        "currencyGroupSeparator": " ",
        "currencyDecimalSeparator": ".",
        "currencyTruncateZeroFractional": false,
        "currencyPrecision": 2,
        "currencyRate": 1,
        "weightUnit": "KILOGRAM",
        "weightGroupSeparator": " ",
        "weightDecimalSeparator": ".",
        "weightTruncateZeroFractional": false,
        "timeFormat": "hh:mm a",
        "dateFormat": "MMM d, yyyy",
        "timezone": "Europe/Moscow",
        "dimensionsUnit": "CM",
        "orderNumberPrefix": "00001",
        "orderNumberSuffix": "5000"
    },
    "languages": {
        "enabledLanguages": [
            "en",
            "es",
            "pt"
        ],
        "facebookPreferredLocale": "en_US",
        "defaultLanguage": "en"
    },
    "shipping": {
        "handlingFee": {
            "name": "Handling Fee",
            "value": 5,
            "description": "Silk paper wrapping"
        },
        "shippingOrigin": {
          "companyName": "My Super Store",
          "email": "example@example.com",
          "street": "W 3d st",
          "city": "New York",
          "countryCode": "US",
          "postalCode": "10001",
          "stateOrProvinceCode": "NY",
          "phone": "234324234"
        },
        "shippingOptions": [
          // Flat rate shipping method
          {
            "id": "8329-1495610692625",
            "title": "Flat rate",
            "enabled": false,
            "orderby": 170,
            "destinationZone": {
              "id": "7715-1423477610739",
              "name": "US",
              "countryCodes": [
                "US"
              ],
              "stateOrProvinceCodes": [
                "US-AL",
                "US-AK",
                "US-AZ",
                "US-AR",
                "US-AA",
                "US-AE",
                "US-AP",
                "US-CA",
                "US-CO",
                "US-CT",
                "US-DE",
                "US-DC",
                "US-FL",
                "US-GA",
                "US-GU",
                "US-HI",
                "US-ID",
                "US-IL",
                "US-IN",
                "US-IA",
                "US-KS",
                "US-KY",
                "US-LA",
                "US-ME",
                "US-MD",
                "US-MA",
                "US-MI",
                "US-MN",
                "US-MS",
                "US-MO",
                "US-MT",
                "US-NE",
                "US-NV",
                "US-NH",
                "US-NJ",
                "US-NM",
                "US-NY",
                "US-NC",
                "US-ND",
                "US-PR",
                "US-RI",
                "US-SC",
                "US-SD",
                "US-TN",
                "US-TX",
                "US-UT",
                "US-VT",
                "US-VI",
                "US-VA",
                "US-WA",
                "US-WV",
                "US-WI",
                "US-WY"
              ]
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "flat",
            "flatRate": {
              "rateType": "ABSOLUTE",
              "rate": 22
            },
            "carrier": ""
          },
          // Carrier-calculated rates
          {
            "id": "7835-1442850313554",
            "title": "The World: UPS",
            "enabled": true,
            "orderby": 0,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "carrier-calculated",
            "carrierMethods": [
              {
                  "id": "7835-1442850313554:S1",
                  "name": "UPS Next Day Air®",
                  "enabled": true,
                  "orderBy": 1240
              },
              {
                  "id": "7835-1442850313554:S2",
                  "name": "UPS Second Day Air®",
                  "enabled": true,
                  "orderBy": 1250
              },
              {
                  "id": "7835-1442850313554:S3",
                  "name": "UPS Ground",
                  "enabled": false,
                  "orderBy": 0
              },
              {
                  "id": "7835-1442850313554:S4",
                  "name": "UPS Worldwide Express SM",
                  "enabled": true,
                  "orderBy": 1120
              },
              {
                  "id": "7835-1442850313554:S5",
                  "name": "UPS Worldwide Expedited SM",
                  "enabled": true,
                  "orderBy": 1100
              },
              {
                  "id": "7835-1442850313554:S6",
                  "name": "UPS Standard",
                  "enabled": true,
                  "orderBy": 1030
              },
              {
                  "id": "7835-1442850313554:S7",
                  "name": "UPS Three-Day Select®",
                  "enabled": true,
                  "orderBy": 1040
              },
              {
                  "id": "7835-1442850313554:S8",
                  "name": "UPS Next Day Air Saver®",
                  "enabled": true,
                  "orderBy": 1000
              },
              {
                  "id": "7835-1442850313554:S9",
                  "name": "UPS Next Day Air® Early A.M. SM",
                  "enabled": false,
                  "orderBy": 0
              },
              {
                  "id": "7835-1442850313554:S10",
                  "name": "UPS Worldwide Express Plus SM",
                  "enabled": true,
                  "orderBy": 1110
              },
              {
                  "id": "7835-1442850313554:S11",
                  "name": "UPS Second Day Air A.M.®",
                  "enabled": true,
                  "orderBy": 1020
              },
              {
                  "id": "7835-1442850313554:S12",
                  "name": "UPS Saver",
                  "enabled": false,
                  "orderBy": 1010
              }
            ],
            "shippingCostMarkup": 0,
            "carrierSettings": {
              "defaultCarrierAccountEnabled": false,
              "defaultPostageDimensions": {
                "length": 0.0254,
                "width": 0.0254,
                "height": 0.0254
              }
            },
            "carrier": "UPS"
          },
          // Custom table rates
          {
            "id": "9327-1430948461738",
            "title": "Standard shipping",
            "enabled": true,
            "orderby": 1250,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "table",
            "ratesTable": {
              "tableBasedOn": "weight",
              "rates": [
                {
                  "conditions": {
                    "weightFrom": 0,
                    "weightTo": 12
                  },
                  "rate": {
                    "perOrder": 10,
                    "percent": 2,
                    "perItem": 3,
                    "perWeight": 2
                  }
                },
                {
                  "conditions": {
                    "weightFrom": 12.01
                  },
                  "rate": {
                    "perOrder": 20,
                    "percent": 3,
                    "perItem": 4,
                    "perWeight": 3
                  }
                }
              ]
            },
            "deliveryTimeDays": "1-2",
            "description": "1-2",
            "carrier": ""
          },
          // In-store pickup method
          {
            "id": "6633-1504595502395",
            "title": "In-store Pickup",
            "enabled": true,
            "orderby": 130,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "pickup",
            "pickupInstruction": "<p><strong>Pickup location:</strong></p><p>    Cool Guys, 5th Avenue, Москва, Guam, 11950, United States</p><p>    <strong>Store hours:</strong></p><p>    9AM – 6PM Mon-Fri</p>",
            "scheduledPickup": true,
            "pickupPreparationTimeHours": 60,
            "pickupBusinessHours": "{\"MON\":[[\"09:00\",\"18:00\"]], \"TUE\":[[\"09:00\",\"18:00\"]], \"THU\":[[\"09:00\",\"10:00\"]], \"FRI\":[[\"09:00\",\"18:00\"]], \"SAT\":[[\"09:00\",\"10:30\"]]}"
          },
          // Custom shipping app
          {
            "id": "1095449637-1519976902346",
            "title": "Doba Drop Shipping",
            "enabled": true,
            "orderby": 10,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "app",
            "appClientId": "doba-integration"
          }
        ]
    },
    "zones": [
        {
            "id": "43-1423477610132",
            "name": "United States",
            "countryCodes": [
                "US",
                "UM",
                "VI"
            ]
        },
        {
            "id": "334-112332610739",
            "name": "US & Canada",
            "countryCodes": [
                "CA",
                "US",
                "UM",
                "VI"
            ]
        },
        {
            "id": "7715-1423477610739",
            "name": "US",
            "countryCodes": [
                "US"
            ],
            "stateOrProvinceCodes": [
                "US-AL",
                "US-AK",
                "US-AZ",
                "US-AR",
                "US-AA",
                "US-AE",
                "US-AP",
                "US-CA",
                "US-CO",
                "US-CT",
                "US-DE",
                "US-DC",
                "US-FL",
                "US-GA",
                "US-GU",
                "US-HI",
                "US-ID",
                "US-IL",
                "US-IN",
                "US-IA",
                "US-KS",
                "US-KY",
                "US-LA",
                "US-ME",
                "US-MD",
                "US-MA",
                "US-MI",
                "US-MN",
                "US-MS",
                "US-MO",
                "US-MT",
                "US-NE",
                "US-NV",
                "US-NH",
                "US-NJ",
                "US-NM",
                "US-NY",
                "US-NC",
                "US-ND",
                "US-PR",
                "US-RI",
                "US-SC",
                "US-SD",
                "US-TN",
                "US-TX",
                "US-UT",
                "US-VT",
                "US-VI",
                "US-VA",
                "US-WA",
                "US-WV",
                "US-WI",
                "US-WY"
            ]
        }
    ],
    "taxSettings": {
        "automaticTaxEnabled": true,
        "taxes": [
            {
                "id": 1485869949,
                "name": "Tax X",
                "enabled": true,
                "includeInPrice": false,
                "useShippingAddress": true,
                "taxShipping": false,
                "appliedByDefault": true,
                "defaultTax": 7,
                "rules": [
                    {
                        "zoneId": "3",
                        "tax": 8
                    },
                    {
                        "zoneId": "2",
                        "tax": 5
                    }
                ]
            }
        ]
    },
    "businessRegistrationID": {
        "name": "VAT Reg No",
        "value": "GB999 9999 73"
    },
    "legalPagesSettings": {
      "requireTermsAgreementAtCheckout": true,
      "legalPages": [
        {
          "type": "LEGAL_INFO",
          "enabled": false,
          "title": "About Us",
          "display": "INLINE",
          "text": "",
          "externalUrl": ""
        },
        {
          "type": "SHIPPING_COST_PAYMENT_INFO",
          "enabled": true,
          "title": "Shipping & Payment Info",
          "display": "EXTERNAL_URL",
          "text": "",
          "externalUrl": "https://mycoolsite.com/shipping"
        },
        {
          "type": "PRIVACY_STATEMENT",
          "enabled": true,
          "title": "Privacy Policy",
          "display": "EXTERNAL_URL",
          "text": "",
          "externalUrl": "https://mycoolsite.com/privacy"
        },
        {
          "type": "TERMS",
          "enabled": true,
          "title": "Terms & Conditions",
          "display": "EXTERNAL_URL",
          "text": "",
          "externalUrl": "https://mycoolsite.com/terms"
        },
        {
          "type": "REVOCATION_TERMS",
          "enabled": false,
          "title": "Return Policy",
          "display": "INLINE",
          "text": "",
          "externalUrl": ""
        }
      ]
    },
    "payment": {
      "paymentOptions": [
        {
          "id": "1794210895-1490949002653",
          "enabled": true,
          "checkoutTitle": "Stripe",
          "checkoutDescription": "Pay with credit card",
          "paymentProcessorId": "stripe",
          "paymentProcessorTitle": "Stripe",
          "orderBy": 0,
          "appClientId": "",
          "instructionsForCustomer": {
            "instructionsTitle": "How to pay via Stripe",
            "instructions": "<p>Here are the instructions on how to pay with Stripe</p>"
          }
        },
        {
          "id":"1794210895-1490949002653",
          "enabled":false,
          "checkoutTitle": "Phone Order", 
          "checkoutDescription": "", 
          "paymentProcessorId": "offline", 
          "paymentProcessorTitle": "",
          "orderBy": 10,
          "appClientId": "",
          "instructionsForCustomer":{
            "instructionsTitle": "Phone Order payment instructions",
            "instructions": "<p>Some instructions.</p>" 
          }
        },        
        {
          "id": "1570107140-1510749490171",
          "enabled": true,
          "checkoutTitle": "Credit or debit card (PayU Latam)",
          "checkoutDescription": "",
          "paymentProcessorId": "customPaymentApp",
          "paymentProcessorTitle": "CUSTOM_PAYMENT_APP-payu-latam-integration",
          "orderBy": 20,
          "appClientId": "payu-latam-integration",
          "instructionsForCustomer": {
            "instructionsTitle": "How to pay via PayU Latam",
            "instructions": "<p>Here are the instructions on how to pay with PayU Latam</p>"
          }
        },
        {
          "id": "1794210895-1490949002653",
          "enabled": true,
          "checkoutTitle": "Credit or Debit Card",
          "checkoutDescription": "",
          "paymentProcessorId": "ecwidPayments",
          "paymentProcessorTitle": "Ecwid Payments",
          "orderBy": 30,
          "appClientId": "",
          "instructionsForCustomer": {
            "instructionsTitle": "How to pay via PayU Latam",
            "instructions": "<p>Here are the instructions on how to pay with PayU Latam</p>"
          }
        }
      ]
    },
    "featureToggles": [
        {
            "name": "CONSECUTIVE_ORDER_IDS",
            "visible": true,
            "enabled": true
        },
        {
            "name": "INDIVIDUAL_GOOGLE_CATEGORY_IN_FEEDS",
            "visible": true,
            "enabled": true
        },
        {
            "name": "NEW_STARTERSITE",
            "visible": true,
            "enabled": true
        },
        {
            "name": "NEW_SALES_LIST",
            "visible": true,
            "enabled": true
        },
        {
            "name": "CUSTOMER_LOGIN_BY_LINK",
            "visible": true,
            "enabled": true
        },
        {
            "name": "NEW_PRODUCT_LIST",
            "visible": false,
            "enabled": false
        },
        {
            "name": "NEW_DETAILS_PAGE",
            "visible": false,
            "enabled": true
        },
        {
            "name": "NEW_SHOPPING_CART_PAGE",
            "visible": false,
            "enabled": true
        },
        {
            "name": "NEW_CHECKOUT_PAGE",
            "visible": true,
            "enabled": true
        },
        {
            "name": "NEW_FB_SHOPS_INTEGRATION",
            "visible": true,
            "enabled": false
        }
    ],
    "designSettings": {
        "product_list_image_size": "MEDIUM",
        "product_list_image_aspect_ratio": "SQUARE",
        "product_list_product_info_layout": "CENTER",
        "product_list_show_additional_image_on_hover": false,
        "product_list_title_behavior": "SHOW",
        "product_list_price_behavior": "SHOW",
        "product_list_sku_behavior": "HIDE",
        "product_list_buybutton_behavior": "SHOW",
        "product_list_category_title_behavior": "SHOW_ON_IMAGE",
        "product_list_image_has_shadow": true,
        "show_signin_link": true,
        "show_footer_menu": true,
        "show_breadcrumbs": true,
        "product_list_show_sort_viewas_options": true,
        "product_filters_position_search_page": "LEFT",
        "product_filters_position_category_page": "RIGHT",        
        "product_details_show_product_sku": true,
        "product_details_layout": "TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT",
        "product_details_two_columns_with_right_sidebar_show_product_description_on_sidebar": false,
        "product_details_show_product_name": true,
        "product_details_show_breadcrumbs": true,
        "product_details_show_product_price": true,
        "product_details_show_sale_price": true,
        "product_details_show_tax": true,
        "product_details_show_product_description": true,
        "product_details_show_product_options": true,
        "product_details_show_wholesale_prices": true,
        "product_details_show_save_for_later": true,
        "product_details_show_share_buttons": true,
        "product_details_show_price_per_unit": true,
        "product_details_show_qty": true,
        "product_details_show_in_stock_label": true,
        "product_details_show_number_of_items_in_stock": true,
        "product_details_gallery_layout": "IMAGE_SINGLE_THUMBNAILS_VERTICAL"
    },
    "productFiltersSettings": {
      "enabledInStorefront": true
    }
}

Public token request example

GET /api/v3/4870020/profile?token=public_bpFwyLBELRZa43vaFWVryxu199eYDaaz HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache
{
  "generalInfo": {
    "storeId": 5035009,
    "storeUrl": "https://example.com",
    "starterSite": {
      "ecwidSubdomain": "demo",
      "generatedUrl": "https://demo.ecwid.com"
    }
  },
  "settings": {
    "closed": false,
    "storeName": "Awesome store",
    "storeDescription": "<p>Welcome to my store! Check out the latest and coolest products below. </p>",
    "googleAnalyticsId": "",
    "fbPixelId": "12305215151521",
    "showAcceptMarketingCheckbox": true,
    "acceptMarketingCheckboxDefaultValue": false,
    "acceptMarketingCheckboxCustomText": "I accept to receive marketing offers to my email",
    "askConsentToTrackInStorefront": false,
    "pinterestTagId": "1251515431215"
  },
  "mailNotifications": {
    "customerNotificationFromEmail": "info@example.com"
  },
  "company": {
    "companyName": "Cool slippers for dogs",
    "email": "info@example.com",
    "street": "W 3d st",
    "city": "New York",
    "countryCode": "US",
    "postalCode": "10002",
    "stateOrProvinceCode": "NY",
    "phone": ""
  },
  "formatsAndUnits": {
    "currency": "USD",
    "currencyPrefix": "$",
    "currencySuffix": "",
    "currencyGroupSeparator": " ",
    "currencyDecimalSeparator": ".",
    "currencyPrecision": 2,
    "currencyTruncateZeroFractional": false,
    "currencyRate": 1,
    "weightUnit": "KILOGRAM",
    "weightGroupSeparator": " ",
    "weightDecimalSeparator": ".",
    "weightTruncateZeroFractional": false,
    "timeFormat": "hh:mm a",
    "dateFormat": "EEE, MMM d, ''yy",
    "timezone": "Europe/Samara",
    "dimensionsUnit": "CM"
  },
  "languages": {
    "enabledLanguages": [
      "en",
      "ar",
      "be",
      "bg",
      "ca",
      "cs",
      "cy",
      "da",
      "de",
      "el",
      "es",
      "es_419",
      "et",
      "eu",
      "fi",
      "fa",
      "fr",
      "id",
      "is",
      "it",
      "ja",
      "he",
      "hr",
      "hu",
      "hy",
      "ka",
      "ko",
      "lt",
      "lv",
      "mk",
      "mr",
      "ms",
      "nl",
      "no",
      "pl",
      "pt",
      "pt_BR",
      "ro",
      "ru",
      "sk",
      "sl",
      "sr",
      "sv",
      "sq",
      "th",
      "tr",
      "uk",
      "vi",
      "zh",
      "zh_TW"
    ],
    "facebookPreferredLocale": "en_US",
    "defaultLanguage": "en"
  },
  "payment": {
      "paymentOptions": [
        {
          "id": "1794210895-1490949002653",
          "enabled": true,
          "checkoutTitle": "Stripe",
          "checkoutDescription": "Pay with credit card",
          "paymentProcessorId": "stripe",
          "paymentProcessorTitle": "Stripe",
          "orderBy": 0,
          "appClientId": "",
          "instructionsForCustomer": {
            "instructionsTitle": "How to pay via Stripe",
            "instructions": "<p>Here are the instructions on how to pay with Stripe</p>"
          }
        },
        {
          "id": "1570107140-1510749490171",
          "enabled": true,
          "checkoutTitle": "Credit or debit card (PayU Latam)",
          "checkoutDescription": "",
          "paymentProcessorId": "customPaymentApp",
          "paymentProcessorTitle": "CUSTOM_PAYMENT_APP-payu-latam-integration",
          "orderBy": 20,
          "appClientId": "payu-latam-integration",
          "instructionsForCustomer": {
            "instructionsTitle": "How to pay via PayU Latam",
            "instructions": "<p>Here are the instructions on how to pay with PayU Latam</p>"
          }
        },        
        {
          "id": "1794210895-1490949002653",
          "enabled": true,
          "checkoutTitle": "Credit or Debit Card",
          "checkoutDescription": "",
          "paymentProcessorId": "ecwidPayments",
          "paymentProcessorTitle": "Ecwid Payments",
          "orderBy": 30,
          "appClientId": "",
          "instructionsForCustomer": {
            "instructionsTitle": "How to pay via Credit Card",
            "instructions": "<p>Here are the instructions on how to pay with Credit Card</p>"
          }
        }
      ]
    },
    "shipping": {
        "handlingFee": {
            "name": "Handling Fee",
            "value": 5,
            "description": "Silk paper wrapping"
        },
        "shippingOptions": [
          {
            "id": "7835-1442850313554",
            "title": "The World: UPS",
            "enabled": true,
            "orderby": 0,
            "destinationZone": {},
            "fulfilmentType": "shipping",
            "ratesCalculationType": "carrier-calculated",
            "carrier": "UPS"
          },
          {
            "id": "9327-1430948461738",
            "title": "Standard shipping",
            "enabled": true,
            "orderby": 1250,
            "destinationZone": {},
            "fulfilmentType": "shipping",
            "ratesCalculationType": "table",
            "ratesTable": {},
              "deliveryTimeDays": "1-2",
              "description": "1-2",
              "carrier": ""
          },
          {
            "id": "6633-1504595502395",
            "title": "In-store Pickup",
            "enabled": true,
            "orderby": 130,
            "destinationZone": {},
            "fulfilmentType": "pickup",
            "pickupInstruction": "<p><strong>Pickup location:</strong></p><p>    Cool Guys, 5th Avenue, Москва, Guam, 11950, United States</p><p>    <strong>Store hours:</strong></p><p>    9AM – 6PM Mon-Fri</p>",
            "scheduledPickup": true,
            "pickupPreparationTimeHours": 60,
            "pickupBusinessHours": "{\"MON\":[[\"09:00\",\"18:00\"]], \"TUE\":[[\"09:00\",\"18:00\"]], \"THU\":[[\"09:00\",\"10:00\"]], \"FRI\":[[\"09:00\",\"18:00\"]], \"SAT\":[[\"09:00\",\"10:30\"]]}"
          },
          {
            "id": "1095449637-1519976902346",
            "title": "Doba Drop Shipping",
            "enabled": true,
            "orderby": 10,
            "destinationZone": {},
            "fulfilmentType": "shipping",
            "ratesCalculationType": "app",
            "appClientId": "doba-integration"
          }
        ]
    },
    "designSettings": {
        "product_list_image_size": "MEDIUM",
        "product_list_image_aspect_ratio": "SQUARE",
        "product_list_product_info_layout": "CENTER",
        "product_list_show_additional_image_on_hover": false,
        "product_list_title_behavior": "SHOW",
        "product_list_price_behavior": "SHOW",
        "product_list_sku_behavior": "HIDE",
        "product_list_buybutton_behavior": "SHOW",
        "product_list_category_title_behavior": "SHOW_ON_IMAGE",
        "product_list_image_has_shadow": true,
        "show_signin_link": true,
        "show_footer_menu": true,
        "show_breadcrumbs": true,
        "product_list_show_sort_viewas_options": true,
        "product_filters_position_search_page": "LEFT",
        "product_filters_position_category_page": "RIGHT",
        "product_filters_opened_by_default_on_category_page": false,
        "product_details_show_product_sku": true,
        "product_details_layout": "TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT",
        "product_details_two_columns_with_right_sidebar_show_product_description_on_sidebar": false,
        "product_details_show_product_name": true,
        "product_details_show_breadcrumbs": true,
        "product_details_show_product_price": true,
        "product_details_show_sale_price": true,
        "product_details_show_tax": true,
        "product_details_show_product_description": true,
        "product_details_show_product_options": true,
        "product_details_show_wholesale_prices": true,
        "product_details_show_save_for_later": true,
        "product_details_show_share_buttons": true,
        "product_details_show_price_per_unit": true,
        "product_details_show_qty": true,
        "product_details_show_in_stock_label": true,
        "product_details_show_number_of_items_in_stock": true,
        "product_details_gallery_layout": "IMAGE_SINGLE_THUMBNAILS_VERTICAL"
    }
}

A JSON object of type ‘Profile’ with the following fields:

Profile

FieldTypeDescription
generalInfo<GeneralInfo>Store basic data
account<Account>Store owner’s account data
settings<Settings>Store general settings
mailNotifications<MailNotifications>Mail notifications settings
company<Company>Company info
formatsAndUnits<FormatsAndUnits>Store formats/untis settings
languages<Languages>Store language settings
shipping<Shipping>Store shipping settings (only handling fee is included at the moment)
taxSettings<TaxSettings>Store taxes settings
zonesArray<Zone>Store destination zones
businessRegistrationID<BusinessRegistrationID>Company registration ID, e.g. VAT reg number or company ID, which is set under Settings / Invoice in Control panel
legalPagesSettings<LegalPagesSettingsDetails>Legal pages settings for a store (System Settings → General → Legal Pages)
payment<PaymentInfo>Store payment settings information
featureToggles<FeatureTogglesInfo>Information about enabled/disabled new store features and their visibility in Ecwid Control Panel. Not provided via public token. Some of them are available in Ecwid JS API
designSettings<DesignSettingsInfo>Design settings of an Ecwid store. Can be overriden by updating store profile or by customizing design via JS config in storefront.
productFiltersSettings<ProductFiltersSettings>Settings for product filters in a store

GeneralInfo

FieldTypeDescription
storeIdnumberEcwid Store ID
storeUrlstringStorefront URL
starterSite<InstantSiteInfo>Details of Ecwid Instant site for account. Learn more about Instant site

Account

FieldTypeDescription
accountNamestringFull store owner name
accountNickNamestringStore owner nickname on the Ecwid forums
accountEmailstringStore owner email
availableFeaturesArray<string>A list of the premium features available on the store’s pricing plan
whiteLabelbooleantrue if Ecwid brand is not mentioned in merchant’s interface, false otherwise. Read only

Settings

FieldTypeDescription
closedbooleantrue if the store is closed for maintenance, false otherwise
storeNamestringThe store name displayed in Instant Site
storeDescriptionstringHTML description for the main store page – Store Front page
invoiceLogoUrlstringCompany logo displayed on the invoice
emailLogoUrlstringCompany logo displayed in the store email notifications
googleRemarketingEnabledbooleantrue if Remarketing with Google Analytics is enabled, false otherwise
googleAnalyticsIdstringGoogle Analytics ID connected to a store
fbPixelIdstringYour Facebook Pixel ID. This field is not returned if it is empty in the Ecwid Control Panel. Learn more
orderCommentsEnabledbooleantrue if order comments feature is enabled, false otherwise
orderCommentsCaptionstringCaption for order comments field in storefront
orderCommentsRequiredbooleantrue if order comments are required to be filled, false otherwise
hideOutOfStockProductsInStorefrontbooleantrue if out of stock products are hidden in storefront, false otherwise. This setting is located in Ecwid Control Panel > Settings > General > Cart
askCompanyNamebooleantrue if “Ask for the company name” in checkout settings is enabled, false otherwise
favoritesEnabledbooleantrue if favorites feature is enabled for storefront, false otherwise
defaultProductSortOrderstringDefault products sort order setting from Settings > Cart & Checkout. Possible values: "DEFINED_BY_STORE_OWNER", "ADDED_TIME_DESC", "PRICE_ASC", "PRICE_DESC", "NAME_ASC", "NAME_DESC"
abandonedSales<AbandonedSalesSettings>Abandoned sales settings
salePrice<SalePriceSettings\Sale (compare to) price settings
showAcceptMarketingCheckboxbooleantrue if merchant shows the checkbox to accept marketing. false otherwise
acceptMarketingCheckboxDefaultValuebooleanDefault value for the checkbox at checkout to accept marketing
acceptMarketingCheckboxCustomTextstringCustom text label for the checkbox to accept marketing at checkout
askConsentToTrackInStorefrontbooleantrue if merchant shows warning to accept cookies in storefront. false otherwise
pinterestTagIdstringPinterest Tag Id from your Pinterest business account

MailNotifications

FieldTypeDescription
adminNotificationEmailsArray<string>Email addresses, which the store admin notifications are sent to
customerNotificationFromEmailstringThe email address used as the 'reply-to’ field in the notifications to customers

Company

System Settings → General → Store Profile

FieldTypeDescription
companyNamestringThe company name displayed on the invoice
emailstringCompany (store administrator) email
streetstringCompany address. 1 or 2 lines separated by a new line character
citystringCompany city
countryCodestringA two-letter ISO code of the country
postalCodestringPostal code or ZIP code
stateOrProvinceCodestringState code (e.g. NY) or a region name
phonestringCompany phone number

FormatsAndUnits

System settings → General → Formats & Units.

FieldTypeDescription
currencystring3-letters code of the store currency (ISO 4217). Examples: USD, CAD
currencyPrefixstringCurrency prefix (e.g. $)
currencySuffixstringCurrency suffix
currencyPrecisionnumberNumbers of digits after decimal point in the store prices. E.g. 2 ($2.99) or 0 (¥500).
currencyGroupSeparatorstringPrice thousands separator. Supported values: space " ", dot ".", comma "," or empty value "".
currencyDecimalSeparatorstringPrice decimal separator. Possible values: . or ,
currencyTruncateZeroFractionalbooleanHide zero fractional part of the prices in storefront. true or false .
currencyRatenumberCurrency rate in U.S. dollars, as set in the merchant control panel
weightUnitstringWeight unit. Supported values: CARAT, GRAM, OUNCE, POUND, KILOGRAM
weightPrecisionnumberNumbers of digits after decimal point in weights displayed in the store
weightGroupSeparatorstringWeight thousands separator. Supported values: space " ", dot ".", comma "," or empty value ""
weightDecimalSeparatorstringWeight decimal separator. Possible values: . or ,
weightTruncateZeroFractionalbooleanHide zero fractional part of the weight values in storefront. true or false .
dateFormatstringDate format. Only these formats are accepted: "dd-MM-yyyy", "dd/MM/yyyy", "dd.MM.yyyy", "MM-dd-yyyy", "MM/dd/yyyy", "yyyy/MM/dd", "MMM d, yyyy", "MMMM d, yyyy", "EEE, MMM d, ''yy", "EEE, MMMM d, yyyy"
timeFormatstringTime format. Only these formats are accepted: "HH:mm:ss", "HH:mm", "hh.mm.ss a", "hh:mm a"
timezonestringStore timezone, e.g. Europe/Moscow
dimensionsUnitstringProduct dimensions units
orderNumberPrefixstringOrder number prefix in a store
orderNumberSuffixstringOrder number suffix in a store

Languages

System Settings → General → Languages

FieldTypeDescription
enabledLanguagesArray<string>A list of enabled languages in the storefront. First language code is the default language for the store.
facebookPreferredLocalestringLanguage automatically chosen be default in Facebook storefront (if any)
defaultLanguagestringISO code of the default language in store

Shipping

System Settings → Shipping

FieldTypeDescription
handlingFee<HandlingFee>Handling fee settings
shippingOrigin<ShippingOrigin>Shipping origin address. If matches company address, company address is returned. Available in read-only mode only
shippingOptionsArray <ShippingOption>Details of each shipping option present in a store. For public tokens enabled methods are returned only. Available in read-only mode only

HandlingFee

System Settings → Shipping → Handling Fee

FieldTypeDescription
namestringHandling fee name set by store admin. E.g. Wrapping
valuenumberHndling fee value
descriptionstringHandling fee description for customer

ShippingOrigin

Settings → Shipping & Pickup → Origin address

FieldTypeDescription
companyNamestringThe company name displayed on the invoice
emailstringCompany (store administrator) email
streetstringCompany address. 1 or 2 lines separated by a new line character
citystringCompany city
countryCodestringA two-letter ISO code of the country
postalCodestringPostal code or ZIP code
stateOrProvinceCodestringState code (e.g. NY) or a region name
phonestringCompany phone number

ShippingOption

FieldTypeDescription
idstringUnique ID of shipping option
titlestringTitle of shipping option in store settings
enabledbooleantrue if shipping option is used at checkout to calculate shipping. false otherwise
orderbynumberSort position or shipping option at checkout and in store settings. The smaller the number, the higher the position
fulfilmentTypestringFulfillment type. "pickup" for in-store pickup methods, "shipping" for everything else
destinationZone<Zone>Destination zone set for shipping option. Empty for public token
deliveryTimeDaysstringEstimated delivery time in days. Formats accepted: empty "", number "5", several days estimate "4-9"
descriptionstringShipping method description. Currently is equal to deliveryTimeDays
carrierstringCarrier used for shipping the order. Is provided for carrier-calculated shipping options
carrierMethodsArray <CarrierMethod>Carrier-calculated shipping methods available for this shipping option
carrierSettings<CarrierSettings>Carrier-calculated shipping option settings
ratesCalculationTypestringRates calculation type. One of "carrier-calculated", "table", "flat", "app"
shippingCostMarkupnumberShipping cost markup for carrier-calculated methods
flatRate<FlatRate>Flat rate details
ratesTable<TableRatesDetails>Custom table rates details
appClientIdstringclient_id value of the app (for custom shipping apps only)
pickupInstructionstringString of HTML code of instructions on in-store pickup
scheduledPickupbooleantrue if pickup time is scheduled, false otehrwise. (Ask for Pickup Date and Time at Checkout option in pickup settings)
pickupPreparationTimeHoursnumberAmount of time required for store to prepare pickup (Order Fulfillment Time setting)
pickupBusinessHoursstring <PickupBusinessHours>Available and scheduled times to pickup orders

CarrierMethod

FieldTypeDescription
idstringCarrier ID and specific method name
namestringCarrier method name
enabledbooleantrue if enabled, false otherwise
orderBynumberPosition of that carrier method

CarrierSettings

FieldTypeDescription
defaultCarrierAccountEnabledbooleantrue if default Ecwid account is enabled to calculate the rates. false otherwise
defaultPostageDimensions<DefaultPostageDimensions>Default postage dimensions for this shipping option

DefaultPostageDimensions

FieldTypeDescription
lengthnumberLength of postage
widthnumberWidth of postage
heightnumberHeight of postage

FlatRate

FieldTypeDescription
rateTypestringOne of "ABSOLUTE", "PERCENT"
ratenumberShipping rate

TableRatesDetails

FieldTypeDescription
tableBasedOnstringWhat is this table rate based on. Possible values: "subtotal", "discountedSubtotal", "weight"
ratesArray <TableRate>Details of table rate

TableRate

FieldTypeDescription
conditions<TableRateConditions>Conditions for this shipping rate in custom table
rate<TableRateDetails>Table rate details

TableRateConditions

FieldTypeDescription
weightFromnumber“Weight from” condition value
weightTonumber“Weight to” condition value
subtotalFromnumber“Subtotal from” condition value
subtotalTonumber“Subtotal to” condition value
discountedSubtotalFromnumber“Discounted subtotal from” condition value
discountedSubtotalTonumber“Discounted subtotal from” condition value

TableRateDetails

FieldTypeDescription
perOrderAbsnumberAbsolute per order rate
perOrderPercentnumberPercent per order rate
perItemnumberAbsolute per item rate
perWeightUnitRatenumberAbsolute per weight rate

PickupBusinessHours

FieldTypeDescription
MONArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
TUEArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
WEDArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
THUArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
FRIArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
SATArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
SUNArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']

TaxSettings

System Settings → Taxes

FieldTypeDescription
automaticTaxEnabledbooleantrue if store taxes are calculated automatically, else otherwise. As seen in the Ecwid Control Panel > Settings > Taxes > Automatic
taxesArray<Taxes>Manual tax settings for a store

Taxes

FieldTypeDescription
idnumberUnique internal ID of the tax
namestringDisplayed tax name
enabledbooleanWhether tax is enabled true / false
includeInPricebooleantrue if the tax rate is included in product prices. More details: Taxes in Ecwid
useShippingAddressbooleantrue if the tax is calculated based on shipping address, false if billing address is used
taxShippingbooleantrue is the tax applies to subtotal+shipping cost . false if the tax is applied to subtotal only
appliedByDefaultbooleantrue if the tax is applied to all products. false is the tax is only applied to thos product that have this tax enabled
defaultTaxnumberTax value, in %, when none of the destination zones match
rulesArray<TaxRule>Tax rates

TaxRule

FieldTypeDescription
zoneIdstringDestination zone ID
taxnumberTax rate for this zone in %

Zone

System Settings → Zones

FieldTypeDescription
idstringUnique internal zone ID
namestringZone displayed name
countryCodesArray<string>Country codes this zone includes .
stateOrProvinceCodesArray<string>State or province codes the zone includes
postCodesArray<string>Postcode (or zipcode) templates this zone includes. More details: Destination zones in Ecwid

BusinessRegistrationID

FieldTypeDescription
namestringID name, e.g. Vat ID, P.IVA, ABN
valuestringID value

InstantSiteInfo

System Settings → General → Instant site

FieldTypeDescription
ecwidSubdomainstringStore subdomain on ecwid.com domain, e.g. mysuperstore.ecwid.com
customDomainstringCustom Instant site domain, e.g. www.mysuperstore.com
generatedUrlstringInstant Site generated URL, e.g. http://mysuperstore.ecwid.com/
storeLogoUrlstringInstant Site logo URL

LegalPagesSettingsDetails

System Settings → General → Legal Pages

FieldTypeDescription
requireTermsAgreementAtCheckoutbooleantrue if customers must agree to store’s terms of service at checkout
legalPages<LegalPagesInfo>Information about the legal pages set up in a store

LegalPagesInfo

FieldTypeDescription
typestringLegal page type. One of: "LEGAL_INFO", "SHIPPING_COST_PAYMENT_INFO", "REVOCATION_TERMS", "TERMS", "PRIVACY_STATEMENT"
enabledbooleantrue if legal page is shown at checkout process, false otherwise
titlestringLegal page title
displaystringLegal page display mode – in a popup or on external URL. One of: "INLINE", "EXTERNAL_URL"
textstringHTML contents of a legal page
externalUrlstringURL to external location of a legal page

PaymentInfo

FieldTypeDescription
paymentOptionsArray<PaymentOptionInfo>Details of all payment methods set up in that store

PaymentOptionInfo

FieldTypeDescription
idstringPayment method ID in a store
enabledbooleantrue if payment method is enabled and shown in storefront, false otherwise
checkoutTitlestringPayment method title at checkout
checkoutDescriptionstringPayment method description at checkout (subtitle)
paymentProcessorIdstringPayment processor ID in Ecwid
paymentProcessorTitlestringPayment processor title. The same as paymentModule in order details in REST API
orderBynumberPayment method position at checkout and in Ecwid Control Panel. The smaller the number, the higher the position is
appClientId'string’client_id value of payment application. "" if not an application
instructionsForCustomer<InstructionsForCustomerInfo>Customer instructions details

InstructionsForCustomerInfo

FieldTypeDescription
instructionsTitlestringPayment instructions title
instructionsstringPayment instructions content. Can contain HTML tags

FeatureTogglesInfo

FieldTypeDescription
namestringFeature name
visiblebooleantrue if feature is shown to merchant in Ecwid Control Panel > Settings > What’s new. false otherwise
enabledbooleantrue if feature is enabled and active in store

DesignSettingsInfo

FieldTypeDescription
string or booleanStore design settings as seen in storefront design customization. If a specific config field is not provided, it will not be changed

ProductFiltersSettings

FieldTypeDescription
enabledInStorefrontbooleantrue if product filters are enabled in storefront. false otherwise.

AbandonedSalesSettings

FieldTypeDescription
autoAbandonedSalesRecoverybooleantrue if abandoned sale recovery emails are sent automatically, false otherwise

SalePriceSettings

FieldTypeDescription
displayOnProductListbooleantrue if sale price is displayed on product list and product details page. false if sale price is displayed on product details page only
oldPriceLabelstringText label for sale price name
displayDiscountstringShow discount in three modes: "NONE", "ABS" and "PERCENT

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code

HTTP codes

HTTP StatusMeaning
400Request parameters are malformed
402The request is not available on the merchant plan. To use Ecwid API, store must be on a paid plan
415Unsupported content-type: expected application/json or text/json
500Cannot retrieve the coupon info because of an error on the server

Update store profile

Update basic store information in an Ecwid store: settings, store location, email, etc.

Request example – update general info

PUT /api/v3/4870020/profile?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache
{
    "generalInfo": {
        "storeUrl": "http://www.example.com/store/"
    },
    "settings": {
        "closed": false,
        "storeName": "My Cool Store",
        "storeDescription": "<p>Welcome to my store!</p>",
        "googleRemarketingEnabled": false,
        "googleAnalyticsId": "UA-654321-1",
        "fbPixelId": "12305215151521",
        "hideOutOfStockProductsInStorefront": false,
        "askCompanyName": true,
        "favoritesEnabled": false,
        "abandonedSales": {
          "autoAbandonedSalesRecovery": true
        },
        "salePrice": {
          "displayOnProductList": true,
          "oldPriceLabel": "was",
          "displayDiscount": "PERCENT"
        },
        "showAcceptMarketingCheckbox": true,
        "acceptMarketingCheckboxDefaultValue": false,
        "acceptMarketingCheckboxCustomText": "I accept to receive marketing offers to my email",
        "askConsentToTrackInStorefront": false,
        "pinterestTagId": "1251515431215"
    },
    "company": {
      "companyName": "My Company, Inc",
      "email": "store@example.com",
      "street": "144 West D Street",
      "city": "Encinitas",
      "countryCode": "US",
      "postalCode": "92024",
      "stateOrProvinceCode": "CA",
      "phone": "1(800)5555555"
    },
    "legalPagesSettings": {
      "legalPages": [
        {
          "type": "LEGAL_INFO",
          "enabled": false
        }
      ]
    },
    "designSettings": {
        "product_list_image_size": "MEDIUM",
        "product_list_image_aspect_ratio": "SQUARE",
        "product_list_product_info_layout": "CENTER",
        "product_list_show_additional_image_on_hover": true,
        "product_list_title_behavior": "SHOW",
        "product_filters_opened_by_default_on_category_page": true
    },
    "languages": {
        "defaultLanguage": "es"
    }
}

Request example – create destination zones

PUT /api/v3/4870020/profile?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache
{
    "zones": [
        {
            "name": "United States - California",
            "countryCodes": [
                "US"
            ],
            "stateOrProvinceCodes": [
                "US-CA"
            ]      
        }
    ]
}

Request example – create new taxes

PUT /api/v3/4870020/profile?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache
{
  "taxSettings": {
      "taxes": [
        // existing taxes
          {
                "id": 1646689471,
                "name": "TVA",
                "enabled": false,
                "includeInPrice": false,
                "useShippingAddress": true,
                "taxShipping": true,
                "appliedByDefault": true,
                "defaultTax": 20,
                "rules": []
          },
        // new tax
          {
                "name": "tax from API",
                "enabled": true,
                "includeInPrice": true,
                "useShippingAddress": true,
                "taxShipping": true,
                "appliedByDefault": true,
                "defaultTax": 33,
                "rules": [
                    {
                        "zoneId": "7715-1423477610739",
                        "tax": 9
                    }
                ]
          }
      ]
  }
}

PUT https://app.ecwid.com/api/v3/{storeId}/profile?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Request body

A JSON object of type 'Profile’ with the following fields:

Profile

FieldTypeDescription
generalInfo<GeneralInfo>Store basic data
account<Account>Store owner’s account data
settings<Settings>Store general settings
mailNotifications<MailNotifications>Mail notifications settings
company<Company>Company info
formatsAndUnits<FormatsAndUnits>Store formats/untis settings
languages<Languages>Store language settings
shipping<Shipping>Store shipping settings (only handling fee is included at the moment)
taxSettings<TaxSettings>Store taxes settings
zonesArray<Zone>Store destination zones
businessRegistrationID<BusinessRegistrationID>Company registration ID, e.g. VAT reg number or company ID, which is set under Settings / Invoice in Control panel
legalPagesSettings<LegalPagesSettingsDetails>Legal pages settings for a store (System Settings → General → Legal Pages)
designSettings<DesignSettingsInfo>Design settings of an Ecwid store. Can be overriden by updating store profile or by customizing design via JS config in storefront. If designSettings field is not provided in request, it will not be changed

GeneralInfo

FieldTypeDescription
storeUrlstringStorefront URL. If this field is empty in the store settings and omitted in the request, it will be automatically copied from the current Instant Site URL. When updating, make sure to add protocol to the URL (http:// or https://).
starterSite<InstantSiteInfo>Instant Site settings

Account

FieldTypeDescription
accountNamestringFull store owner name
accountNickNamestringStore owner nickname on the Ecwid forums
accountEmailstringStore owner email

Settings

FieldTypeDescription
closedstringtrue if the store is closed for maintenance, false otherwise
storeNamestringThe store name displayed in Instant Site
storeDescriptionstringHTML description for the main store page – Store Front page
googleRemarketingEnabledbooleantrue if Remarketing with Google Analytics is enabled, false otherwise
googleAnalyticsIdstringGoogle Analytics ID connected to a store
fbPixelIdstringYour Facebook Pixel ID. This field is not returned if it is empty in the Ecwid Control Panel. Learn more
orderCommentsEnabledbooleanUse true to enable order comments feature, false otherwise
orderCommentsCaptionstringCaption for order comments field in storefront. If the value is empty, the default 'Order comments’ caption will be used
orderCommentsRequiredbooleanUse true to require order comments to be filled, false otherwise
hideOutOfStockProductsInStorefrontbooleantrue if out of stock products are hidden in storefront, false otherwise. This setting is located in Ecwid Control Panel > Settings > General > Cart
askCompanyNamebooleantrue if “Ask for the company name” in checkout settings is enabled, false otherwise
favoritesEnabledbooleantrue if favorites feature is enabled for storefront, false otherwise
abandonedSales<AbandonedSalesSettings>Abandoned sales settings
salePrice<SalePriceSettings\Sale (compare to) price settings
showAcceptMarketingCheckboxbooleantrue if merchant shows the checkbox to accept marketing. false otherwise
acceptMarketingCheckboxDefaultValuebooleanDefault value for the checkbox at checkout to accept marketing
acceptMarketingCheckboxCustomTextstringCustom text label for the checkbox to accept marketing at checkout
askConsentToTrackInStorefrontbooleantrue if merchant shows warning to accept cookies in storefront. false otherwise
pinterestTagIdstringPinterest Tag Id from your Pinterest business account

MailNotifications

FieldTypeDescription
adminNotificationEmailsArray<string>Email addresses, which the store admin notifications are sent to
customerNotificationFromEmailstringThe email address used as the 'reply-to’ field in the notifications to customers

Company

System Settings → General → Store Profile

FieldTypeDescription
companyNamestringThe company name displayed on the invoice
emailstringCompany (store administrator) email
streetstringCompany address. 1 or 2 lines separated by a new line character
citystringCompany city
countryCodestringA two-letter ISO code of the country
postalCodestringPostal code or ZIP code
stateOrProvinceCodestringState code (e.g. NY) or a region name
phonestringCompany phone number

FormatsAndUnits

System settings → General → Formats & Units.

FieldTypeDescription
currencystring3-letters code of the store currency (ISO 4217). Examples: USD, CAD
currencyPrefixstringCurrency prefix (e.g. $)
currencySuffixstringCurrency suffix
currencyGroupSeparatorstringPrice thousands separator. Supported values: space " ", dot ".", comma "," or empty value "".
currencyDecimalSeparatorstringPrice decimal separator. Possible values: . or ,
currencyTruncateZeroFractionalbooleanHide zero fractional part of the prices in storefront. true or false .
currencyRatenumberCurrency rate in U.S. dollars, as set in the merchant control panel
weightUnitstringWeight unit. Supported values: CARAT, GRAM, OUNCE, POUND, KILOGRAM
weightPrecisionnumberNumbers of digits after decimal point in weights displayed in the store
weightGroupSeparatorstringWeight thousands separator. Supported values: space " ", dot ".", comma "," or empty value ""
weightDecimalSeparatorstringWeight decimal separator. Possible values: . or ,
weightTruncateZeroFractionalbooleanHide zero fractional part of the weight values in storefront. true or false .
dateFormatstringDate format. Only these formats are accepted: "dd-MM-yyyy", "dd/MM/yyyy", "dd.MM.yyyy", "MM-dd-yyyy", "MM/dd/yyyy", "yyyy/MM/dd", "MMM d, yyyy", "MMMM d, yyyy", "EEE, MMM d, ''yy", "EEE, MMMM d, yyyy"
timeFormatstringTime format. Only these formats are accepted: "HH:mm:ss", "HH:mm", "hh.mm.ss a", "hh:mm a"
timezonestringStore timezone, e.g. Europe/Moscow
dimensionsUnitstringProduct dimensions units. Possible values: IN,CM,MM,YD
orderNumberPrefixstringOrder number prefix in a store
orderNumberSuffixstringOrder number suffix in a store

Languages

System Settings → General → Languages

FieldTypeDescription
enabledLanguagesArray<string>A list of enabled languages in the storefront. Use first item to set default storefront language
defaultLanguagestringISO code of the default language in store

Shipping

System Settings → Shipping

FieldTypeDescription
handlingFee<HandlingFee>Handling fee settings

HandlingFee

System Settings → Shipping → Handling Fee

FieldTypeDescription
namestringHandling fee name set by store admin. E.g. Wrapping
valuenumberHandling fee value. If handling fee is 0 then it’s disabled.
descriptionstringHandling fee description for customer

TaxSettings

System Settings → Taxes

FieldTypeDescription
automaticTaxEnabledbooleantrue if taxes are calculated automatically, else otherwise
taxesArray<Taxes>Manual tax settings for a store. To create a new tax, send all existing taxes and add a new one to the array, without id field

Taxes

FieldTypeDescription
idnumberUnique internal ID of the tax
namestringDisplayed tax name
enabledbooleanWhether tax is enabled true / false
includeInPricebooleantrue if the tax rate is included in product prices. More details: Taxes in Ecwid
useShippingAddressbooleantrue if the tax is calculated based on shipping address, false if billing address is used
taxShippingbooleantrue is the tax applies to subtotal+shipping cost . false if the tax is applied to subtotal only
appliedByDefaultbooleantrue if the tax is applied to all products. false is the tax is only applied to thos product that have this tax enabled
defaultTaxnumberTax value, in %, when none of the destination zones match
rulesArray<TaxRule>Tax rates

TaxRule

FieldTypeDescription
zoneIdstringDestination zone ID
taxnumberTax rate for this zone in %

Zone

System Settings → Zones

FieldTypeDescription
idstringUnique internal zone ID
namestringZone displayed name
countryCodesArray<string>Country codes this zone includes
stateOrProvinceCodesArray<string>State or province codes the zone includes
postCodesArray<string>Postcode (or zipcode) templates this zone includes. More details: Destination zones in Ecwid

BusinessRegistrationID

FieldTypeDescription
namestringID name, e.g. Vat ID, P.IVA, ABN
valuestringID value

InstantSiteInfo

System Settings → General → Instant site

FieldTypeDescription
ecwidSubdomainstringStore subdomain on ecwid.com domain, e.g. mysuperstore.ecwid.com
customDomainstringCustom Instant site domain, e.g. www.mysuperstore.com

LegalPagesSettingsDetails

System Settings → General → Legal Pages

FieldTypeDescription
requireTermsAgreementAtCheckoutbooleantrue if customers must agree to store’s terms of service at checkout
legalPages<LegalPagesInfo>Information about the legal pages set up in a store

LegalPagesInfo

FieldTypeDescription
typestringLegal page type. One of: "LEGAL_INFO", "SHIPPING_COST_PAYMENT_INFO", "REVOCATION_TERMS", "TERMS", "PRIVACY_STATEMENT"
enabledbooleantrue if legal page is shown at checkout process, false otherwise
titlestringLegal page title
displaystringLegal page display mode – in a popup or on external URL. One of: "INLINE", "EXTERNAL_URL"
textstringHTML contents of a legal page
externalUrlstringURL to external location of a legal page

DesignSettingsInfo

FieldTypeDescription
DESIGN_CONFIG_FIELD_NAMEstring or booleanStore design settings as seen in storefront design customization. If a specific config field is not provided, it will not be changed

AbandonedSalesSettings

FieldTypeDescription
autoAbandonedSalesRecoverybooleantrue if abandoned sale recovery emails are sent automatically, false otherwise

SalePriceSettings

FieldTypeDescription
displayOnProductListbooleantrue if sale price is displayed on product list and product details page. false if sale price is displayed on product details page only
oldPriceLabelstringText label for sale price name
displayDiscountstringShow discount in three modes: "NONE", "ABS" and "PERCENT

Response

Response example (JSON)

{
    "updateCount": 1,
    "success": true
}

A JSON object of type 'UpdateStatus’ with the following fields:

UpdateStatus

FieldTypeDescription
updateCountnumberThe number of updated entities (1 or 0 depending on whether the update was successful)
successbooleantrue if the coupon has been updated, false otherwise

Errors

Error response example

HTTP/1.1 409 Conflict
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code

HTTP codes

HTTP StatusMeaning
400Request parameters are malformed
402Cannot update settings because the limit of number of zones or taxes is reached
409Cannot update profile because such nickname or email is already registered in the system
415Unsupported content-type: expected application/json or text/json
500Cannot retrieve the coupon info because of an error on the server

Get shipping options

Get information about store shipping options: settings, availability, titles, etc. The same content is provided in Get store profile -> Shipping -> ShippingOptions

Request

Request example – get shipping options

GET /api/v3/4870020/profile/shippingOptions?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

GET https://app.ecwid.com/api/v3/{storeId}/profile/shippingOptions?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Response

Response example (JSON)

[
          // Flat rate shipping method
          {
            "id": "8329-1495610692625",
            "title": "Flat rate",
            "enabled": false,
            "orderby": 170,
            "destinationZone": {
              "id": "7715-1423477610739",
              "name": "US",
              "countryCodes": [
                "US"
              ],
              "stateOrProvinceCodes": [
                "US-AL",
                "US-AK",
                "US-AZ",
                "US-AR",
                "US-AA",
                "US-AE",
                "US-AP",
                "US-CA",
                "US-CO",
                "US-CT",
                "US-DE",
                "US-DC",
                "US-FL",
                "US-GA",
                "US-GU",
                "US-HI",
                "US-ID",
                "US-IL",
                "US-IN",
                "US-IA",
                "US-KS",
                "US-KY",
                "US-LA",
                "US-ME",
                "US-MD",
                "US-MA",
                "US-MI",
                "US-MN",
                "US-MS",
                "US-MO",
                "US-MT",
                "US-NE",
                "US-NV",
                "US-NH",
                "US-NJ",
                "US-NM",
                "US-NY",
                "US-NC",
                "US-ND",
                "US-PR",
                "US-RI",
                "US-SC",
                "US-SD",
                "US-TN",
                "US-TX",
                "US-UT",
                "US-VT",
                "US-VI",
                "US-VA",
                "US-WA",
                "US-WV",
                "US-WI",
                "US-WY"
              ]
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "flat",
            "flatRate": {
              "rateType": "ABSOLUTE",
              "rate": 22
            },
            "carrier": ""
          },
          // Carrier-calculated rates
          {
            "id": "7835-1442850313554",
            "title": "The World: UPS",
            "enabled": true,
            "orderby": 0,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "carrier-calculated",
            "carrierMethods": [
              {
                  "id": "7835-1442850313554:S1",
                  "name": "UPS Next Day Air®",
                  "enabled": true,
                  "orderBy": 1240
              },
              {
                  "id": "7835-1442850313554:S2",
                  "name": "UPS Second Day Air®",
                  "enabled": true,
                  "orderBy": 1250
              },
              {
                  "id": "7835-1442850313554:S3",
                  "name": "UPS Ground",
                  "enabled": false,
                  "orderBy": 0
              },
              {
                  "id": "7835-1442850313554:S4",
                  "name": "UPS Worldwide Express SM",
                  "enabled": true,
                  "orderBy": 1120
              },
              {
                  "id": "7835-1442850313554:S5",
                  "name": "UPS Worldwide Expedited SM",
                  "enabled": true,
                  "orderBy": 1100
              },
              {
                  "id": "7835-1442850313554:S6",
                  "name": "UPS Standard",
                  "enabled": true,
                  "orderBy": 1030
              },
              {
                  "id": "7835-1442850313554:S7",
                  "name": "UPS Three-Day Select®",
                  "enabled": true,
                  "orderBy": 1040
              },
              {
                  "id": "7835-1442850313554:S8",
                  "name": "UPS Next Day Air Saver®",
                  "enabled": true,
                  "orderBy": 1000
              },
              {
                  "id": "7835-1442850313554:S9",
                  "name": "UPS Next Day Air® Early A.M. SM",
                  "enabled": false,
                  "orderBy": 0
              },
              {
                  "id": "7835-1442850313554:S10",
                  "name": "UPS Worldwide Express Plus SM",
                  "enabled": true,
                  "orderBy": 1110
              },
              {
                  "id": "7835-1442850313554:S11",
                  "name": "UPS Second Day Air A.M.®",
                  "enabled": true,
                  "orderBy": 1020
              },
              {
                  "id": "7835-1442850313554:S12",
                  "name": "UPS Saver",
                  "enabled": false,
                  "orderBy": 1010
              }
            ],
            "shippingCostMarkup": 0,
            "carrierSettings": {
              "defaultCarrierAccountEnabled": false,
              "defaultPostageDimensions": {
                "length": 0.0254,
                "width": 0.0254,
                "height": 0.0254
              }
            },
            "carrier": "UPS"
          },
          // Custom table rates
          {
            "id": "9327-1430948461738",
            "title": "Standard shipping",
            "enabled": true,
            "orderby": 1250,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "table",
            "ratesTable": {
              "tableBasedOn": "weight",
              "rates": [
                {
                  "conditions": {
                    "weightFrom": 0,
                    "weightTo": 12
                  },
                  "rate": {
                    "perOrder": 10,
                    "percent": 2,
                    "perItem": 3,
                    "perWeight": 2
                  }
                },
                {
                  "conditions": {
                    "weightFrom": 12.01
                  },
                  "rate": {
                    "perOrder": 20,
                    "percent": 3,
                    "perItem": 4,
                    "perWeight": 3
                  }
                }
              ]
            },
            "deliveryTimeDays": "1-2",
            "description": "1-2",
            "carrier": ""
          },
          // In-store pickup method
          {
            "id": "6633-1504595502395",
            "title": "In-store Pickup",
            "enabled": true,
            "orderby": 130,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "pickup",
            "pickupInstruction": "<p><strong>Pickup location:</strong></p><p>    Cool Guys, 5th Avenue, Москва, Guam, 11950, United States</p><p>    <strong>Store hours:</strong></p><p>    9AM – 6PM Mon-Fri</p>",
            "scheduledPickup": true,
            "pickupPreparationTimeHours": 60,
            "pickupBusinessHours": "{\"MON\":[[\"09:00\",\"18:00\"]], \"TUE\":[[\"09:00\",\"18:00\"]], \"THU\":[[\"09:00\",\"10:00\"]], \"FRI\":[[\"09:00\",\"18:00\"]], \"SAT\":[[\"09:00\",\"10:30\"]]}"
          },
          // Custom shipping app
          {
            "id": "1095449637-1519976902346",
            "title": "Doba Drop Shipping",
            "enabled": true,
            "orderby": 10,
            "destinationZone": {
              "id": "WORLD",
              "name": "WORLD"
            },
            "fulfilmentType": "shipping",
            "ratesCalculationType": "app",
            "appClientId": "doba-integration"
          }
]

Public token request example

GET /api/v3/4870020/profile/shippingOptions?token=public_bpFwyLBELRZa43vaFWVryxu199eYDaaz HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

Public token response example

[
          {
            "id": "7835-1442850313554",
            "title": "The World: UPS",
            "enabled": true,
            "orderby": 0,
            "destinationZone": {},
            "fulfilmentType": "shipping",
            "ratesCalculationType": "carrier-calculated",
            "carrier": "UPS"
          },
          {
            "id": "9327-1430948461738",
            "title": "Standard shipping",
            "enabled": true,
            "orderby": 1250,
            "destinationZone": {},
            "fulfilmentType": "shipping",
            "ratesCalculationType": "table",
            "ratesTable": {},
              "deliveryTimeDays": "1-2",
              "description": "1-2",
              "carrier": ""
          },
          {
            "id": "6633-1504595502395",
            "title": "In-store Pickup",
            "enabled": true,
            "orderby": 130,
            "destinationZone": {},
            "fulfilmentType": "pickup",
            "pickupInstruction": "<p><strong>Pickup location:</strong></p><p>    Cool Guys, 5th Avenue, Москва, Guam, 11950, United States</p><p>    <strong>Store hours:</strong></p><p>    9AM – 6PM Mon-Fri</p>",
            "scheduledPickup": true,
            "pickupPreparationTimeHours": 60,
            "pickupBusinessHours": "{\"MON\":[[\"09:00\",\"18:00\"]], \"TUE\":[[\"09:00\",\"18:00\"]], \"THU\":[[\"09:00\",\"10:00\"]], \"FRI\":[[\"09:00\",\"18:00\"]], \"SAT\":[[\"09:00\",\"10:30\"]]}"
          },
          {
            "id": "1095449637-1519976902346",
            "title": "Doba Drop Shipping",
            "enabled": true,
            "orderby": 10,
            "destinationZone": {},
            "fulfilmentType": "shipping",
            "ratesCalculationType": "app",
            "appClientId": "doba-integration"
          }
]

A JSON array with elements of type 'ShippingOption’ with the following fields:

ShippingOption

FieldTypeDescription
idstringUnique ID of shipping option
titlestringTitle of shipping option in store settings
enabledbooleantrue if shipping option is used at checkout to calculate shipping. false otherwise
orderbynumberSort position or shipping option at checkout and in store settings. The smaller the number, the higher the position
fulfilmentTypestringFulfillment type. "pickup" for in-store pickup methods, "shipping" for everything else
destinationZone<Zone>Destination zone set for shipping option. Empty for public token
deliveryTimeDaysstringEstimated delivery time in days. Formats accepted: empty "", number "5", several days estimate "4-9"
descriptionstringShipping method description. Currently is equal to deliveryTimeDays
carrierstringCarrier used for shipping the order. Is provided for carrier-calculated shipping options
carrierMethodsArray <CarrierMethod>Carrier-calculated shipping methods available for this shipping option
carrierSettings<CarrierSettings>Carrier-calculated shipping option settings
ratesCalculationTypestringRates calculation type. One of "carrier-calculated", "table", "flat", "app"
shippingCostMarkupnumberShipping cost markup for carrier-calculated methods
flatRate<FlatRate>Flat rate details
ratesTable<TableRatesDetails>Custom table rates details
appClientIdstringclient_id value of the app (for custom shipping apps only)
pickupInstructionstringString of HTML code of instructions on in-store pickup
scheduledPickupbooleantrue if pickup time is scheduled, false otehrwise. (Ask for Pickup Date and Time at Checkout option in pickup settings)
pickupPreparationTimeHoursnumberAmount of time required for store to prepare pickup (Order Fulfillment Time setting)
pickupBusinessHoursstring <PickupBusinessHours>Available and scheduled times to pickup orders

CarrierMethod

FieldTypeDescription
idstringCarrier ID and specific method name
namestringCarrier method name
enabledbooleantrue if enabled, false otherwise
orderBynumberPosition of that carrier method

CarrierSettings

FieldTypeDescription
defaultCarrierAccountEnabledbooleantrue if default Ecwid account is enabled to calculate the rates. false otherwise
defaultPostageDimensions<DefaultPostageDimensions>Default postage dimensions for this shipping option

DefaultPostageDimensions

FieldTypeDescription
lengthnumberLength of postage
widthnumberWidth of postage
heightnumberHeight of postage

FlatRate

FieldTypeDescription
rateTypestringOne of "ABSOLUTE", "PERCENT"
ratenumberShipping rate

TableRatesDetails

FieldTypeDescription
tableBasedOnstringWhat is this table rate based on. Possible values: "subtotal", "discountedSubtotal", "weight"
ratesArray <TableRate>Details of table rate

TableRate

FieldTypeDescription
conditions<TableRateConditions>Conditions for this shipping rate in custom table
rate<TableRateDetails>Table rate details

TableRateConditions

FieldTypeDescription
weightFromnumber“Weight from” condition value
weightTonumber“Weight to” condition value
subtotalFromnumber“Subtotal from” condition value
subtotalTonumber“Subtotal to” condition value
discountedSubtotalFromnumber“Discounted subtotal from” condition value
discountedSubtotalTonumber“Discounted subtotal from” condition value

TableRateDetails

FieldTypeDescription
perOrderAbsnumberAbsolute per order rate
perOrderPercentnumberPercent per order rate
perItemnumberAbsolute per item rate
perWeightUnitRatenumberAbsolute per weight rate

PickupBusinessHours

FieldTypeDescription
MONArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
TUEArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
WEDArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
THUArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
FRIArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
SATArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']
SUNArray time rangeArray of time ranges in format ["FROM TIME", "TO TIME"]. Ex: ['08:30', '13:30'], ['13:30', '19:00']

Add shipping option

Add a new shipping option. USPS carrier calculated option is supported only.

After creating a new USPS shipping option, Ecwid will set the default account settings for it, so it can start working right away. Change details to another account in the Ecwid Control Panel.

Request

Request body

POST /api/v3/4870020/profile/shippingOptions?token=123abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: application/json
Cache-Control: no-cache
{
  "title": "USPS delivery",
  "type": "carrier",
  "carrier": "USPS", 
  "enabled": true
}

POST https://app.ecwid.com/api/v3/{storeId}/profile/shippingOptions?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Request body

A JSON object of type 'ShippingOption’ with the following fields:

NameTypeDescription
titlestringShipping option title
typestringMust be always "carrier"
carrierstringMust always be "USPS"
enabledbooleanIf true, enables shipping method for customers at checkout. false otherwise. If not passed, default is true

Response

Response example (JSON)

{
    "id": "1815917023-1562311079943"
}

A JSON object of type 'CreateStatus’ with the following fields:

CreateStatus

FieldTypeDescription
idstringID of the created shipping option

Errors

HTTP/1.1 409 Conflict
Content-Type application/json; charset=utf-8

{
 errorMessage: "A shipping option with this name already exists",
 errorCode: "SHIPPING_OPTION_ALREADY_EXISTS"
}

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescriptionCode (optional)
400Request parameters are malformed
400Only USPS can be added via API at this time
400Shipping option title cannot be emptySHIPPING_OPTION_TITLE_REQUIRED
400Shipping carrier cannot be emptySHIPPING_CARRIER_NAME_REQUIRED
402The functionality/method is not available on the merchant plan
403Access token doesn’t have update_store_profile scope
409A shipping option with this name already existsSHIPPING_OPTION_ALREADY_EXISTS
415Unsupported content-type: expected application/json or text/json

Error response body (optional)

FieldTypeDescription
errorMessagestringError message
errorCodestringError code, optional

Update a shipping option

Update an existing shipping option referring to its ID.

Request example

PUT /api/v3/4870020/profile/shippingOptions/1815917023-1562311079943?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: application/json;charset=utf-8
Cache-Control: no-cache
{
  "enabled": true
}

PUT https://app.ecwid.com/api/v3/{storeId}/profile/shippingOptions/{optionId}?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
optionIdnumberShipping option ID
tokenstringoAuth token with access to update_store_profile scope

Request body

A JSON object of type 'ShippingOption’ with the following fields:

ShippingOption

FieldTypeDescription
enabledbooleantrue to enable shipping option to customers at checkout. false otherwise

Response

Ecwid will respond with empty response and 200OK HTTP status if the changes were applied successfully.

Errors

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescriptionCode (optional)
400Request parameters are malformed
402The functionality/method is not available on the merchant plan
403Access token doesn’t have update_store_profile scope
415Unsupported content-type: expected application/json or text/json

Error response body (optional)

FieldTypeDescription
errorMessagestringError message
errorCodestringError code

Upload store logo displayed on Instant Site. The logo itself is to be placed in the request body. Maximum allowed file size is 20Mb.

Request example

POST /api/v3/4870020/profile/logo?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: image/jpeg
Cache-Control: no-cache

binary data

PHP Example

$file = file_get_contents('image.jpg');
$url = 'https://app.ecwid.com/api/v3/1003/profile/logo?token=abcdefg123456';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $file);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: image/jpeg;'));

$result = curl_exec($ch);
curl_close ($ch);

Python Example

import requests

request_url = "https://app.ecwid.com/api/v3/1003/profile/logo?token=abcdefg123456"

image_file_data = open('image.jpg', 'rb').read()

result = requests.post(request_url,data=image_file_data)

print(result.status_code)

POST https://app.ecwid.com/api/v3/{storeId}/profile/logo?token={token}&externalUrl={externalUrl}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token
externalUrlstringExternal file URL available for public download. If specified, Ecwid will ignore any binary file data sent in a request

When uploading a store logo, the image itself needs to be sent in the body of your request in a form of binary data. The file that you wish to upload needs to be prepared for that format and then sent to Ecwid API endpoint.

Alternatively, you can specify an externalURL to your file as a request parameter and Ecwid will download it from there.

Response

Response example

{
    "id": 240198557
}

A JSON object of type 'UploadStatus’ with the following fields:

UploadStatus

FieldTypeDescription
idnumberInternal image ID

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
413The image file is too large (Maximum allowed file size is 20Mb)
415Unsupported content-type: expected application/octet-stream
422The uploaded file is not an image
500Uploading of the image file failed or there was an internal server error while processing a file

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Remove store logo, which is displayed on Instant site

Request example

DELETE /api/v3/4870020/profile/logo?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: application/json

DELETE https://app.ecwid.com/api/v3/{storeId}/profile/logo?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Response

Response example

{
    "deleteCount": 1,
    "success": true
}

A JSON object of type 'DeleteStatus’ with the following fields:

DeleteStatus

FieldTypeDescription
deleteCountnumberThe number of deleted images (1 or 0 depending on whether the request was successful)
successbooleantrue if the image has been deleted, false otherwise

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
500Uploading of the image file failed or there was an internal server error while processing a file

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Upload store logo displayed on order invoices. The logo itself is to be placed in the request body. Maximum allowed file size is 20Mb.

Request example

POST /api/v3/4870020/profile/invoicelogo?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: image/jpeg
Cache-Control: no-cache

binary data

PHP Example

$file = file_get_contents('image.jpg');
$url = 'https://app.ecwid.com/api/v3/1003/profile/invoicelogo?token=abcdefg123456';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $file);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: image/jpeg;'));

$result = curl_exec($ch);
curl_close ($ch);

Python Example

import requests

request_url = "https://app.ecwid.com/api/v3/1003/profile/invoicelogo?token=abcdefg123456"

image_file_data = open('image.jpg', 'rb').read()

result = requests.post(request_url,data=image_file_data)

print(result.status_code)

POST https://app.ecwid.com/api/v3/{storeId}/profile/invoicelogo?token={token}&externalUrl={externalUrl}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token
externalUrlstringExternal file URL available for public download. If specified, Ecwid will ignore any binary file data sent in a request

When uploading an invoice logo, the image itself needs to be sent in the body of your request in a form of binary data. The file that you wish to upload needs to be prepared for that format and then sent to Ecwid API endpoint.

Alternatively, you can specify an externalURL to your file as a request parameter and Ecwid will download it from there.

Response

Response example

{
    "id": 240198557
}

A JSON object of type 'UploadStatus’ with the following fields:

UploadStatus

FieldTypeDescription
idnumberInternal image ID

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
415Unsupported content-type: expected application/octet-stream
422The uploaded file is not an image
413The image file is too large. Maximum allowed file size is 20Mb.
500Uploading of the image file failed or there was an internal server error while processing a file

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Remove store logo, which is displayed on order invoices

Request example

DELETE /api/v3/4870020/profile/invoicelogo?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: application/json

DELETE https://app.ecwid.com/api/v3/{storeId}/profile/invoicelogo?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Response

Response example

{
    "deleteCount": 1,
    "success": true
}

A JSON object of type 'DeleteStatus’ with the following fields:

DeleteStatus

FieldTypeDescription
deleteCountnumberThe number of deleted images (1 or 0 depending on whether the request was successful)
successbooleantrue if the image has been deleted, false otherwise

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
500Uploading of the image file failed or there was an internal server error while processing a file

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Upload store logo displayed in order emails. The logo itself is to be placed in the request body. Maximum allowed file size is 20Mb.

Request example

POST /api/v3/4870020/profile/emaillogo?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: image/jpeg
Cache-Control: no-cache

binary data

PHP Example

$file = file_get_contents('image.jpg');
$url = 'https://app.ecwid.com/api/v3/1003/profile/emaillogo?token=abcdefg123456';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $file);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: image/jpeg;'));

$result = curl_exec($ch);
curl_close ($ch);

Python Example

import requests

request_url = "https://app.ecwid.com/api/v3/1003/profile/emaillogo?token=abcdefg123456"

image_file_data = open('image.jpg', 'rb').read()

result = requests.post(request_url,data=image_file_data)

print(result.status_code)

POST https://app.ecwid.com/api/v3/{storeId}/profile/emaillogo?token={token}&externalUrl={externalUrl}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token
externalUrlstringExternal file URL available for public download. If specified, Ecwid will ignore any binary file data sent in a request

When uploading an email logo, the image itself needs to be sent in the body of your request in a form of binary data. The file that you wish to upload needs to be prepared for that format and then sent to Ecwid API endpoint.

Alternatively, you can specify an externalURL to your file as a request parameter and Ecwid will download it from there.

Response

Response example

{
    "id": 240198557
}

A JSON object of type 'UploadStatus’ with the following fields:

UploadStatus

FieldTypeDescription
idnumberInternal image ID

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
415Unsupported content-type: expected application/octet-stream
422The uploaded file is not an image
413The image file is too large. Maximum allowed file size is 20Mb.
500Uploading of the image file failed or there was an internal server error while processing a file

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Remove store logo, which is displayed on order invoices

Request example

DELETE /api/v3/4870020/profile/emaillogo?token=123456789abcd HTTP/1.1
Host: app.ecwid.com
Content-Type: application/json

DELETE https://app.ecwid.com/api/v3/{storeId}/profile/emaillogo?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Response

Response example

{
    "deleteCount": 1,
    "success": true
}

A JSON object of type 'DeleteStatus’ with the following fields:

DeleteStatus

FieldTypeDescription
deleteCountnumberThe number of deleted images (1 or 0 depending on whether the request was successful)
successbooleantrue if the image has been deleted, false otherwise

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
500Uploading of the image file failed or there was an internal server error while processing a file

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Get store update statistics

This method provides simple 'Latest updates’ statistics about store profile, products, orders, categories and discount coupons. Use it to check whether something was changed in an Ecwid store. This could be helpful to keep data in your application up-to-date and avoid abusing API to get and parse large amounts of data to check its state.

Also, you can consider using webhooks to get a notificaiton when changes are made to orders and catalog items. For example, you can get a webhook when a new order is placed in a store and send order details to a warehouse right away.

Request example

GET /api/v3/4870020/latest-stats?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

GET https://app.ecwid.com/api/v3/{storeId}/latest-stats?token={token}

NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token

Response

Response example (JSON)

{
    "productsUpdated": "2014-10-19 18:56:21 +0400",
    "ordersUpdated": "2014-10-15 16:54:11 +0400",
    "profileUpdated": "2014-10-19 18:55:35 +0400",
    "categoriesUpdated": "2014-10-19 12:23:12 +0400",
    "discountCouponsUpdated": "2017-02-10 08:03:43 +0000",
    "abandonedSalesUpdated": "2017-02-10 08:03:43 +0000",
    "customersUpdated": "2017-02-10 08:03:43 +0000"
}

A JSON object containing the update dates statistics

UpdateStats

FieldTypeDescription
productsUpdatedstringDate of the latest changes in store catalog (products, categories), e.g. 2014-10-15 16:54:11 +0400
ordersUpdatedstringDate of the latest changes in store orders, e.g. 2014-10-15 16:54:11 +0400
profileUpdatedstringDate of the latest changes in store information, e.g. 2014-10-15 16:54:11 +0400
categoriesUpdatedstringDate of the latest changes in store categories, e.g. 2014-10-19 12:23:12 +0400
discountCouponsUpdatedstringDate of the latest changes in store discount coupons, e.g. 2014-10-19 12:23:12 +0400
abandonedSalesUpdatedstringDate of the latest changes to abandoned carts in a store, e.g. 2014-10-19 12:23:12 +0400
customersUpdatedstringDate of the latest changes to customers in a store, e.g. 2014-10-19 12:23:12 +0400

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
415Unsupported content-type: expected application/json or text/json
500There was an internal server error while processing the request

Error response body (optional)

FieldTypeDescription
errorMessagestringError message

Get deleted items statistics

Using this group of API methods, you can get a list of products, orders, customers and coupons that have been deleted from the store. In combination with the update statistics, you can use these endpoints to check whether something was changed in an Ecwid store and keep data in your application synchronized with the Ecwid store you’re working with.

Also, you can consider using webhooks to get a notificaiton when orders and catalog items are deleted. For example, you can get a webhook right after a product is deleted from an Ecwid store and adjust your custom product list in external system.

Get deleted products stats

GET /api/v3/4870020/products/deleted?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

Get deleted orders stats

GET /api/v3/4870020/orders/deleted?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

Get deleted customers stats

GET /api/v3/4870020/customers/deleted?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

Get deleted coupons stats

GET /api/v3/4870020/discount_coupons/deleted?token=123abcd HTTP/1.1
Host: app.ecwid.com
Cache-Control: no-cache

There are 4 endpoints: deleted products, orders, customers, coupons.

  • GET https://app.ecwid.com/api/v3/{storeId}/products/deleted?from_date={from_date}&to_date={to_date}&offset={offset}&limit={limit}&token={token}
  • GET https://app.ecwid.com/api/v3/{storeId}/orders/deleted?from_date={from_date}&to_date={to_date}&offset={offset}&limit={limit}&token={token}
  • GET https://app.ecwid.com/api/v3/{storeId}/customers/deleted?from_date={from_date}&to_date={to_date}&offset={offset}&limit={limit}&token={token}
  • GET https://app.ecwid.com/api/v3/{storeId}/discount_coupons/deleted?from_date={from_date}&to_date={to_date}&offset={offset}&limit={limit}&token={token}
NameTypeDescription
storeIdnumberEcwid store ID
tokenstringoAuth token
from_datestringItem deletion date lower bound. Supported formats:
  • UNIX timestamp
  • yyyy-MM-dd HH:mm:ss Z
  • yyyy-MM-dd HH:mm:ss
  • yyyy-MM-dd
Examples:
  • 1447804800
  • 2015-04-22 18:48:38 -0500
  • 2015-04-22 (this is 2015-04-22 00:00:00 UTC)
to_datestringItem deletion date upper bound. Supported formats:
  • UNIX timestamp
  • yyyy-MM-dd HH:mm:ss Z
  • yyyy-MM-dd HH:mm:ss
  • yyyy-MM-dd
offsetnumberOffset from the beginning of the returned items list (for paging)
limitnumberMaximum number of returned items. Default value: 100

Response

Response example (JSON). Removed order stats

{
    "total": 1,
    "count": 1,
    "offset": 0,
    "limit": 100,
    "items": [
        {
            "id": 9,
            "date": "2014-10-20 18:07:24 +0400"
        }
    ]
}

Response example (JSON). Removed coupons stats

{
    "total": 2,
    "count": 2,
    "offset": 0,
    "limit": 100,
    "items": [
        {
            "id": 34256365236,
            "date": "2014-10-20 18:00:54 +0400"
        },
        {
            "id": 123123213213,
            "date": "2014-10-20 18:00:57 +0400"
        }
    ]
}

Each endpoint returns the information about the batch, the removed items IDs and the deletion dates in JSON object of type DeletedItemsStats

DeletedItemsStats

FieldTypeDescription
totalnumberThe total number of found items (might be more than the number of returned items)
countnumberThe total number of the items returned in this batch
offsetnumberOffset from the beginning of the returned items list (for paging)
limitnumberMaximum number of returned items. Maximum allowed value: 100. Default value: 10
itemsArray<RemovedItem>The removed items list with IDs and dates

Removed item

FieldTypeDescription
idnumberItem ID. Depending on the request, that is products ID, customer ID, order number or coupon ID.
datestringItem deletion date

Errors

Error response example

HTTP/1.1 500 Server Error
Content-Type application/json; charset=utf-8

In case of error, Ecwid responds with an error HTTP status code and, optionally, JSON-formatted body containing error description

HTTP codes

HTTP StatusDescription
400Request parameters are malformed
415Unsupported content-type: expected application/json or text/json
500There was an internal server error while processing the request

Error response body (optional)

FieldTypeDescription
errorMessagestringError message