Ship24 Tracking
Qué hace este MCP
Tracks parcels across many carriers, returning shipment status, delivery events, statistics, persistent trackers, and webhook histories.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackers'], 'properties': {'trackers': {'type': 'array', 'items': {'type': 'object', 'required': ['trackingNumber'], 'properties': {'settings': {'type': 'object', 'properties': {'restrictTrackingToCourierCode': {'type': 'boolean', 'description': 'When true, tracking is restricted to the specified courierCode(s) only.'}}}, 'courierCode': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data."}, 'courierName': {'type': 'string'}, 'orderNumber': {'type': 'string'}, 'trackingUrl': {'type': 'string', 'format': 'uri'}, 'shippingDate': {'type': 'string'}, 'trackingNumber': {'type': 'string', 'minLength': 1}, 'clientTrackerId': {'type': 'string'}, 'originCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'shipmentReference': {'type': 'string'}, 'destinationPostCode': {'type': 'string'}, 'destinationCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2}}}, 'maxItems': 100, 'minItems': 1, 'description': 'Array of tracker objects to create (minimum 1, maximum 100).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'errors': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 error code.'}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Error message.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Why this item failed. Null unless itemStatus is error.'}, 'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The created or existing tracker.'}, 'inputData': {'description': 'The submitted tracker payload, echoed back.'}, 'itemStatus': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'created | existing | error.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Per-item outcome, in submission order. Null when status is error.'}, 'error': {'anyOf': [{'type': 'object', 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 error code.'}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Error message.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Request-level error. Null unless the whole request failed.'}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'success (all created or already existing) | partial (successes and errors) | error (all failed, or a request-level error).'}, 'summary': {'anyOf': [{'type': 'object', 'properties': {'totalErrors': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of failed creations.'}, 'totalInputs': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Total number of trackers submitted.'}, 'totalCreated': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of trackers created.'}, 'totalExisting': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of inputs that matched an existing tracker.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Per-request counts. Null when status is error.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackingNumber'], 'properties': {'settings': {'type': 'object', 'properties': {'restrictTrackingToCourierCode': {'type': 'boolean', 'description': 'When true, tracking is restricted to the specified courierCode(s) only.'}}}, 'courierCode': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data."}, 'courierName': {'type': 'string', 'description': 'Courier name (informational).'}, 'orderNumber': {'type': 'string', 'description': 'Associated order number.'}, 'trackingUrl': {'type': 'string', 'format': 'uri', 'description': 'Courier tracking URL.'}, 'shippingDate': {'type': 'string', 'description': 'Date the package was shipped (YYYY-MM-DD or ISO 8601).'}, 'trackingNumber': {'type': 'string', 'minLength': 1, 'description': 'Tracking number to monitor.'}, 'clientTrackerId': {'type': 'string', 'description': 'Your unique identifier for this tracker, for lookup via searchBy=clientTrackerId.'}, 'originCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Origin country code (ISO alpha-2, e.g. US).'}, 'shipmentReference': {'type': 'string', 'description': 'Internal reference for the shipment.'}, 'destinationPostCode': {'type': 'string', 'description': 'Destination postal/ZIP code.'}, 'destinationCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Destination country code (ISO alpha-2).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tracker'], 'properties': {'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackerId'], 'properties': {'searchBy': {'enum': ['trackerId', 'clientTrackerId'], 'type': 'string', 'description': 'How to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.'}, 'trackerId': {'type': 'string', 'minLength': 1, 'description': 'Ship24 trackerId, or clientTrackerId when searchBy="clientTrackerId".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['webhooks'], 'properties': {'metadata': {'anyOf': [{'type': 'object', 'properties': {'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier.'}, 'webhookUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The webhook URL the pushes were delivered to.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number of the shipment.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, if set.'}, 'lastFailedPushAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Most recent failed delivery attempt.'}, 'lastSuccessfulPushAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Most recent successful delivery.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Tracker and webhook endpoint context.'}, 'webhooks': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'success or failed.'}, 'requestBody': {'description': 'The payload Ship24 sent.'}, 'responseBody': {'description': 'The body returned by the webhook endpoint.'}, 'pushTimestamp': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the delivery was attempted.'}, 'responseHeaders': {'description': 'The headers returned by the webhook endpoint.'}, 'responseStatusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'HTTP status returned by the webhook endpoint.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Sent and failed pushes, newest first. Pending webhooks are excluded.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['couriers'], 'properties': {'couriers': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'isPost': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'True when the courier is a national postal operator.'}, 'website': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The courier public website.'}, 'countryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Main country the courier operates in (ISO alpha-2).'}, 'courierCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Value to pass as courierCode when creating or updating a tracker.'}, 'courierName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Human-readable courier name.'}, 'isDeprecated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'True when the courier code is deprecated.'}, 'requiredFields': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'description': 'Extra tracker fields this courier needs for optimal results: destinationPostCode, destinationCountryCode, courierAccount.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'All couriers supported by Ship24.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackerId'], 'properties': {'searchBy': {'enum': ['trackerId', 'clientTrackerId'], 'type': 'string', 'description': 'How to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.'}, 'trackerId': {'type': 'string', 'minLength': 1, 'description': 'Ship24 trackerId, or clientTrackerId when searchBy="clientTrackerId".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tracker'], 'properties': {'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackerId'], 'properties': {'searchBy': {'enum': ['trackerId', 'clientTrackerId'], 'type': 'string', 'description': 'How to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.'}, 'trackerId': {'type': 'string', 'minLength': 1, 'description': 'Ship24 trackerId, or clientTrackerId when searchBy="clientTrackerId".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackings'], 'properties': {'trackings': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'events': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'order': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Tie-breaker when several events share the same occurrenceDatetime; lower comes first.'}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw status text as reported by the courier.'}, 'eventId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of this event in Ship24.'}, 'datetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — use occurrenceDatetime.'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw location text as reported by the courier.'}, 'hasNoTime': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'DEPRECATED — true when the courier reported a date with no time.'}, 'utcOffset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — the offset is already carried by occurrenceDatetime.'}, 'sourceCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Internal code of the source this event came from. These codes may change at any time.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the event.'}, 'courierCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Courier code linked to this event; refers to the get_couriers list.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the event.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The original tracking number used to create the tracker.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.'}, 'occurrenceDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the event occurred.'}, 'eventTrackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The tracking number the event was actually found on.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Tracking events, most recent first.'}, 'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker this result comes from. Absent for search_tracking, which creates no tracker.'}, 'shipment': {'anyOf': [{'type': 'object', 'properties': {'delivery': {'anyOf': [{'type': 'object', 'properties': {'service': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Name of the logistics service or product used.'}, 'signedBy': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — always null.'}, 'estimatedDeliveryDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Estimated delivery date, when the courier provides one.'}, 'aiPredictiveDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Ship24 AI-predicted window. Omitted entirely unless enabled on the account.'}, 'courierEstimatedDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Window promised by the courier.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Delivery dates and service level.'}, 'recipient': {'anyOf': [{'type': 'object', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient city.'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient name.'}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient address.'}, 'postCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient postal code.'}, 'subdivision': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient state or province.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Recipient details. All fields are nulled unless the account may receive personal data.'}, 'shipmentId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of the parcel in Ship24.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the shipment.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the shipment.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Current milestone; same value set as event.statusMilestone.'}, 'trackingNumbers': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'tn': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A tracking number linked to the shipment.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'All tracking numbers linked to the shipment.'}, 'originCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected origin country (ISO alpha-2).'}, 'destinationCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected destination country (ISO alpha-2).'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'General shipment information and current status.'}, 'statistics': {'anyOf': [{'type': 'object', 'properties': {'timestamps': {'anyOf': [{'type': 'object', 'properties': {'deliveredDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the delivered milestone.'}, 'exceptionDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the exception milestone.'}, 'inTransitDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the in_transit milestone.'}, 'infoReceivedDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the info_received milestone.'}, 'failedAttemptDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the failed_attempt milestone.'}, 'outForDeliveryDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the out_for_delivery milestone.'}, 'availableForPickupDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the available_for_pickup milestone.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'When each milestone was first reached; null for milestones never reached.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Milestone timestamps for the shipment lifecycle.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'One entry per matched tracker or shipment.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (1-indexed).', 'exclusiveMinimum': 0}, 'sort': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': -1}], 'description': 'Sort order by createdAt. 1 = ascending (oldest first, default), -1 = descending (newest first).'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Results per page (max 500).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackers'], 'properties': {'trackers': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Trackers on the requested page.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackerId'], 'properties': {'searchBy': {'enum': ['trackerId', 'clientTrackerId'], 'type': 'string', 'description': 'How to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.'}, 'trackerId': {'type': 'string', 'minLength': 1, 'description': 'Ship24 trackerId, or clientTrackerId when searchBy="clientTrackerId".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['summary'], 'properties': {'summary': {'anyOf': [{'type': 'object', 'properties': {'totalResent': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of webhook events queued for resending.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Outcome of the webhook replay.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackingNumber'], 'properties': {'courierCode': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data."}, 'shippingDate': {'type': 'string', 'description': 'Date the package was shipped (YYYY-MM-DD or ISO 8601).'}, 'trackingNumber': {'type': 'string', 'pattern': '^[a-zA-Z0-9\\-_/.]*$', 'maxLength': 50, 'minLength': 5, 'description': 'Tracking number to look up. 5-50 alphanumeric characters, hyphens, underscores, dots, or slashes.'}, 'originCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Origin country code (ISO alpha-2).'}, 'destinationPostCode': {'type': 'string', 'description': 'Destination postal/ZIP code.'}, 'destinationCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Destination country code (ISO alpha-2).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackings'], 'properties': {'trackings': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'events': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'order': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Tie-breaker when several events share the same occurrenceDatetime; lower comes first.'}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw status text as reported by the courier.'}, 'eventId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of this event in Ship24.'}, 'datetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — use occurrenceDatetime.'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw location text as reported by the courier.'}, 'hasNoTime': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'DEPRECATED — true when the courier reported a date with no time.'}, 'utcOffset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — the offset is already carried by occurrenceDatetime.'}, 'sourceCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Internal code of the source this event came from. These codes may change at any time.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the event.'}, 'courierCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Courier code linked to this event; refers to the get_couriers list.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the event.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The original tracking number used to create the tracker.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.'}, 'occurrenceDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the event occurred.'}, 'eventTrackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The tracking number the event was actually found on.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Tracking events, most recent first.'}, 'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker this result comes from. Absent for search_tracking, which creates no tracker.'}, 'shipment': {'anyOf': [{'type': 'object', 'properties': {'delivery': {'anyOf': [{'type': 'object', 'properties': {'service': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Name of the logistics service or product used.'}, 'signedBy': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — always null.'}, 'estimatedDeliveryDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Estimated delivery date, when the courier provides one.'}, 'aiPredictiveDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Ship24 AI-predicted window. Omitted entirely unless enabled on the account.'}, 'courierEstimatedDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Window promised by the courier.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Delivery dates and service level.'}, 'recipient': {'anyOf': [{'type': 'object', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient city.'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient name.'}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient address.'}, 'postCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient postal code.'}, 'subdivision': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient state or province.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Recipient details. All fields are nulled unless the account may receive personal data.'}, 'shipmentId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of the parcel in Ship24.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the shipment.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the shipment.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Current milestone; same value set as event.statusMilestone.'}, 'trackingNumbers': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'tn': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A tracking number linked to the shipment.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'All tracking numbers linked to the shipment.'}, 'originCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected origin country (ISO alpha-2).'}, 'destinationCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected destination country (ISO alpha-2).'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'General shipment information and current status.'}, 'statistics': {'anyOf': [{'type': 'object', 'properties': {'timestamps': {'anyOf': [{'type': 'object', 'properties': {'deliveredDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the delivered milestone.'}, 'exceptionDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the exception milestone.'}, 'inTransitDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the in_transit milestone.'}, 'infoReceivedDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the info_received milestone.'}, 'failedAttemptDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the failed_attempt milestone.'}, 'outForDeliveryDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the out_for_delivery milestone.'}, 'availableForPickupDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the available_for_pickup milestone.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'When each milestone was first reached; null for milestones never reached.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Milestone timestamps for the shipment lifecycle.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'One entry per matched tracker or shipment.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackingNumber'], 'properties': {'trackingNumber': {'type': 'string', 'minLength': 1, 'description': 'The raw shipment tracking number to search for (e.g. 1Z999AA10123456784).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackings'], 'properties': {'trackings': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'events': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'order': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Tie-breaker when several events share the same occurrenceDatetime; lower comes first.'}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw status text as reported by the courier.'}, 'eventId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of this event in Ship24.'}, 'datetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — use occurrenceDatetime.'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw location text as reported by the courier.'}, 'hasNoTime': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'DEPRECATED — true when the courier reported a date with no time.'}, 'utcOffset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — the offset is already carried by occurrenceDatetime.'}, 'sourceCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Internal code of the source this event came from. These codes may change at any time.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the event.'}, 'courierCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Courier code linked to this event; refers to the get_couriers list.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the event.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The original tracking number used to create the tracker.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.'}, 'occurrenceDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the event occurred.'}, 'eventTrackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The tracking number the event was actually found on.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Tracking events, most recent first.'}, 'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker this result comes from. Absent for search_tracking, which creates no tracker.'}, 'shipment': {'anyOf': [{'type': 'object', 'properties': {'delivery': {'anyOf': [{'type': 'object', 'properties': {'service': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Name of the logistics service or product used.'}, 'signedBy': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — always null.'}, 'estimatedDeliveryDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Estimated delivery date, when the courier provides one.'}, 'aiPredictiveDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Ship24 AI-predicted window. Omitted entirely unless enabled on the account.'}, 'courierEstimatedDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Window promised by the courier.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Delivery dates and service level.'}, 'recipient': {'anyOf': [{'type': 'object', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient city.'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient name.'}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient address.'}, 'postCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient postal code.'}, 'subdivision': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient state or province.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Recipient details. All fields are nulled unless the account may receive personal data.'}, 'shipmentId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of the parcel in Ship24.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the shipment.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the shipment.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Current milestone; same value set as event.statusMilestone.'}, 'trackingNumbers': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'tn': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A tracking number linked to the shipment.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'All tracking numbers linked to the shipment.'}, 'originCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected origin country (ISO alpha-2).'}, 'destinationCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected destination country (ISO alpha-2).'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'General shipment information and current status.'}, 'statistics': {'anyOf': [{'type': 'object', 'properties': {'timestamps': {'anyOf': [{'type': 'object', 'properties': {'deliveredDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the delivered milestone.'}, 'exceptionDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the exception milestone.'}, 'inTransitDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the in_transit milestone.'}, 'infoReceivedDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the info_received milestone.'}, 'failedAttemptDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the failed_attempt milestone.'}, 'outForDeliveryDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the out_for_delivery milestone.'}, 'availableForPickupDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the available_for_pickup milestone.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'When each milestone was first reached; null for milestones never reached.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Milestone timestamps for the shipment lifecycle.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'One entry per matched tracker or shipment.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackingNumber'], 'properties': {'settings': {'type': 'object', 'properties': {'restrictTrackingToCourierCode': {'type': 'boolean', 'description': 'When true, tracking is restricted to the specified courierCode(s) only.'}}}, 'courierCode': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data."}, 'courierName': {'type': 'string'}, 'orderNumber': {'type': 'string'}, 'trackingUrl': {'type': 'string', 'format': 'uri'}, 'shippingDate': {'type': 'string'}, 'trackingNumber': {'type': 'string', 'minLength': 1}, 'clientTrackerId': {'type': 'string'}, 'originCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'shipmentReference': {'type': 'string'}, 'destinationPostCode': {'type': 'string'}, 'destinationCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackings'], 'properties': {'trackings': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'events': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'order': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Tie-breaker when several events share the same occurrenceDatetime; lower comes first.'}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw status text as reported by the courier.'}, 'eventId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of this event in Ship24.'}, 'datetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — use occurrenceDatetime.'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Raw location text as reported by the courier.'}, 'hasNoTime': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'DEPRECATED — true when the courier reported a date with no time.'}, 'utcOffset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — the offset is already carried by occurrenceDatetime.'}, 'sourceCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Internal code of the source this event came from. These codes may change at any time.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the event.'}, 'courierCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Courier code linked to this event; refers to the get_couriers list.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the event.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The original tracking number used to create the tracker.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.'}, 'occurrenceDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the event occurred.'}, 'eventTrackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The tracking number the event was actually found on.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'Tracking events, most recent first.'}, 'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker this result comes from. Absent for search_tracking, which creates no tracker.'}, 'shipment': {'anyOf': [{'type': 'object', 'properties': {'delivery': {'anyOf': [{'type': 'object', 'properties': {'service': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Name of the logistics service or product used.'}, 'signedBy': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'DEPRECATED — always null.'}, 'estimatedDeliveryDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Estimated delivery date, when the courier provides one.'}, 'aiPredictiveDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Ship24 AI-predicted window. Omitted entirely unless enabled on the account.'}, 'courierEstimatedDeliveryDate': {'anyOf': [{'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Latest date of the window.'}, 'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Earliest date of the window.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Window promised by the courier.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Delivery dates and service level.'}, 'recipient': {'anyOf': [{'type': 'object', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient city.'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient name.'}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient address.'}, 'postCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient postal code.'}, 'subdivision': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Recipient state or province.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Recipient details. All fields are nulled unless the account may receive personal data.'}, 'shipmentId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Unique identifier of the parcel in Ship24.'}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 normalised status code for the shipment.'}, 'statusCategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 status category for the shipment.'}, 'statusMilestone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Current milestone; same value set as event.statusMilestone.'}, 'trackingNumbers': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'tn': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A tracking number linked to the shipment.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'All tracking numbers linked to the shipment.'}, 'originCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected origin country (ISO alpha-2).'}, 'destinationCountryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Detected destination country (ISO alpha-2).'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'General shipment information and current status.'}, 'statistics': {'anyOf': [{'type': 'object', 'properties': {'timestamps': {'anyOf': [{'type': 'object', 'properties': {'deliveredDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the delivered milestone.'}, 'exceptionDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the exception milestone.'}, 'inTransitDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the in_transit milestone.'}, 'infoReceivedDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the info_received milestone.'}, 'failedAttemptDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the failed_attempt milestone.'}, 'outForDeliveryDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the out_for_delivery milestone.'}, 'availableForPickupDatetime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'First occurrence of the available_for_pickup milestone.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'When each milestone was first reached; null for milestones never reached.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Milestone timestamps for the shipment lifecycle.'}}, 'additionalProperties': {}}}, {'type': 'null'}], 'description': 'One entry per matched tracker or shipment.'}}, 'additionalProperties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trackerId'], 'properties': {'searchBy': {'enum': ['trackerId', 'clientTrackerId'], 'type': 'string', 'description': 'How to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.'}, 'settings': {'type': 'object', 'properties': {'restrictTrackingToCourierCode': {'type': 'boolean', 'description': 'When true, tracking is restricted to the specified courierCode(s) only.'}}}, 'trackerId': {'type': 'string', 'minLength': 1, 'description': 'The tracker to update (Ship24 trackerId or clientTrackerId).'}, 'courierCode': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data."}, 'isSubscribed': {'type': 'boolean', 'description': 'true to subscribe to webhooks, false to unsubscribe.'}, 'shippingDate': {'type': 'string', 'description': 'Ship date (YYYY-MM-DD or ISO 8601). Immutable once tracking data exists.'}, 'originCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Origin country code (ISO alpha-2). Immutable once tracking data exists.'}, 'destinationPostCode': {'type': 'string'}, 'destinationCountryCode': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Destination country code (ISO alpha-2). Immutable once tracking data exists.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tracker'], 'properties': {'tracker': {'anyOf': [{'type': 'object', 'properties': {'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When the tracker was created.'}, 'isTracked': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.'}, 'trackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Ship24 tracker identifier; pass this to get_tracking_results.'}, 'courierCode': {'anyOf': [{'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, {'type': 'null'}], 'description': 'Courier code(s) pinned on this tracker.'}, 'isSubscribed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means the tracker is archived and no longer used for tracking.'}, 'trackingNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Tracking number this tracker follows.'}, 'clientTrackerId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own tracker identifier, usable with searchBy=clientTrackerId.'}, 'shipmentReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Your own shipment reference, as supplied at creation.'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The tracker.'}}, 'additionalProperties': {}}
Cambios recientes en herramientas
Servidores MCP similares
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
zobrx
Provides read-only ecommerce operations and analytics for orders, inventory, marketplace performance, advertising, settlements, t…
SupplySlate
Supports component sourcing, fabrication requests, supplier RFQs, catalog imports, quotes, purchase planning, checkout handoffs, …
Obriym CRM
Manages CRM records, sales pipelines, activities, orders, products, inventory, and marketplace catalog operations.
velora
Provides Argentine commerce operations including catalog and inventory, customer and supplier management, cash register tracking,…
Shopify
Provides read access to Shopify Admin data for store operations through the Shopify REST API.
Woocommerce
Provides access to WooCommerce store data through the WooCommerce REST API.
Troostwijk
Searches European industrial and insolvency liquidation auctions and retrieves auction lot details.