Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

Create Shipment

URL: http[s]:<host>:<port>/openspecimen/rest/ng/shipments

Use this URL to create a shipment in the OpenSpecimen application. Use HTTP POST method to call this API by passing the below details in JSON format

Below are the attributes which need to be sent in the request body: 

ParameterDetails
nameName of the shipment.
type

Type of the shipment (Optional). Permissible values are {'SPECIMEN', 'CONTAINER'}

courierNameCourier name of which shipping sent (Optional).
trackingNumberCourier tracking number for a shipment (Optional).
trackingUrlCourier tracking URL (Optional).
sendingSiteSender site name.
receivingInstituteReceiving institute name (Optional).
receivingSiteReceiver site name.
notifyUsersCollection of users to be notified (Optional).
shippedDateDate of shipping (Optional).
senderCommentsSender comments (Optional).
statusStatus of shipment (Optional). Permissible values are {'Pending', 'Shipped'}
senderCommentsComments from the sender of the shipment (Optional).
shipmentSpmns

Collection of specimens to be shipped. When the shipment type is 'SPECIMEN'.

shipmentContainersCollection of shipments to be shipped. When the shipment type is 'CONTAINER'.

Example:

#1 Below is an example of creating a 'SPECIMEN' type shipment:

 Click here to expand...
URLhttp://<host>:<port>/openspecimen/rest/ng/shipments
MethodPOST
Content-Typeapplication/JSON
Request
{
  "status":"Shipped",
  "type":"SPECIMEN",
  "shipmentSpmns":[
    {
      "specimen":{
        "label":"TCP_TBS_4.D1.A8"
      }
    },
    {
      "specimen":{
        "label":"TCP_TBS_4.D1.A9"
      }
    },
    {
      "specimen":{
        "label":"TCP_TBS_4.D1.A10"
      }
    }
  ],
  "shipmentContainers":[],
  "sendingSite":"Pune Site",
  "shippedDate":"2020-06-08T10:15:28.613Z",
  "notifyUsers":[
    {
      "emailAddress":"dr.swapnilingle1@gmail.com"
    }
  ],
  "name":"Shipment to AR Site (#1001)",
  "courierName":"FedEx",
  "trackingNumber":"FedExTrkNum1001",
  "trackingUrl":"https://www.fedex.com/apps/fedextrack/?action=track&trackingnumber=FedExTrkNum1001&cntry_code=IND",
  "receivingInstitute":"USB",
  "receivingSite":"Applied Research",
  "senderComments":"Handle with care"
}
Response
{
  "id": 8,
  "name": "Shipment to AR Site (#1001)",
  "type": "SPECIMEN",
  "courierName": "FedEx",
  "trackingNumber": "FedExTrkNum1001",
  "trackingUrl": "https://www.fedex.com/apps/fedextrack/?action=track&trackingnumber=FedExTrkNum1001&cntry_code=IND",
  "sendingSite": "Pune Site",
  "receivingInstitute": "USB",
  "receivingSite": "Applied Research",
  "shippedDate": 1591611328613,
  "sender": {
    "id": 2,
    "type": "SUPER",
    "firstName": "System",
    "lastName": "Administrator",
    "loginName": "admin",
    "domain": "openspecimen",
    "emailAddress": "admin@localhost",
    "instituteName": "USB",
    "primarySite": "Site BO 1",
    "admin": true,
    "instituteAdmin": false,
    "manageForms": true,
    "cpCount": 0,
    "creationDate": null,
    "activityStatus": "Active"
  },
  "senderComments": "Handle with care",
  "receivedDate": null,
  "receiver": null,
  "receiverComments": null,
  "status": "Shipped",
  "activityStatus": "Active",
  "shipmentSpmns": [],
  "shipmentContainers": [],
  "notifyUsers": [
    {
      "id": 11,
      "type": "NONE",
      "firstName": "Daniella",
      "lastName": "Winchester",
      "loginName": "DaniellaW",
      "domain": "openspecimen",
      "emailAddress": "dr.swapnilingle1@gmail.com",
      "instituteName": "USB",
      "primarySite": "Applied Research",
      "admin": false,
      "instituteAdmin": false,
      "manageForms": false,
      "cpCount": 0,
      "creationDate": 1579631400000,
      "activityStatus": "Locked"
    }
  ],
  "specimensCount": null,
  "request": null,
  "shipmentSpecimen": null,
  "shipmentContainer": null,
  "sendMail": true,
  "mergeKey": "Shipment to AR Site (#1001)"
}

