mcpField
E
ecommerce

ecommerce

github.com/hostingerMarketing & growth2639 installsUpdated 19w ago
Repository

About ecommerce

A skill for managing online stores associated with a Hostinger account through the Hostinger Ecommerce API. It documents store listing, creation, and sales channel setup.

Key features

  1. 01Paginated store listing
  2. 02Store creation
  3. 03Automatic primary sales channel creation
  4. 04Linking external sales channels

Use cases

  1. 01Review stores in an account
  2. 02Create an online store for a new business
  3. 03Connect a store to an external system

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/hostinger/hostinger-agent-skills --skill ecommerce

After installing, type/ecommercein Claude Code to confirm it loaded.

Details

From the project README

Hostinger Ecommerce

The Ecommerce API manages online stores associated with your Hostinger account. You can list existing stores and create new ones — creating a store also provisions a primary sales channel for it.

Table of Contents

Core Concepts

Stores

A store is the top-level ecommerce entity tied to your account. Each store carries company details (name, email, country) and a default language used for the storefront.

Sales Channels

Every store has at least one sales channel — the surface through which products are sold. When you create a store, a primary sales channel is created alongside it. You can supply a sales_channel object (e.g., type: custom with an external_id) to link the store to an external system.

Common Patterns

List Stores
curl -X GET "https://developers.hostinger.com/api/ecommerce/v1/stores" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Paginate
curl -X GET "https://developers.hostinger.com/api/ecommerce/v1/stores?page=2" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Python SDK:

from hostinger_api import Hostinger

client = Hostinger(api_token="YOUR_API_TOKEN")

stores = client.ecommerce.stores.list()
for store in stores:
    print(store.name)

TypeScript SDK:

import { Hostinger } from "hostinger-api-sdk";

const client = new Hostinger({ apiToken: "YOUR_API_TOKEN" });

const stores = await client.ecommerce.stores.list();
for (const store of stores) {
  console.log(store.name);
}

PHP SDK:

use Hostinger\Api\HostingerApi;

$client = new HostingerApi('YOUR_API_TOKEN');

$stores = $client->ecommerce->stores->list();
foreach ($stores as $store) {
    echo $store->name . "\n";
}
Create a Store
curl -X POST "https://developers.hostinger.com/api/ecommerce/v1/stores" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Store",
    "country_code": "us",
    "company_email": "[email protected]",
    "company_name": "My Company",
    "language": "en",
    "sales_channel": {
      "type": "custom",
      "external_id": "ext-12345"
    }
  }'

A primary sales channel is created automatically with the store. The sales_channel object is optional — omit it to use the default.

API Reference

Stores
MethodEndpointDescription
GET/api/ecommerce/v1/storesGet stores (paginated via page)
POST/api/ecommerce/v1/storesCreate a store (also creates a primary sales channel)
Create Store Body
FieldTypeDescription
namestringStore name
country_codestringISO country code (e.g., us)
company_emailstringCompany contact email
company_namestringCompany name
languagestringDefault storefront language (e.g., en)
sales_channelobjectOptional. { "type": "custom", "external_id": "..." }

Best Practices

Store Setup
  • Set country_code and language to match your target market — they drive storefront defaults
  • Use a monitored company_email — it receives store-related notifications
  • Provide a sales_channel.external_id when integrating with an external system so you can reconcile records later
Listing
  • Paginate with page when an account has many stores rather than assuming a single page

Troubleshooting

401 Unauthorized
  • Verify your API token is valid and not expired
  • Check the Authorization: Bearer <token> header format
422 Unprocessable Content
  • Invalid country_code (use a valid ISO code like us) or malformed company_email
  • Missing or malformed sales_channel object when one is provided
Store Not Appearing After Creation
  • Re-list stores — propagation may take a moment
  • Confirm the create request returned a success status and a store ID

References

Comments

Markdown supported