Module nimates

A PostMates client written in Nim

Types

PostMates* = ref object
  cid: string
  key: string
  quote: JsonNode
  config: Config
  client: HttpClient

Procs

proc newPostMates*(): PostMates

Methods

method repr*(self: PostMates): string
Currently only outputs the base url of the PostMates API
method estimate*(self: PostMates; pickup, dropoff: string): JsonNode
Returns an estimate (quote) for a potential delivery as json. Quotes can only be used once and are only valid for a limited duration
method deliver*(self: PostMates; manifest, pickup_name, dropoff_name,
                              pickup_phone_number, dropoff_phone_number,
                              pickup_business_name = "";
               dropoff_business_name = ""; pickup_notes = ""; dropoff_notes = "";
               requires_id = "false"): JsonNode
Creates a delivery for the items specified in the manifest. The items will be picked up from pickup_name and delivered to dropoff_name. If contact is required, either dropoff_phone_number or pickup_phone_number will be used. Any additional information can be specified via pickup_notes or dropoff_notes. The quote_id, pickup_address, and dropoff_address from the previously requested quote. If a quote is not made before a delivery is requested, an error will be raised.
method cancel*(self: PostMates; delivery_id: string): JsonNode
Cancel a delivery by its ID
method tip*(self: PostMates; delivery_id: string): JsonNode
Tip a delivery by its ID
method zones*(self: PostMates): JsonNode
Get a GEOJson list of available zones
method deliveries*(self: PostMates): JsonNode
Get a list of all deliveries ever made
method delivery*(self: PostMates; delivery_id: string): JsonNode
Get a delivery by its ID