Port Houston ============================================================================= :Provider Information: +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Id** | port_houston | +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Type** | terminal | +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Trace Type** | API | +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Credentials** | Uses username and password and it is customer based and customers must request API access from Port of Houston | +-----------------+----------------------------------------------------------------------------------------------------------------+ || **Limits** || Maximum number of containers per request is 50 | || || Maximum number of request call is 20k per day | +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Status** | development | +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Doc Status** | draft | +-----------------+----------------------------------------------------------------------------------------------------------------+ | **Doc Version** | 1 | +-----------------+----------------------------------------------------------------------------------------------------------------+ :URLs: +---------+-----------------------------------------------------------------------------+-------------+ | Type | URL | Environment | +=========+=============================================================================+=============+ | Request | https://lynxapi.porthouston.com/lynxservice.asmx/GetAvailableContainersSQL | DEV/STG/PRD | +---------+-----------------------------------------------------------------------------+-------------+ :Sites: +------+---------+-----------------+ | Name | Site Id | Description | +======+=========+=================+ | name | ern | the description | +------+---------+-----------------+ Request ----------------------------------------------------------------------------- .. code-block:: shell POST https://lynxapi.porthouston.com/lynxservice.asmx/GetAvailableContainersSQL .. note:: - This request needs in body: username, password, terminal code, and container numbers. - Container numbers should be separated with commas Terminal codes goes as follow: +---------------+---------------+ | Terminal Name | Terminal Code | +===============+===============+ | Barbours Cut | PHABC | +---------------+---------------+ | Bayport | PHA | +---------------+---------------+ **headers** should be as following. .. code-block:: Content-Type: application/x-www-form-urlencoded **body** should be as following. Body type needs to be x-www-form-urlencoded .. code-block:: UserName: PWD: TerminalCode: PHABC ContainerNumber: TGBU6352241,KOCU5136383 Responses ----------------------------------------------------------------------------- Query Containers Request Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If credentials of username and password are expired or they are invalid then the following response is returned. Returned status code: 200 Ok .. code-block:: Login Error If **TerminalCode** is invalid, It returns the following response. Returned status code: 500 Internal Server Error .. code-block:: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index If **UserName**, **PWD**, **TerminalCode**, or **ContainerNumber** is missing It returns the following response. Returned status code: 500 Internal Server Error .. code-block:: Missing parameter: TerminalCode. If given containers were invalid containers like Test123456 or having valid container but not found like UMXU253714 it returns the following response. Returned status code: 200 OK .. code-block:: 0 Error: Container not found. Error: Container not found. False Error: Container not found. If given containers were valid but one found (TGBU6352241) and the other is not found (UMXU253714), It returns the following response. Returned status code: 200 OK .. code-block:: 25215813 TGBU6352241 SZPM23657900 NO RELEASED HOLD BILL OF LADING HOLD - LINE,CUSTOMS DEFAULT HOLD BILL OF LADING HOLD - LINE,CUSTOMS DEFAULT HOLD VESSEL V-OXM-057W HAS Hyundai America Shipping OXM-057W 40 GP 96 3700.0 IMPRT IMPRT FCL FCL false OXM 057E 45G1 V-OXM-057W CNYTN 211084367 Outgated Event Request Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To get the information about whether the container is outgated or not, A request has to be sent to the given url. .. code-block:: shell POST https://lynxapi.porthouston.com/lynxservice.asmx/GetGateTransactionsSQL **headers** should be as following. .. code-block:: Content-Type: application/x-www-form-urlencoded **body** should be as following. .. code-block:: UserName: PWD: TerminalCode: PHABC TransNumber: TransType: TransStatus: TransFromDate: TransToDate: Equipment: TGBU6352241 BookNumber: LineID: TruckNumber: TruckCompany: .. note:: - This request needs in body all the above fields, however you need only (UserName, PWD, Equipment, and TruckCompany) to not be empty the rest could be empty we don't need them with values but they are required parameters. - TerminalCode goes just like the availability request above. - Equipment filed takes only one container at a time. If credentials of username and password are expired or they are invalid then the following response is returned. Returned status code: 200 Ok .. code-block:: Login Error If **TerminalCode** is invalid, It returns the following response. Returned status code: 500 Internal Server Error .. code-block:: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index If any of the required parameters are missing It returns the following response. Returned status code: 500 Internal Server Error .. code-block:: Missing parameter: TerminalCode. If given container is not correct it returns the following response. Returned status code: 200 OK .. code-block:: Response if body request has right data Returned status code: 200 OK .. code-block:: 1824903249958622022-01-11 11:34:58.213DIDICOMPLETEOXPQOVERLAND EXPRESS CO., INC.1L41256MSCMSMU5099042 215283750040.04510 2022-01-11 12:25:34.303OXPQ000483trueMMT-152E5G74
:Data Mapping: +------------------+-----------------+--------------------------------+ | Property | Source Property | Description | +==================+=================+================================+ | container_number | EQUIPMENTNBR | The container reference number | +------------------+-----------------+--------------------------------+ | steamshipBL | BILLOFLADING | Bill of lading | +------------------+-----------------+--------------------------------+ | carrier.vessel | VESSEL | Carrier vessel number | +------------------+-----------------+--------------------------------+ | carrier.voyage | VOYAGE | Carrier Voyage number | +------------------+-----------------+--------------------------------+ Grounded Event Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: 25107899 KOCU5123869 SHAZ71000100 YES RELEASED RELEASED 7200.0 KG 2022-01-17 07:00:00 YARD Y-BCT-1I22C.1 HAS Hyundai America Shipping OUV-058W 40 GP 96 2022-01-10 14:12:23.843 7200.0 IMPRT IMPRT FCL FCL false OUV 058E 2022-01-17 07:00:00 45G1 Y-BCT-1I22C.1 CNSHA 211038141 :Grounded Event Data Mapping: +------------------------+-----------------+-------------------------------------------------------+ | Property | Source Property | Description | +========================+=================+=======================================================+ | event[n].code | LOCATION | Grounded event is created if LOCATION is YARD | +------------------------+-----------------+-------------------------------------------------------+ | event[n].location.lot | POSITION | Lot of the location. | +------------------------+-----------------+-------------------------------------------------------+ | event[n].location.name | Default | BarboursCut or Bayport depending on the terminal code | +------------------------+-----------------+-------------------------------------------------------+ | event[n].location.type | Default | Terminal | +------------------------+-----------------+-------------------------------------------------------+ | event[n].date | Default | Today date is a default date | +------------------------+-----------------+-------------------------------------------------------+ | event[n].data.grounded | Default | Empty string as api does not provide a date | +------------------------+-----------------+-------------------------------------------------------+ Lfd Event Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: 25107900 SEGU5697406 SHAZ71000300 YES RELEASED RELEASED 7685.0 KG 2022-01-17 07:00:00 YARD Y-BCT-0G82F.1 HAS Hyundai America Shipping OUV-058W 40 GP 96 2022-01-10 13:50:22.297 7685.0 IMPRT IMPRT FCL FCL false OUV 058E 2022-01-17 07:00:00 45G1 Y-BCT-0G82F.1 CNSHA 211332596 :Lfd Event Data Mapping: +------------------------+-----------------+-------------------------------------------------------+ | Property | Source Property | Description | +========================+=================+=======================================================+ || event[n].code || LINE_LFD || Lfd event is created If LINE_LFD has a value | +------------------------+-----------------+-------------------------------------------------------+ | event[n].location.lot | POSITION | Lot of the POSITION | +------------------------+-----------------+-------------------------------------------------------+ | event[n].location.name | Default | BarboursCut or Bayport depending on the terminal code | +------------------------+-----------------+-------------------------------------------------------+ | event[n].location.type | Default | Terminal | +------------------------+-----------------+-------------------------------------------------------+ | event[n].date | Default | Today date is a default date | +------------------------+-----------------+-------------------------------------------------------+ | event[n].data.lfd | LINE_LFD | Last free date for container | +------------------------+-----------------+-------------------------------------------------------+ Released Event Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: 25107900 SEGU5697406 SHAZ71000300 YES RELEASED RELEASED 7685.0 KG 2022-01-17 07:00:00 YARD Y-BCT-0G82F.1 HAS Hyundai America Shipping OUV-058W 40 GP 96 2022-01-10 13:50:22.297 7685.0 IMPRT IMPRT FCL FCL false OUV 058E 2022-01-17 07:00:00 45G1 Y-BCT-0G82F.1 CNSHA 211332596 :Released Event Data Mapping: +------------------------+-------------------+-------------------------------------------------------+ | Property | Source Property | Description | +========================+===================+=======================================================+ || event[n].code || READYFORDELIVERY || Released event is created If | || || || READYFORDELIVERY = 'Yes' | +------------------------+-------------------+-------------------------------------------------------+ | event[n].location.lot | POSITION | Lot of the POSITION | +------------------------+-------------------+-------------------------------------------------------+ | event[n].location.name | Default | BarboursCut or Bayport depending on the terminal code | +------------------------+-------------------+-------------------------------------------------------+ | event[n].location.type | Default | Terminal | +------------------------+-------------------+-------------------------------------------------------+ | event[n].date | Default | Today date is a default date | +------------------------+-------------------+-------------------------------------------------------+ | event[n].data.released | Default | Empty string as api does not provide a date | +------------------------+-------------------+-------------------------------------------------------+ Outgated Event Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: 1824903249958622022-01-11 11:34:58.213DIDICOMPLETEOXPQOVERLAND EXPRESS CO., INC.1L41256MSCMSMU5099042 215283750040.04510 2022-01-11 12:25:34.303OXPQ000483trueMMT-152E5G74
.. note:: If truckingCompany is sent on the event, and availability endpoint has LOCATION = TRUCK then the outgate endpoint is called to get the outgate information. Once the outgated information is received, the outgated event is created with outgated Confirmed = True and outgated datetime value. If truckingCompany is not sent on the event and the container has location with TRUCK then the outgated event is created with outgated Confirmed = False and outgated defaulted to today. :Outgated Event Data Mapping: +---------------------------------+-----------------+------------------------------------------------------------------+ | Property | Source Property | Description | +=================================+=================+==================================================================+ || event[n].code || LOCATION || Outgated event is created if LOCATION is TRUCK | || || || And we call the other endpoint for the outgate | +---------------------------------+-----------------+------------------------------------------------------------------+ | event[n].location.name | Default | BarboursCut or Bayport depending on the terminal code | +---------------------------------+-----------------+------------------------------------------------------------------+ | event[n].location.type | Default | Terminal | +---------------------------------+-----------------+------------------------------------------------------------------+ | event[n].date | Default | Today date is a default date | +---------------------------------+-----------------+------------------------------------------------------------------+ | event[n].data.outgated | DATETIME | Outgate datetime and it comes for the outgate endpoint | +---------------------------------+-----------------+------------------------------------------------------------------+ | event[n].data.outgate_scac | TRUCKER | Trucking company name and it comes from the outgate endpoint | +---------------------------------+-----------------+------------------------------------------------------------------+ | event[n].data.outgate_confirmed | Default | Value is set to True as the API provides the outgate information | +---------------------------------+-----------------+------------------------------------------------------------------+ Hold Events Response ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: 25280857 BHCU3221689 SHAZ80835000 NO RELEASED HOLD BILL OF LADING HOLD - LINE,CUSTOMS DEFAULT HOLD BILL OF LADING HOLD - LINE,CUSTOMS DEFAULT HOLD VESSEL V-OXM-057W HAS Hyundai America Shipping OXM-057W 20 GP 86 1900.0 IMPRT IMPRT FCL FCL false OXM 057E 22G1 V-OXM-057W CNSHA 211612319 :Hold Events: +------------------------+--------------------------+-------------------------------------------------------+ | Property | Source Property | Description | +========================+==========================+=======================================================+ | event[n].code | Default | Hold as it is hold event | +------------------------+--------------------------+-------------------------------------------------------+ | event[n].location.name | Default | BarboursCut or Bayport depending on the terminal code | +------------------------+--------------------------+-------------------------------------------------------+ | event[n].location.type | Default | Terminal | +------------------------+--------------------------+-------------------------------------------------------+ | event[n].date | Default | Today date is a default date | +------------------------+--------------------------+-------------------------------------------------------+ | event[n].holdType | hold_information.hold_id | HoldType can be: | | | | Custom if HOLDS has Customs. | | | | Line if HOLDS has Line. | | | | Demurrage if DEMURRAGE is hold. | +------------------------+--------------------------+-------------------------------------------------------+ | event[n].data.code | hold_information.hold_id | hold_id determine code and it can be: | | | | Custom Hold. | | | | Demurrage Hold. | | | | Line Hold. | +------------------------+--------------------------+-------------------------------------------------------+