Saloodo! API for Carrier (1.0.0)

Download OpenAPI specification:Download

Introduction

Saloodo! offers to companies instant access to trusted road freight providers for on-demand shipments, with the freedom of choice of a marketplace and the security and convenience of a digital freight forwarder. We simplify your daily business by providing a single and convenient interface for tracking, documentation, and payment – giving you end-to-end control to your shipment processes within a single platform.

With saloodo! API documentation, customers are able to retrieve and push data to saloodo! platform. Any application can request data from saloodo!, if you require assistance or more information about how to connect please write an email to support@saloodo.com

I am a Carrier

I am a Shipper

Authentication

This is a short-lived (JWT Bearer-Token) authentication token which should be provided in request headers and should be refreshed.

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Elm-Api-Key

This is a long-lived api key that should be provided in request headers.

Security Scheme Type API Key
Header parameter name: Elm-Api-Key

Shipments

A shipment request, which is done by the shipper, is the non-binding collection of information, in particular, for the purpose of submitting an offer, which is done by the carrier. The shipment request includes all necessary information about the cargo and its conditions such as:

  • number and type of cargo items
  • dimensions and weight
  • special conditions like hazardous or stackable
  • pick-up and drop-off locations
  • pick-up and drop-off dates and times

Get a list of shipments

Get the list of the open shipment requests posted by Saloodo! shippers. According to the customer needs, filters can be applied to obtain only the suitable shipment requests. Location predicate example:

/shipments?type=single&filter=active-offers&shipmentFilter[shipmentFilterPredicates][0][predicateType]=location&shipmentFilter[shipmentFilterPredicates][0][countryCode]=DE&shipmentFilter[shipmentFilterPredicates][0][locationKind]=pickup&&shipmentFilter[shipmentFilterPredicates][0][postalCodes][0][zipCode]=50&shipmentFilter[shipmentFilterPredicates][0][postalCodes][1][zipCode]=69
Content predicate example:
/shipments?type=single&filter=active-offers&shipmentFilter[shipmentFilterPredicates][0][predicateType]=content&shipmentFilter[shipmentFilterPredicates][0][minWeight]=0&shipmentFilter[shipmentFilterPredicates][0][maxWeight]=5000&shipmentFilter[shipmentFilterPredicates][0][isHazardous]=0
Combined example:
/shipments?type=bundle&filter=active-offers&shipmentFilter[shipmentFilterPredicates][0][predicateType]=location&shipmentFilter[shipmentFilterPredicates][0][countryCode]=DE&shipmentFilter[shipmentFilterPredicates][0][locationKind]=pickup&&shipmentFilter[shipmentFilterPredicates][0][postalCodes][0][zipCode]=10&shipmentFilter[shipmentFilterPredicates][1][predicateType]=location&shipmentFilter[shipmentFilterPredicates][1][locationKind]=dropoff&&shipmentFilter[shipmentFilterPredicates][1][countryCode]=CZ&shipmentFilter[shipmentFilterPredicates][1][postalCodes][0][zipCode]=20&shipmentFilter[shipmentFilterPredicates][2][predicateType]=content&shipmentFilter[shipmentFilterPredicates][2][minWeight]=0&shipmentFilter[shipmentFilterPredicates][2][maxWeight]=15000&shipmentFilter[shipmentFilterPredicates][2][minLoadingMeters]=5.4&shipmentFilter[shipmentFilterPredicates][2][maxLoadingMeters]=16

query Parameters
type
required
string
Enum: "single" "bundle"

Whether single or bundle shipments should be listed

filter
required
string
Enum: "active-offers" "open-offers" "accepted-offers" "new-deals" "accepted-offers-archived" "in-clarification" "incomplete-archived" "pe-check" "shipment-with-deals" "shipment-without-deals"

Filter Options:

  • active-offers: returns all the shipments with active offers.
  • open-offers: returns all the shipments don't have active offers by carrier.
  • accepted-offers: returns all the shipments with deals where pod not yet confirmed or not in clarification.
  • new-deals: returns all the shipments with deals( deals created today) where pod not yet confirmed or not in clarification.
  • accepted-offers-archived: returns all the shipments(ARCHIVED) with deals and pod confirmed or not in clarification.
  • in-clarification: returns all the shipments with deals and in clarification.
  • incomplete-archived: returns all the shipments(ARCHIVED) and its clarification status is complete-cancellation/dead-frieght.
  • pe-check: returns all the shipments with deals where payment was done and pallet exchange check true.
  • shipment-with-deals: returns all the shipments with deals( deal got updated in last month) where pod not yet confirmed.
  • shipment-without-deals: returns all the shipments with both active offers and open for new offers.
page
integer
Example: page=1

The page number

pageSize
integer
Example: pageSize=20

How many items per page

orderBy
string
Example: orderBy=untilDate

