Sendcloud · Arazzo Workflow

Sendcloud Register an External Parcel and Track It

Version 1.0.0

Register a parcel labelled outside Sendcloud for tracking, then retrieve its tracking record.

1 workflow 1 source API 1 provider
View Spec View on GitHub ShippingLogisticsEcommerceCarriersLabelsReturnsTrackingEuropeArazzoWorkflows

Provider

sendcloud

Workflows

register-external-parcel-track
Register an externally-labelled parcel for tracking and retrieve its tracking record.
Registers an external parcel for tracking with its tracking number, carrier, addresses, and shipping option, then retrieves the parcel tracking record for that tracking number.
2 steps inputs: announcedAt, carrierCode, fromAddress, shippingOptionCode, sourceId, toAddress, trackingNumber outputs: events, sourceId, trackingNumbers
1
registerParcel
sc-public-v3-shipping_intelligence_engine-post-register_parcel_for_tracking
Register the externally-labelled parcel for tracking, supplying its tracking number, carrier, addresses, and shipping option.
2
trackParcel
sc-public-v3-shipping_intelligence_engine-get-get_parcel_by_tracking_number
Retrieve the parcel tracking record by the registered tracking number to surface its current status and recent tracking events.

Source API Descriptions

Arazzo Workflow Specification

sendcloud-register-external-parcel-track-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Sendcloud Register an External Parcel and Track It
  summary: Register a parcel labelled outside Sendcloud for tracking, then retrieve its tracking record.
  description: >-
    Registers a parcel whose label was created outside of Sendcloud purely for
    tracking, supplying the tracking number, carrier, sender and recipient
    addresses, and shipping option, then queries the v3 Parcel Tracking API by
    that same tracking number to surface the parcel's status and recent events.
    Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: parcelTrackingApi
  url: ../openapi/sendcloud-v3-parcel-tracking-openapi.yml
  type: openapi
workflows:
- workflowId: register-external-parcel-track
  summary: Register an externally-labelled parcel for tracking and retrieve its tracking record.
  description: >-
    Registers an external parcel for tracking with its tracking number, carrier,
    addresses, and shipping option, then retrieves the parcel tracking record
    for that tracking number.
  inputs:
    type: object
    required:
    - announcedAt
    - fromAddress
    - toAddress
    - sourceId
    - trackingNumber
    - carrierCode
    - shippingOptionCode
    properties:
      announcedAt:
        type: string
        description: Timestamp the parcel was announced to the carrier (ISO 8601 date-time).
      fromAddress:
        type: object
        description: Sender address object (name, address_line_1, postal_code, city, country_code).
      toAddress:
        type: object
        description: Recipient address object (name, address_line_1, postal_code, city, country_code).
      sourceId:
        type: string
        description: External identifier linking this parcel to your own system.
      trackingNumber:
        type: string
        description: The carrier tracking number to register and then track.
      carrierCode:
        type: string
        description: Sendcloud carrier code for the tracking number (e.g. postnl).
      shippingOptionCode:
        type: string
        description: Shipping option code so the parcel appears in analytics (e.g. postnl:standard).
  steps:
  - stepId: registerParcel
    description: >-
      Register the externally-labelled parcel for tracking, supplying its
      tracking number, carrier, addresses, and shipping option.
    operationId: sc-public-v3-shipping_intelligence_engine-post-register_parcel_for_tracking
    requestBody:
      contentType: application/json
      payload:
        announced_at: $inputs.announcedAt
        from_address: $inputs.fromAddress
        to_address: $inputs.toAddress
        source_id: $inputs.sourceId
        ship_with:
          type: shipping_option_code
          properties:
            shipping_option_code: $inputs.shippingOptionCode
        shipment:
          shipping_option_code: $inputs.shippingOptionCode
        tracking_number:
          carrier_code: $inputs.carrierCode
          tracking_identifier: $inputs.trackingNumber
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      sourceId: $response.body#/source_id
  - stepId: trackParcel
    description: >-
      Retrieve the parcel tracking record by the registered tracking number to
      surface its current status and recent tracking events.
    operationId: sc-public-v3-shipping_intelligence_engine-get-get_parcel_by_tracking_number
    parameters:
    - name: tracking_number
      in: path
      value: $inputs.trackingNumber
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      events: $response.body#/events
      trackingNumbers: $response.body#/tracking_numbers
  outputs:
    sourceId: $steps.registerParcel.outputs.sourceId
    events: $steps.trackParcel.outputs.events
    trackingNumbers: $steps.trackParcel.outputs.trackingNumbers