What problem does it solve?
It prevents brittle VTEX IO backend integrations by standardizing how services and external APIs are called through @vtex/api and @vtex/clients, so authentication, retries, timeouts, and observability work consistently.
Core Features & Use Cases
- Client selection & boundaries: Choose the narrowest appropriate client type (native @vtex/clients, JanusClient for Core Commerce via Janus, or ExternalClient for non-VTEX external APIs).
- Correct registration & consumption: Register clients in a
Clients class extending IOClients and consume them through ctx.clients (not direct instantiation in handlers).
- InstanceOptions & reliability tuning: Configure shared and per-client options such as retries, request timeouts, headers, caching, and request metrics at the client layer.
- Error normalization near the boundary: Normalize and surface meaningful failures close to the client boundary without hiding critical HTTP/transport details.
Quick Start
Use this skill to design or review your VTEX IO backend so all service-to-service HTTP calls go through registered @vtex clients and are accessed via ctx.clients rather than raw HTTP libraries or ad hoc client construction.