naftiko: 1.0.0-alpha2 info: label: VTex Checkout API — Fulfillment description: 'VTex Checkout API — Fulfillment. 2 operations. Lead operation: VTex List pickup points by location. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Fulfillment created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: checkout-fulfillment baseUri: https://{accountName}.{environment}.com.br description: VTex Checkout API — Fulfillment business capability. Self-contained, no shared references. resources: - name: api-checkout-pub-pickup-points path: /api/checkout/pub/pickup-points operations: - name: listpickupppointsbylocation method: GET description: VTex List pickup points by location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: geoCoordinates in: query type: array description: Geocoordinates (first longitude, then latitude) around which to search for pickup points. If you use this type of search, do not pass postal and country codes. - name: postalCode in: query type: string description: Postal code around which to search for pickup points. If you use this type of search, make sure to pass a `countryCode` and do not pass `geoCoordinates`. - name: countryCode in: query type: string description: Three letter country code refering to the `postalCode` field. Pass the country code only if you are searching pickup points by postal code. - name: api-checkout-pub-postal-code-countryCode-postalCode path: /api/checkout/pub/postal-code/{countryCode}/{postalCode} operations: - name: getaddressbypostalcode method: GET description: VTex Get address by postal code outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: countryCode in: path type: string description: Three letter country code refering to the `postalCode` field. required: true - name: postalCode in: path type: string description: Postal code. required: true authentication: type: apikey key: X-VTEX-API-AppKey value: '{{env.VTEX_API_KEY}}' placement: header exposes: - type: rest namespace: checkout-fulfillment-rest port: 8080 description: REST adapter for VTex Checkout API — Fulfillment. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/checkout/pub/pickup-points name: api-checkout-pub-pickup-points description: REST surface for api-checkout-pub-pickup-points. operations: - method: GET name: listpickupppointsbylocation description: VTex List pickup points by location call: checkout-fulfillment.listpickupppointsbylocation with: geoCoordinates: rest.geoCoordinates postalCode: rest.postalCode countryCode: rest.countryCode outputParameters: - type: object mapping: $. - path: /v1/api/checkout/pub/postal-code/{countrycode}/{postalcode} name: api-checkout-pub-postal-code-countrycode-postalcode description: REST surface for api-checkout-pub-postal-code-countryCode-postalCode. operations: - method: GET name: getaddressbypostalcode description: VTex Get address by postal code call: checkout-fulfillment.getaddressbypostalcode with: countryCode: rest.countryCode postalCode: rest.postalCode outputParameters: - type: object mapping: $. - type: mcp namespace: checkout-fulfillment-mcp port: 9090 transport: http description: MCP adapter for VTex Checkout API — Fulfillment. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-list-pickup-points-location description: VTex List pickup points by location hints: readOnly: true destructive: false idempotent: true call: checkout-fulfillment.listpickupppointsbylocation with: geoCoordinates: tools.geoCoordinates postalCode: tools.postalCode countryCode: tools.countryCode outputParameters: - type: object mapping: $. - name: vtex-get-address-postal-code description: VTex Get address by postal code hints: readOnly: true destructive: false idempotent: true call: checkout-fulfillment.getaddressbypostalcode with: countryCode: tools.countryCode postalCode: tools.postalCode outputParameters: - type: object mapping: $.