naftiko: 1.0.0-alpha2 info: label: Powered by Gopuff — Orders description: 'Powered by Gopuff Fulfillment API — Orders. 2 operations. Lead operation: Route order to Gopuff. Self-contained Naftiko capability for routing Shopify checkouts to the nearest Gopuff MFC and tracking their lifecycle.' tags: - Gopuff - Orders - Last Mile - Instant Delivery created: '2026-05-23' modified: '2026-05-23' binds: - namespace: env keys: GOPUFF_PARTNER_KEY: GOPUFF_PARTNER_KEY capability: consumes: - type: http namespace: fulfillment-orders baseUri: https://fulfillment-api-eus.partners.gopuff.com/shopify/v1 description: Powered by Gopuff order-routing resource. resources: - name: shops-orders path: /shops/orders operations: - name: createorder method: POST description: Route a completed Shopify checkout to the nearest Gopuff MFC outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Order payload (JSON). required: true - name: shops-orders-order_id path: /shops/orders/{order_id} operations: - name: getorder method: GET description: Get a Gopuff order by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: order_id in: path type: string description: Gopuff order identifier required: true authentication: type: apiKey in: header name: X-Gopuff-Partner-Key value: '{{env.GOPUFF_PARTNER_KEY}}' exposes: - type: rest namespace: fulfillment-orders-rest port: 8080 description: REST adapter for Powered by Gopuff orders. resources: - path: /v1/orders name: orders description: REST surface for order routing. operations: - method: POST name: createorder description: Route order to Gopuff call: fulfillment-orders.createorder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orders/{order-id} name: orders-order-id description: REST surface for a single Gopuff order. operations: - method: GET name: getorder description: Get a Gopuff order call: fulfillment-orders.getorder with: order_id: rest.params.order-id outputParameters: - type: object mapping: $. - type: mcp namespace: fulfillment-orders-mcp port: 9090 transport: http description: MCP adapter for Powered by Gopuff orders. tools: - name: route-order-to-gopuff description: Route a completed Shopify checkout to the nearest Gopuff MFC for picking, packing, and delivery. hints: readOnly: false destructive: false idempotent: false call: fulfillment-orders.createorder with: body: tools.body outputParameters: - type: object mapping: $. - name: get-gopuff-order description: Get the lifecycle status, tracking URL, and serving MFC for a Gopuff order. hints: readOnly: true destructive: false idempotent: true call: fulfillment-orders.getorder with: order_id: tools.order_id outputParameters: - type: object mapping: $.