VTEX · Capability
VTex Checkout API — Order Placement
VTex Checkout API — Order Placement. 3 operations. Lead operation: VTex Process order. Self-contained Naftiko capability covering one Vtex business surface.
What You Can Do
POST
Processorder
— VTex Process order
/v1/api/checkout/pub/gatewaycallback/{ordergroup}
POST
Placeorderfromexistingorderform
— VTex Place order from an existing cart
/v1/api/checkout/pub/orderform/{orderformid}/transaction
PUT
Placeorder
— VTex Place order
/v1/api/checkout/pub/orders
MCP Tools
vtex-process-order
VTex Process order
vtex-place-order-existing-cart
VTex Place order from an existing cart
vtex-place-order
VTex Place order
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: VTex Checkout API — Order Placement
description: 'VTex Checkout API — Order Placement. 3 operations. Lead operation: VTex Process order. Self-contained Naftiko
capability covering one Vtex business surface.'
tags:
- Vtex
- Order Placement
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
VTEX_API_KEY: VTEX_API_KEY
capability:
consumes:
- type: http
namespace: checkout-order-placement
baseUri: https://{accountName}.{environment}.com.br
description: VTex Checkout API — Order Placement business capability. Self-contained, no shared references.
resources:
- name: api-checkout-pub-gatewayCallback-orderGroup
path: /api/checkout/pub/gatewayCallback/{orderGroup}
operations:
- name: processorder
method: POST
description: VTex Process order
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orderGroup
in: path
type: string
description: Order group. It is the part of the `orderId` that comes before the `-`. For example, the `orderGroup`
of the order `123456789-01` is `123456789`.
required: true
- name: Cookie
in: header
type: string
description: VTEX Chekout cookie associated with a specific order. Use the `Vtex_CHKO_Auth` and the `CheckoutDataAccess`
cookies returned by the [Place order](https://develo
required: true
- name: api-checkout-pub-orderForm-orderFormId-transaction
path: /api/checkout/pub/orderForm/{orderFormId}/transaction
operations:
- name: placeorderfromexistingorderform
method: POST
description: VTex Place order from an existing cart
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orderFormId
in: path
type: string
description: ID of the `orderForm` corresponding to the cart from which to place the order.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-checkout-pub-orders
path: /api/checkout/pub/orders
operations:
- name: placeorder
method: PUT
description: VTex Place order
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sc
in: query
type: integer
description: Trade Policy (Sales Channel) identification. This query can be used to create an order for a specific
sales channel.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: apikey
key: X-VTEX-API-AppKey
value: '{{env.VTEX_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: checkout-order-placement-rest
port: 8080
description: REST adapter for VTex Checkout API — Order Placement. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/api/checkout/pub/gatewaycallback/{ordergroup}
name: api-checkout-pub-gatewaycallback-ordergroup
description: REST surface for api-checkout-pub-gatewayCallback-orderGroup.
operations:
- method: POST
name: processorder
description: VTex Process order
call: checkout-order-placement.processorder
with:
orderGroup: rest.orderGroup
Cookie: rest.Cookie
outputParameters:
- type: object
mapping: $.
- path: /v1/api/checkout/pub/orderform/{orderformid}/transaction
name: api-checkout-pub-orderform-orderformid-transaction
description: REST surface for api-checkout-pub-orderForm-orderFormId-transaction.
operations:
- method: POST
name: placeorderfromexistingorderform
description: VTex Place order from an existing cart
call: checkout-order-placement.placeorderfromexistingorderform
with:
orderFormId: rest.orderFormId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/checkout/pub/orders
name: api-checkout-pub-orders
description: REST surface for api-checkout-pub-orders.
operations:
- method: PUT
name: placeorder
description: VTex Place order
call: checkout-order-placement.placeorder
with:
sc: rest.sc
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: checkout-order-placement-mcp
port: 9090
transport: http
description: MCP adapter for VTex Checkout API — Order Placement. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: vtex-process-order
description: VTex Process order
hints:
readOnly: false
destructive: false
idempotent: false
call: checkout-order-placement.processorder
with:
orderGroup: tools.orderGroup
Cookie: tools.Cookie
outputParameters:
- type: object
mapping: $.
- name: vtex-place-order-existing-cart
description: VTex Place order from an existing cart
hints:
readOnly: false
destructive: false
idempotent: false
call: checkout-order-placement.placeorderfromexistingorderform
with:
orderFormId: tools.orderFormId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: vtex-place-order
description: VTex Place order
hints:
readOnly: false
destructive: false
idempotent: true
call: checkout-order-placement.placeorder
with:
sc: tools.sc
body: tools.body
outputParameters:
- type: object
mapping: $.