The sort column. Allowed columns: id, untilDate, elmId, updatedAt, totalWeight, loadingMeters, pickup.fromDate, pickup.postalCode, pickup.countryCode, dropoff.fromDate, dropoff.postalCode, dropoff.countryCode

order
string
Enum: "ASC" "DESC"

The sort order

object (Shipment Filter)

Shipment Filter

Responses

Response samples

Content type
application/json
{
  • "list":
    [
    ],
  • "countOpen": 1,
  • "countActive": 0,
  • "countDeals": 0,
  • "countNewDeals": 0,
  • "countClarification": 0,
  • "countIncompleteArchived": 0,
  • "countArchived": 0,
  • "countPeCheck": 0,
  • "countOfferBots": 0,
  • "countShipmentsWithDeals": 0,
  • "countShipmentsWithoutDeals": 0,
  • "totalCount": 1
}

Offers

An offer, which is submitted by the carrier, is the submission of a binding price and a description of the associated conditions relating to a particular shipment request, which is done by the shipper.

Make an Offer

Carriers can use this endpoint to make an offer on one of the shipment requests published by saloodo! shippers. Saloodo! carrier can provide one offer per shipment request with specific validity time. If you want to post two or more offers per shipment request please contact support@saloodo.com

Request Body schema: application/json

Make Offer

type
required
string
Enum: "single" "bundle"

Offer Type

shipmentElmId
required
string

Saloodo! shipment identifier

shipmentRequestId
integer

Saloodo! shipment request identifier

offerSource
string
Enum: "web" "whatsapp_notification"

Offer Source

externalOfferId
string

External carrier offer identifier

price
required
number <integer>

Price in the smallest monetary unit in specified currency, e.g. for EUR currency in cents

currency
required
string

3 letter currency code as defined in ISO 4217. Default value is EUR

validUntil
required
string

Ending time for offer lifespan in localtime formatted according to RFC-3339 and expressed with timezone offset

truckTypes
required
Array of strings
Items Enum: "curtainsider" "standard_box_trailer" "mega_trailer" "tautliner" "combination_truck_curtain" "combination_truck_swap_body" "cooler_truck" "7,5_ton_truck" "12_ton_truck" "van_curtain" "se_trailer_truck" "link_truck" "se_trailer_link_truck" "trailer_link_truck"

Truck type

  • curtainsider: Full Curtainsider
  • standard_box_trailer: Standard Box Trailer
  • mega_trailer: Mega Trailer
  • tautliner: Tautliner
  • combination_truck_curtain: Combination Truck Curtain
  • combination_truck_swap_body: Combination Truck Swap Body
  • cooler_truck: Cooler Truck
  • 7,5_ton_truck: 7,5 ton Truck
  • 12_ton_truck: 12 ton Truck
  • van_curtain: Van Curtain
  • se_trailer_truck: SE Trailer
  • link_truck: Link Truck
  • se_trailer_link_truck: SE Trailer + Link Truck
  • trailer_link_truck: Trailer + Link Truck | For more truck details, please contact support@saloodo.com
truckBodyTypes
Array of strings
Items Enum: "tail_lift" "no_tail_lift"

Truck body type

  • tail_lift: Tail lift
  • no_tail_lift: No tail lift
pickupFrom
required
string

Starting time for pickup date

pickupUntil
required
string

Starting time for pickup until date

dropoffFrom
required
string

Starting time for dropoff date

dropoffUntil
required
string

Starting time for dropoff until date

additionalInformation
string

Additional Information regarding the offer

driverAdrAllowed
boolean

Capability of carrying hazardous cargo elements

additionalRequirementsFulfilled
Array of strings

Responses

Request samples

Content type
application/json
{
  • "type": "single",
  • "shipmentElmId": "YPR12YP",
  • "shipmentRequestId": 1000039,
  • "offerSource": "web",
  • "externalOfferId": "YPR12YP",
  • "price": 50000,
  • "currency": "EUR",
  • "validUntil": "2022-01-01T17:45:32+01:00",
  • "truckTypes":
    [
    ],
  • "truckBodyTypes":
    [
    ],
  • "pickupFrom": "2022-01-01 16:00:00",
  • "pickupUntil": "2022-01-01 16:00:00",
  • "dropoffFrom": "2022-01-01 16:00:00",
  • "dropoffUntil": "2022-01-01 16:00:00",
  • "additionalInformation": "string",
  • "driverAdrAllowed": true,
  • "additionalRequirementsFulfilled":
    [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "offerElmId": "YPR12YP"
}

Cancel Offer

By using the generated offerElmId after the offer is submitted, carriers can use this endpoint to cancel one of his open offers. Saloodo! carriers cannot cancel the offer when this is in the process of being booked or it is already booked by the shipper.

path Parameters
offerElmId
required
any

Offer identifier

Responses

Response samples