99minutos · AsyncAPI Specification

99Minutos Webhooks

Version

View Spec View on GitHub CompanyLogisticsShippingLast-Mile DeliveryEcommerceFulfillmentPackage TrackingLatin AmericaParcel DeliveryWebhooksAsyncAPIWebhooksEvents

AsyncAPI Specification

99minutos-webhooks.yml Raw ↑
generated: '2026-07-17'
method: searched
source: https://developers.99minutos.com/reference/post-api-v3-webhooks
spec_type: Webhooks
description: >-
  99minutos offers a real-time webhook notification system that pushes shipment
  status changes to a subscriber URL, presented as the efficient alternative to
  polling the tracking endpoints. Webhook subscriptions are managed through the
  /api/v3/webhooks endpoints (max 2 configurations).
management_endpoints:
  - method: POST
    path: /api/v3/webhooks
    summary: Submit a new webhook configuration (max 2).
  - method: GET
    path: /api/v3/webhooks
    summary: Get webhook configurations.
  - method: PATCH
    path: /api/v3/webhooks/{webhook_id}
    summary: Update headers and/or status_rules for a webhook.
  - method: DELETE
    path: /api/v3/webhooks/{webhook_id}
    summary: Delete a webhook configuration by id.
  - method: GET
    path: /api/v3/webhooks/evidences/{tracking_id}
    summary: Get delivery evidences by trackingId.
subscription_config:
  headers: Custom headers (e.g. Content-Type) sent with each notification.
  status_rules:
    status_version: integer status catalog version
    allowed_status_names: array of status names to notify on (e.g. ["delivered"])
payload:
  content_type: application/json
  fields:
    StatusName: Current status of the order (camelCase).
    TrackingId: Identifier generated by 99minutos.
    InternalKey: Identifier sent by the customer.
    Events: Ascending list of status transition events (StatusCode, StatusName, Data.comment, Data.evidence[], CreatedAt UTC).
status_catalog:
  - {code: '1001', name: DRAFT}
  - {code: '1002', name: CONFIRMED}
  - {code: '2002', name: ON_ROAD_TO_PICKUP}
  - {code: '2003', name: COLLECTED}
  - {code: '2101', name: UNSUCCESSFUL_PICKUP}
  - {code: '3001', name: STORED}
  - {code: '3002', name: ON_CONTAINER}
  - {code: '3003', name: CHARGED_TO_VEHICLE}
  - {code: '3004', name: ON_LINEHAUL}
  - {code: '4001', name: ON_ROAD_TO_DELIVERY}
  - {code: '4002', name: DELIVERED}
  - {code: '4101', name: UNSUCCESSFUL_DELIVERY}
  - {code: '5001', name: ON_ROAD_TO_RETURN}
  - {code: '5002', name: RETURNED}
  - {code: '5101', name: UNSUCCESSFUL_RETURN}
  - {code: '7101', name: IN_CORRECTION}
  - {code: '7102', name: CORRECTED}
  - {code: '8001', name: STOLEN}
  - {code: '8003', name: CANCELLED}
  - {code: '8004', name: DAMAGED}