Depot Life Cycle (3.0.0)

Download OpenAPI specification:Download

API Support (Herman Chan): technicalsupport@florens.com

Security & Authentication

To ensure secure communication, all endpoints of this API should use the https protocol instead of http. Authentication methods will differ between systems, but two popular methods are JSON Web Tokens and Static Tokens. Examples for both of these follow.

JSON Web Token and Static Tokens

JSON Web Token, or JWT, is used for stateless authentication. Since all requests are sent using https, tokens are not encrypted. Tokens follow the RFC 6750 Bearer Token format.

1.Generate signature Java code


public static final String sign(String data) throws Exception { 

    MessageDigest messageDigest = MessageDigest.getInstance("MD5"); 

    messageDigest.update(data.getBytes("UTF-8")); 

    return new String(Base64.encodeBase64(messageDigest.digest())); 

} 

Example


 public static void main(String[] args) throws Exception { 

    String secretKey = "secretKey"; 

    String payload = "{\n" + 

         "  \"name\": \"name\"\n" + 

         "}";	

    String payloadStr = new String(payload.getBytes(), "UTF-8");

    String sign = SignatureUtils.sign(payloadStr + secretKey);

    String encode = URLEncoder.encode(sign, "UTF-8");

    System.out.println(encode);

} 

HTTP parameters


POST /ext-in/depot-api/mnr_api_iicl HTTP/1.1

Host: www.example.com

Authorization: yrtdxZQsMgKuhqvF%2FpmioQ%3D%3D

Content-Type: application/json; charset=utf-8

API: Gate

gate

Creates either a gate-in or gate-out record for the given shipping container against the provided advice and depot data.

Request Body schema: application/json
required

gate object to create a new gate in or gate out record

adviceNumber
required
string <= 14 characters

the redelivery or release advice number for the gate record

required
object (Party)

represents a company (or location) involving shipping containers

unitNumber
required
string <= 11 characters ^[A-Z]{4}[X0-9]{6}[A-Z0-9]{0,1}$

the unit number of the shipping container

status
required
string <= 1 characters
Enum: "A" "D" "S" "C"

an indicator of the shipping container's status

A - Non-damaged

D - Damaged

S - Sold

C - Repair complate

activityTime
required
string <date-time>

the date and time of the gate activity in local time; i.e. 2019-04-10T19:37:04Z

( notation as defined by RFC 3339, section 5.6 )

type
required
string <= 3 characters
Enum: "IN" "OUT" "SC" "RC"

gate type indicator

IN - Gate In

OUT - Gate Out

SC - Resale Repair complate

RC -Rental Repair complate

Array of objects (GateCreatePhoto)

An optional photo list of the shipping container at gate creation

Responses

Request samples

Content type
application/json
{
  • "adviceNumber": "AHAMG000000",
  • "depot": {
    },
  • "unitNumber": "CONU1234561",
  • "status": "D",
  • "activityTime": "2019-08-24T14:15:22Z",
  • "type": "IN",
  • "photos": []
}

Response samples

Content type
application/json
{
  • "code": "RD000",
  • "message": "",
  • "adviceNumber": "AHAMG000000",
  • "customerReference": "MAEX",
  • "transactionReference": "74454D",
  • "insuranceCoverage": {
    },
  • "currentExchangeRate": 0.8133,
  • "comments": "['ALL CLEANING MUST BE CODED TO \"O\" FOR OWNER.']",
  • "currentInspectionCriteria": "IICL"
}

API: Estimate

estimate

Create a damage estimate or a revision to an existing estimate that documents the type of damage and the cost of the repairs

Request Body schema: form-data

Estimate object to create a new estimate revision

object

This parameter is actually a string

BodyFiles
Array of objects

You can upload a maximum of 30 images using the BodyFiles feature. The supported image formats are PNG and JPG. Each individual image should not exceed a file size of 100 KB.

Responses

Request samples

