| POST | /picup/createshipment |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.ClientServiceModel;
using BusinessLogic.Entities;
namespace BusinessLogic.Entities
{
public partial class LinkedWaypoint
{
public virtual int FromWaypointNumber { get; set; }
public virtual int ToWaypointNumber { get; set; }
public virtual double FromLatitude { get; set; }
public virtual double FromLongitude { get; set; }
public virtual double ToLatitude { get; set; }
public virtual double ToLongitude { get; set; }
}
}
namespace WebService.ClientServiceModel
{
public partial class Address
{
[DataMember(Name="address_line_1")]
public virtual string AddressLine1 { get; set; }
[DataMember(Name="address_line_2")]
public virtual string AddressLine2 { get; set; }
[DataMember(Name="address_line_3")]
public virtual string AddressLine3 { get; set; }
[DataMember(Name="address_line_4")]
public virtual string AddressLine4 { get; set; }
[DataMember(Name="city")]
public virtual string City { get; set; }
[DataMember(Name="formatted_address")]
public virtual string FormattedAddress { get; set; }
[DataMember(Name="latitude")]
public virtual double Latitude { get; set; }
[DataMember(Name="longitude")]
public virtual double Longitude { get; set; }
[DataMember(Name="postal_code")]
public virtual string PostalCode { get; set; }
[DataMember(Name="suburb")]
public virtual string Suburb { get; set; }
[DataMember(Name="unit")]
public virtual string Unit { get; set; }
[DataMember(Name="building")]
public virtual string Building { get; set; }
}
public partial class BucketDetails
{
[DataMember(Name="delivery_date")]
public virtual DateTimeOffset DeliveryDate { get; set; }
}
public partial class Contact
{
[DataMember(Name="customer_name")]
public virtual string CustomerName { get; set; }
[DataMember(Name="customer_phone")]
public virtual string CustomerPhone { get; set; }
[DataMember(Name="email_address")]
public virtual string EmailAddress { get; set; }
[DataMember(Name="special_instructions")]
public virtual string SpecialInstructions { get; set; }
}
public partial class CourierRequest
{
public CourierRequest()
{
Shipments = new Shipment[]{};
}
[DataMember(Name="bucket_details")]
public virtual BucketDetails BucketDetails { get; set; }
[DataMember(Name="shipments")]
public virtual Shipment[] Shipments { get; set; }
}
public partial class Parcel
{
[DataMember(Name="parcel_waybill")]
public virtual string ParcelWaybill { get; set; }
[DataMember(Name="parcel_reference")]
public virtual string ParcelReference { get; set; }
[DataMember(Name="tracking_number")]
public virtual string TrackingNumber { get; set; }
[DataMember(Name="length_mm")]
public virtual long LengthMm { get; set; }
[DataMember(Name="width_mm")]
public virtual long WidthMm { get; set; }
[DataMember(Name="height_mm")]
public virtual long HeightMm { get; set; }
[DataMember(Name="weight_kg")]
public virtual long WeightKg { get; set; }
}
public partial class PicUpCreateShipmentRequest
: IHasApiKey, ILogRequest
{
public virtual string ApiKey { get; set; }
[DataMember(Name="courier_request")]
public virtual CourierRequest CourierRequest { get; set; }
}
public partial class PicUpCreateShipmentResponse
{
public PicUpCreateShipmentResponse()
{
Waypoints = new List<WaypointQuoteInformation>{};
WaypointValidations = new List<WaypointValidationInformation>{};
}
[DataMember(Name="is_success")]
public virtual bool IsSuccess { get; set; }
[DataMember(Name="courier_reference")]
public virtual string CourierReference { get; set; }
[DataMember(Name="error")]
public virtual string Error { get; set; }
///<summary>
///List of order information for pricing etc between each waypoint
///</summary>
[ApiMember(Description="List of order information for pricing etc between each waypoint")]
public virtual List<WaypointQuoteInformation> Waypoints { get; set; }
///<summary>
///List with validation information for each waypoint
///</summary>
[ApiMember(Description="List with validation information for each waypoint")]
public virtual List<WaypointValidationInformation> WaypointValidations { get; set; }
///<summary>
///The 1Fetch Waybill reference for the shipment
///</summary>
[ApiMember(Description="The 1Fetch Waybill reference for the shipment")]
public virtual string Waybill { get; set; }
}
public partial class Receiver
{
public Receiver()
{
Parcels = new Parcel[]{};
}
[DataMember(Name="parcels")]
public virtual Parcel[] Parcels { get; set; }
[DataMember(Name="address")]
public virtual Address Address { get; set; }
[DataMember(Name="contact")]
public virtual Contact Contact { get; set; }
}
public partial class Sender
{
[DataMember(Name="address")]
public virtual Address Address { get; set; }
[DataMember(Name="contact")]
public virtual Contact Contact { get; set; }
}
public partial class Shipment
{
[DataMember(Name="waybill_number")]
public virtual string WaybillNumber { get; set; }
[DataMember(Name="business_reference")]
public virtual string BusinessReference { get; set; }
[DataMember(Name="service_type")]
public virtual string ServiceType { get; set; }
[DataMember(Name="sender")]
public virtual Sender Sender { get; set; }
[DataMember(Name="receiver")]
public virtual Receiver Receiver { get; set; }
}
public partial class WaypointQuoteInformation
: LinkedWaypoint
{
public WaypointQuoteInformation()
{
ErrorDetails = new List<string>{};
}
///<summary>
///Distance between waypoints as a number
///</summary>
[ApiMember(Description="Distance between waypoints as a number")]
public virtual double Distance { get; set; }
///<summary>
///String formatted distance
///</summary>
[ApiMember(Description="String formatted distance")]
public virtual string DistanceValue { get; set; }
public virtual bool WaypointValid { get; set; }
public virtual string Message { get; set; }
public virtual List<string> ErrorDetails { get; set; }
///<summary>
///Caculated price between waypoints excluding vat
///</summary>
[ApiMember(Description="Caculated price between waypoints excluding vat")]
public virtual decimal Price { get; set; }
///<summary>
///Price excluding vat formatted as a string rand value
///</summary>
[ApiMember(Description="Price excluding vat formatted as a string rand value")]
public virtual string PriceValue { get; set; }
///<summary>
///The price between waypoints including vat
///</summary>
[ApiMember(Description="The price between waypoints including vat")]
public virtual decimal PriceWithVAT { get; set; }
///<summary>
///The price including vat formatted as a rand value string
///</summary>
[ApiMember(Description="The price including vat formatted as a rand value string")]
public virtual string PriceValueWithVAT { get; set; }
}
public partial class WaypointValidationInformation
{
public WaypointValidationInformation()
{
ErrorMessages = new List<string>{};
}
public virtual int WaypointNumber { get; set; }
public virtual bool IsValid { get; set; }
public virtual List<string> ErrorMessages { get; set; }
}
}
C# PicUpCreateShipmentRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /picup/createshipment HTTP/1.1
Host: 1fetch.api.client.prod.86degrees.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"ApiKey":"String","courier_request":{"bucket_details":{"delivery_date":"0001-01-01T00:00:00.0000000+00:00"},"shipments":[{"waybill_number":"String","business_reference":"String","service_type":"String","sender":{"address":{"address_line_1":"String","address_line_2":"String","address_line_3":"String","address_line_4":"String","city":"String","formatted_address":"String","latitude":0,"longitude":0,"postal_code":"String","suburb":"String","unit":"String","building":"String"},"contact":{"customer_name":"String","customer_phone":"String","email_address":"String","special_instructions":"String"}},"receiver":{"parcels":[{"parcel_waybill":"String","parcel_reference":"String","tracking_number":"String","length_mm":0,"width_mm":0,"height_mm":0,"weight_kg":0}],"address":{"address_line_1":"String","address_line_2":"String","address_line_3":"String","address_line_4":"String","city":"String","formatted_address":"String","latitude":0,"longitude":0,"postal_code":"String","suburb":"String","unit":"String","building":"String"},"contact":{"customer_name":"String","customer_phone":"String","email_address":"String","special_instructions":"String"}}}]}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"is_success":false,"courier_reference":"String","error":"String","Waypoints":[{}],"WaypointValidations":[{}],"Waybill":"String"}