voog_ecommerce_api_call
Execute write operations (POST, PUT, PATCH, DELETE) on Voog ecommerce v1 endpoints to manage orders, carts, discounts, shipping methods, and product imports. Use for bulk actions and configuration changes.
Instructions
Generic Ecommerce v1 API WRITE passthrough. Forward an HTTP request to https:///admin/api/ecommerce/v1. Same shape as voog_admin_api_call, different base URL. Supports ?include=... and ?language_code=... per Voog ecommerce conventions. Use for orders, carts, discounts, shipping_methods, gateways, cart_fields, cart_rules, delivery_provider_configs, templates, bulk product actions, products imports, etc.
For READS use voog_ecommerce_api_read — this tool no longer accepts method='GET' (removed in v1.5).
PUT gotchas (Voog ecommerce v1 quirks — typed tools handle these for you, passthrough does not):
On
PUT /products/{id}, asset references must use the{"assets": [{"id": N}, ...]}shape. Sending the POST-shapeasset_ids: [N, ...]on PUT silently drops all but the hero image. Preferproduct_set_imagesfor image attachment; it handles the shape internally. The array ORDER is also applied only partially by about half of single PUTs (200 either way) — readasset_idsback and repeat the PUT until it matches.On
PUT /products/{id}, thevariantsarray is destructive: Voog deletes every variant not present in the array — even variants with a stableid. Always includevariant_attributesalongsidevariants, or send the full existing variant list. Preferproduct_update; it requires explicitforce=trueto bypass this guard.On
PUTto endpoints that accept adatahash (e.g./pages/{id},/articles/{id},/site), thedatafield REPLACES the entire hash — unspecified keys are dropped. Voog supportsPATCH(merge semantics) on these routes; use method='PATCH' here, or prefer the per-key toolspage_set_data/article_set_data/site_set_datawhich route through PATCH automatically (typed wrappers handle this as of v1.4).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body for POST/PUT/PATCH. Voog uses different envelope conventions per endpoint — see docs/voog-mcp-endpoint-coverage.md. | |
| path | Yes | Endpoint path starting with '/', e.g. '/orders', '/products/42', '/settings'. | |
| site | Yes | Site name from voog_list_sites | |
| method | Yes | HTTP method | |
| params | No | Optional query parameters as a flat string-keyed object, e.g. {'include': 'translations', 'q.page.hidden.$eq': 'true'}. |