get_shipment
Retrieve shipment details from the ShipBob fulfillment API using a specific shipment ID to track order status and fulfillment information.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| shipmentId | Yes | The ID of the shipment to retrieve |
Implementation Reference
- src/tools/fulfillment-tools.js:39-54 (handler)The handler function that implements the core logic of the 'get_shipment' tool. It fetches the shipment data via the ShipBob API client and returns it as formatted JSON, handling errors appropriately.handler: async ({ shipmentId }) => { try { const shipment = await shipbobClient.getShipment(shipmentId); return { content: [{ type: "text", text: JSON.stringify(shipment, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving shipment: ${error.message}` }], isError: true }; } }
- src/tools/fulfillment-tools.js:36-38 (schema)The Zod input schema for the 'get_shipment' tool, defining the required shipmentId parameter.schema: { shipmentId: z.string().describe("The ID of the shipment to retrieve") },
- src/server.js:23-32 (registration)The registerTools function used to register all tools from arrays like fulfillmentTools, including 'get_shipment', by calling server.tool() for each.const registerTools = (toolsArray) => { toolsArray.forEach(tool => { server.tool( tool.name, tool.schema, tool.handler, { description: tool.description } ); }); };
- src/server.js:53-53 (registration)Specific call to register the fulfillmentTools array, which includes the 'get_shipment' tool.registerTools(fulfillmentTools);
- src/api-client.js:110-112 (helper)The ShipBobClient.getShipment method called by the tool handler to perform the actual API request for shipment details.async getShipment(id) { return this.request('GET', `/shipments/${id}`); }