Content type
form-data
{
  "BodyText": "{\"estimateNumber\":\"DEHAMCE1856373\",\"unitNumber\":\"CONU1234561\",\"condition\":\"D\",\"estimateTime\":\"2019-08-24T14:15:22Z\",\"comments\":\"string\",\"requester\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"depot\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"owner\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"customer\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"currency\":\"EUR\",\"total\":544.95,\"customerApproval\":{\"approvalNumber\":\"RAMON ROUBAL\",\"approvalDateTime\":\"2019-08-24T14:15:22Z\",\"approvalUser\":\"KAERTS\",\"approvalTotal\":422.96},\"type\":\"R\",\"upgradeType\":\"AM\",\"revision\":0,\"lineItems\":[{\"line\":0,\"repair\":\"IT\",\"damage\":\"CK\",\"material\":\"MU\",\"component\":\"CMA\",\"location\":\"UR1N\",\"length\":15,\"width\":1,\"height\":1,\"unitOfMeasure\":\"CMT\",\"hours\":9.95,\"materialCost\":9.95,\"laborRate\":35,\"party\":\"O\",\"comments\":\"string\",\"taxRule\":\"B\",\"quantity\":1,\"parts\":[{\"description\":\"Paint A\",\"number\":\"108106\",\"quantity\":1,\"price\":2.88}],\"photos\":[{\"url\":\"https://www.example.com/photo.png\",\"status\":\"BEFORE\"}]}],\"photos\":[{\"url\":\"https://www.example.com/photo.png\",\"status\":\"BEFORE\"}]}{\"estimateNumber\":\"DEHAMCE1856373\",\"unitNumber\":\"CONU1234561\",\"condition\":\"D\",\"estimateTime\":\"2019-08-24T14:15:22Z\",\"comments\":\"string\",\"requester\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"depot\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"owner\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"customer\":{\"companyId\":\"USHOURFCA\",\"userCode\":\"JDOE\",\"userName\":\"John Doe\",\"faxNumber\":[\"string\"],\"phoneNumber\":[\"string\"],\"emailAddress\":[\"string\"],\"name\":\"CMR Container Maintenance Rep.\",\"code\":\"HAMG\",\"streetAddress\":[\"string\"],\"city\":\"string\",\"country\":\"st\",\"postalCode\":\"string\",\"stateProvince\":\"string\",\"latitude\":0,\"longitude\":0},\"currency\":\"EUR\",\"total\":544.95,\"customerApproval\":{\"approvalNumber\":\"RAMON ROUBAL\",\"approvalDateTime\":\"2019-08-24T14:15:22Z\",\"approvalUser\":\"KAERTS\",\"approvalTotal\":422.96},\"type\":\"R\",\"upgradeType\":\"AM\",\"revision\":0,\"lineItems\":[{\"line\":0,\"repair\":\"IT\",\"damage\":\"CK\",\"material\":\"MU\",\"component\":\"CMA\",\"location\":\"UR1N\",\"length\":15,\"width\":1,\"height\":1,\"unitOfMeasure\":\"CMT\",\"hours\":9.95,\"materialCost\":9.95,\"laborRate\":35,\"party\":\"O\",\"comments\":\"string\",\"taxRule\":\"B\",\"quantity\":1,\"parts\":[{\"description\":\"Paint A\",\"number\":\"108106\",\"quantity\":1,\"price\":2.88}],\"photos\":[{\"url\":\"https://www.example.com/photo.png\",\"status\":\"BEFORE\"}]}],\"photos\":[{\"url\":\"https://www.example.com/photo.png\",\"status\":\"BEFORE\"}]}",
  "BodyFiles": "D:/Temp/gd01.jpg"
}

Response samples

Content type
application/json
{
  • "code": "RD000",
  • "message": "",
  • "estimateNumber": "DEHAMCE1856373",
  • "revision": 0,
  • "depot": {
    },
  • "total": 544.95,
  • "ownerTotal": 0,
  • "customerTotal": 422.96,
  • "insuranceTotal": 121.99,
  • "ctl": false,
  • "comments": "Base Currency is: EUR; Based on estimate, user damages total: 0.00; Calculated DV (base): 1151.84; Coverage amount: 121.99; Damage exceeds DPP Coverage.; Damages exceed coverage amount. User pays excess.; Total paid by DPP Coverage: 121.99; Total owed by user: 422.96;",
  • "preliminaryDecision": {
    }
}

API: Release

release

Release information sent after create or update.

Request Body schema: application/json
required

Release information

releaseNumber
required
string [ 1 .. 14 ] characters

Release number

onHireSurveyRequired
boolean
comments
Array of arrays <= 500 characters

Additional information / Instructions

status
string <= 10 characters

Release order status

expirationDate
required
string

Expiry date

approvalDate
required
string

Approval date

type
required
string <= 8 characters
Default: "SALE"
Enum: "SALE" "ONH" "RPO"

Release order type

quantity
required
number <int32> >= 1

the number of units

required
object (Party)

represents a company (or location) involving shipping containers

required
object

represents a company (or location) involving shipping containers

required
object

represents a company (or location) involving shipping containers

required
Array of objects (ReleaseCreateRequestDetail) non-empty

Array of objects (Release details)

Responses

Request samples

Content type
application/json
{
  • "releaseNumber": "BAS60266",
  • "onHireSurveyRequired": "false",
  • "comments": [ ],
  • "status": "string",
  • "expirationDate": "2024-03-28T10:00:00-07:00",
  • "approvalDate": "2024-03-13T17:37:12-07:00",
  • "type": "SALE",
  • "quantity": 1,
  • "depot": {
    },
  • "owner": {
    },
  • "recipient": {
    },
  • "details": [
    ]
}

Response samples

Content type
application/json
{
  • "success": "true",
  • "message": "OK"
}

API: Redelivery

redelivery

Redelivery information sent after create or update.

Request Body schema: application/json
required

Redelivery information

redeliveryNumber
required
string [ 1 .. 14 ] characters

Redelivery number

expirationDate
required
string

Expiry date

approvalDate
required
string

Approval date

quantity
required
number <int32> >= 1

the number of units

comments
Array of arrays <= 500 characters

Additional information / Instructions

status
required
string <= 10 characters
Default: "APPROVED"
Enum: "APPROVED" "COMPLETE" "CANCELLED"

Redelivery order status

required
object (Party)

represents a company (or location) involving shipping containers

required
object

represents a company (or location) involving shipping containers

required
object

represents a company (or location) involving shipping containers

required
Array of objects (RedeliveryCreateRequestDetail) non-empty

Array of objects (Redelivery details)

Responses

Request samples

Content type
application/json
{
  • "redeliveryNumber": "PPF53096",
  • "expirationDate": "2024-03-28T10:00:00-07:00",
  • "approvalDate": "2024-03-13T17:37:12-07:00",
  • "quantity": 1,
  • "comments": [ ],
  • "status": "APPROVED",
  • "depot": {
    },
  • "owner": {
    },
  • "recipient": {
    },
  • "details": [
    ]
}

Response samples

Content type
application/json
{
  • "success": "true",
  • "message": "OK"
}