#2 Below is an example of creating a 'CONTAINER' type shipment:

 Click here to expand...
URLhttp://<host>:<port>/openspecimen/rest/ng/shipments
MethodPOST
Content-Typeapplication/JSON
Request
{
  "status":"Shipped",
  "type":"CONTAINER",
  "shipmentSpmns":[],
  "shipmentContainers":[
    {
      "container":{
        "name":"Pune Site (Virtual).B1"
      }
    },
    {
      "container":{
        "name":"Pune Site (Virtual).B2"
      }
    }
  ],
  "shippedDate":"2020-06-08T10:47:04.155Z",
  "notifyUsers":[
    {
      "emailAddress":"admin@localhost"
    }
  ],
  "name":"Container Shipment #2",
  "courierName":"FedEx",
  "trackingNumber":"FedExNum2002",
  "trackingUrl":"https://www.fedex.com/apps/fedextrack/?action=track&trackingnumber=FedExNum2002&cntry_code=IND",
  "sendingSite":"Pune Site",
  "receivingInstitute":"USB",
  "receivingSite":"Applied Research",
  "senderComments":"Containers sent on 08-06-2020"
}
Response
{
  "id": 13,
  "name": "Container Shipment #2",
  "type": "CONTAINER",
  "courierName": "FedEx",
  "trackingNumber": "FedExNum2002",
  "trackingUrl": "https://www.fedex.com/apps/fedextrack/?action=track&trackingnumber=FedExNum2002&cntry_code=IND",
  "sendingSite": "Pune Site",
  "receivingInstitute": "USB",
  "receivingSite": "Applied Research",
  "shippedDate": 1591613224155,
  "sender": {
    "id": 2,
    "type": "SUPER",
    "firstName": "System",
    "lastName": "Administrator",
    "loginName": "admin",
    "domain": "openspecimen",
    "emailAddress": "admin@localhost",
    "instituteName": "USB",
    "primarySite": "Site BO 1",
    "admin": true,
    "instituteAdmin": false,
    "manageForms": true,
    "cpCount": 0,
    "creationDate": null,
    "activityStatus": "Active"
  },
  "senderComments": "Containers sent on 08-06-2020",
  "receivedDate": null,
  "receiver": null,
  "receiverComments": null,
  "status": "Shipped",
  "activityStatus": "Active",
  "shipmentSpmns": [],
  "shipmentContainers": [],
  "notifyUsers": [
    {
      "id": 2,
      "type": "SUPER",
      "firstName": "System",
      "lastName": "Administrator",
      "loginName": "admin",
      "domain": "openspecimen",
      "emailAddress": "admin@localhost",
      "instituteName": "USB",
      "primarySite": "Site BO 1",
      "admin": true,
      "instituteAdmin": false,
      "manageForms": true,
      "cpCount": 0,
      "creationDate": null,
      "activityStatus": "Active"
    }
  ],
  "specimensCount": null,
  "request": null,
  "shipmentSpecimen": null,
  "shipmentContainer": null,
  "sendMail": true,
  "mergeKey": "Container Shipment #2"
}


Error Cases

code
Applies to
Status Message
200All resourcesThe shipment has been created successfully.
400All requestsInvalid parameters, e.g Invalid Users, Invalid Specimen-List id, Null or empty label, barcode.
401All requestsAuthorization failed, User doesn’t have Authority.
500All requestsInternal server error, Encountered server error while performing operations.
Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com