4D Shipping SDK 2020 .NET Edition

Questions / Feedback?

UPSTrack Component

Properties   Methods   Events   Configuration Settings   Errors  

Provides up-to-the-minute status reports of shipments, domestic and international, from origin to delivery.

Syntax

DPayments.DShippingSDK.Upstrack

Remarks

For a given UPS tracking or reference number, this tool identifies the package(s) and provides detailed information about each package, including the current shipping status and the time and location of each scan while in transit. Track component supports tracking by tracking number, shipment identification number, or reference number. Using this component, you can find out up-to-the-minute specific details on shipping status, including the time and location of each scan as the package moves toward its final destination. And, this tracking information can be displayed in a customized format.

This component provides several levels of information depending on the request:

  • When tracking a package using a UPS tracking number as the request parameter, this component returns information such as current delivery status, including the time and location of the latest transit scan.
  • When tracking a package using a reference number, this component returns information appropriate to the request. The request parameters are the reference number plus at least one of the following optional qualifiers: shipper number, pickup date range, destination postal code and/or destination country.

This component can return several kinds of initial responses:

  • Multi-Piece summary - When multiple packages from a single shipment match the request, the delivered response contains the UPS tracking number, pickup date, delivery date and time (for delivery packages only), location where each package was left if the consignee was not available, UPS shipping service and total shipment weight.
  • Package Detail - When a single package matches the request, the response contains the package weight, consignee city, state and country, the date, time and location of the latest scan while in transit, current delivery status and the name of the person who signed for the package.
  • Package Progress - Lists the date, time, location, and status of each scan of the package during transit, from the point of origin to the current location.
A combination of the multi-piece and package detail responses can be returned in the candidate list.

You can request the multi-piece or package detail response as well as package progress information after you receive the initial response.

Multi-piece summary and package progress requests use the information in a package detail response to retrieve additional information about the package. For example, the component returns information regarding the shipment from a multi-piece summary request. It would also return the date, time, and status of every scan for the package from a package progress request.

When the TrackShipment method call of this component returns a response, it will either return a successful response document or an error document. An error may be returned at the top (response) level if there is a problem with the syntax of the request, or if a system error occurs.

In any of the above scenarios, if there is a problem with a specific identifier within the request, the response will raise an error that pertains to the specific identifier.

For more details on errors codes and descriptions, please refer to the Error Codes section.

This component limits the data requested to ten (10) packages per transaction.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

FirewallA set of properties related to firewall access.
IdentifierTypeType of shipment identifier by which the shipment is to be tracked.
MasterTrackingNumberUPS-assigned tracking number assigned to the whole shipment .
PackageCountThe number of packages returned for a given shipment id or reference number .
PackageIndexThe package index in a shipment returned for a given shipment id or reference number .
PackageMessageMessage describing the shipping status in more details corresponding to the PackageIndex .
PackageReferencesReferences (other than tracking number) assigned to the package at PackageIndex by either shipper or customer.
PackageSignedByName of the person signing for package delivery (if applicable) corresponding to the PackageIndex .
PackageTrackingNumberPackage's tracking number corresponding to the PackageIndex .
PackageWeightPackage's weight corresponding to the PackageIndex .
ProxyA set of properties related to proxy access.
RecipientAddressIdentifies the recipient's address.
ScheduledDeliveryDateDate shipment was originally scheduled for delivery.
ScheduledDeliveryTimeTime shipment was originally scheduled for delivery.
SenderAddressIdentifies the sender's address from which the shipment is originating.
ServiceTypeDescriptionDescription of a UPS service used to ship the package or shipment being tracked.
ShipDateThe date on which the package was tendered to UPS.
ShipDateEndEnd of pickup date range used to narrow down the search.
ShipDateStartStart of pickup date range used to narrow down the search.
ShipmentReferenceCustomer-defined number (that may or may not be unique) used to identify the whole shipment.
ShipperAccountNumberAccount number associated with shipment.
SSLAcceptServerCertInstructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertThe certificate to be used during SSL negotiation.
SSLServerCertThe server certificate for the last established connection.
TimeoutA timeout for the component.
TotalWeightShipment's total weight.
TrackEventsCollection of tracking details for all scanning events that occur during the shipping process (corresponding to the PackageIndex ).
UPSAccountLogin information for UPS.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
ResetResets the internal state of the component and all properties to their default values.
TrackShipmentReturns tracking data for requested idValue of IdentifierType type.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ErrorInformation about errors during data delivery.
NotificationNotification returned by the server upon successful request (if applicable).
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows the progress of the secure connection.

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.

AlternateDeliveryAddressUsed to specify an XML or SOAP aggregate for Hold for Pickup or Delivery at UPS Access Points.
EventStatusCode[i]Gets the status code for the specified event.
HasXPathDetermines whether a specific element exists in the document.
IncludeNegotiatedRatesWhether to include the NegotiatedRatesIndicator in the request.
ItemizedChargesCode[i]The Accesorial/Surcharge code of the itemized charge.
ItemizedChargesCountThe count of itemized charges.
ItemizedChargesCurrencyCode[i]The currency used for the charge.
ItemizedChargesMonetaryValue[i]The amount being charged.
ItemizedChargesSubType[i]The subtype of the itemized charge.
NotificationDialectUsed to specify the dialect for Alternate Delivery Location notifications and UAP Shipper notifications.
NotificationLanguageUsed to specify the language for Alternate Delivery Location notifications and UAP Shipper notifications.
PackagePODProof of Delivery image for the package being tracked (if applicable).
PackagePODFileFilename of this package POD image (if applicable).
PackageRescheduledDeliveryDateDate when the delivery is re-scheduled to (if applicable).
PackageRescheduledDeliveryTimeTime when the delivery is re-scheduled to (if applicable).
PackageReturnAddress1Line 1 in return to sender's address (if applicable).
PackageReturnAddress2Line 2 in return to sender's address (if applicable).
PackageReturnCityCity in return to sender's address (if applicable).
PackageReturnCountryCodeCountry code in return to sender's address (if applicable).
PackageReturnStateState or province code in return to sender's address (if applicable).
PackageReturnZipCodeZip or postal code in return to sender's address (if applicable).
PackageSignatureSignature image for the package being tracked (if applicable).
PackageSignatureFileFile name of the signature image for this package (if applicable).
RawRequestContains the complete request sent to the Server.
RawResponseContains the complete response returned by the Server.
RequestOptionSpecifies the type of information the server will return about the shipment.
ShipmentBookmarkBookmark for a particular shipment in the list of shipment candidates (if duplicates are found).
ShipmentBookmarkIndexSpecifies a shipment and updates the component properties.
ShipmentCountNumber of shipments in the list of shipment candidates (if duplicates are found).
ShipmentIndexSpecifies a shipment and updates the component properties.
ShipmentIndicationTypeWhether shipment is Hold For Pickup or Delivery at UPS Access Points.
SignatureRequired[i]Identifies the type of signature required.
SubVersionUPS SubVersion.
TaxInformationIndicatorControls whether to send a TaxInformationIndicator.
UseSOAPWhether or not to use UPS' webservices.
WarningWarning message returned by the server.
WeightUnitWeight unit.
XAttrCountThe number of records in the XAttr arrays.
XAttrName[i]The name of the indexed attribute.
XAttrValue[i]The value of the indexed attribute.
XChildCountThe number of records in the XChild arrays.
XChildElement[i]The name of the indexed child element.
XChildText[i]The text of the indexed child element.
XElementThe name of the current element.
XParentThe parent of the current element.
XPathUsed to set the XPath within the response from the server.
XTextThe text of the current element.
AcceptEncodingUsed to tell the server which types of content encodings the client supports.
AllowHTTPCompressionThis property enables HTTP compression for receiving data.
AllowHTTPFallbackWhether HTTP/2 connections are permitted to fallback to HTTP/1.1.
AllowNTLMFallbackWhether to allow fallback from Negotiate to NTLM when authenticating.
AppendWhether to append data to LocalFile.
AuthorizationThe Authorization string to be sent to the server.
BytesTransferredContains the number of bytes transferred in the response data.
ChunkSizeSpecifies the chunk size in bytes when using chunked encoding.
CompressHTTPRequestSet to true to compress the body of a PUT or POST request.
EncodeURLIf set to true the URL will be encoded by the component.
FollowRedirectsDetermines what happens when the server issues a redirect.
GetOn302RedirectIf set to true the component will perform a GET on the new location.
HTTP2HeadersWithoutIndexingHTTP2 headers that should not update the dynamic header table with incremental indexing.
HTTPVersionThe version of HTTP used by the component.
IfModifiedSinceA date determining the maximum age of the desired document.
KeepAliveDetermines whether the HTTP connection is closed after completion of the request.
KerberosSPNThe Service Principal Name for the Kerberos Domain Controller.
LogLevelThe level of detail that is logged.
MaxHeadersInstructs component to save the amount of headers specified that are returned by the server after a Header event has been fired.
MaxHTTPCookiesInstructs component to save the amount of cookies specified that are returned by the server when a SetCookie event is fired.
MaxRedirectAttemptsLimits the number of redirects that are followed in a request.
NegotiatedHTTPVersionThe negotiated HTTP version.
OtherHeadersOther headers as determined by the user (optional).
ProxyAuthorizationThe authorization string to be sent to the proxy server.
ProxyAuthSchemeThe authorization scheme to be used for the proxy.
ProxyPasswordA password if authentication is to be used for the proxy.
ProxyPortPort for the proxy server (default 80).
ProxyServerName or IP address of a proxy server (optional).
ProxyUserA user name if authentication is to be used for the proxy.
SentHeadersThe full set of headers as sent by the client.
StatusLineThe first line of the last response from the server.
TransferredDataThe contents of the last response from the server.
TransferredDataLimitThe maximum number of incoming bytes to be stored by the component.
TransferredHeadersThe full set of headers as received from the server.
TransferredRequestThe full request as sent by the client.
UseChunkedEncodingEnables or Disables HTTP chunked encoding for transfers.
UseIDNsWhether to encode hostnames to internationalized domain names.
UsePlatformDeflateWhether to use the platform implementation to decompress compressed responses.
UsePlatformHTTPClientWhether or not to use the platform HTTP client.
UserAgentInformation about the user agent (browser).
CloseStreamAfterTransferIf true, the component will close the upload or download stream after the transfer.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallListenerIf true, the component binds to a SOCKS firewall as a server (IPPort only).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
ProxyExceptionsListA semicolon separated list of hosts and IPs to bypass when using a proxy.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
TcpNoDelayWhether or not to delay when sending packets.
UseIPv6Whether to use IPv6.
UseNTLMv2Whether to use NTLM V2.
CACertFilePathsThe paths to CA certificate files when using Mono on Unix/Linux.
LogSSLPacketsControls whether SSL packets are logged when using the internal security API.
ReuseSSLSessionDetermines if the SSL session is reused.
SSLCACertsA newline separated list of CA certificate to use during SSL client authentication.
SSLCheckCRLWhether to check the Certificate Revocation List for the server certificate.
SSLCipherStrengthThe minimum cipher strength used for bulk encryption.
SSLEnabledCipherSuitesThe cipher suite to be used in an SSL negotiation.
SSLEnabledProtocolsUsed to enable/disable the supported security protocols.
SSLEnableRenegotiationWhether the renegotiation_info SSL extension is supported.
SSLIncludeCertChainWhether the entire certificate chain is included in the SSLServerAuthentication event.
SSLNegotiatedCipherReturns the negotiated ciphersuite.
SSLNegotiatedCipherStrengthReturns the negotiated ciphersuite strength.
SSLNegotiatedCipherSuiteReturns the negotiated ciphersuite.
SSLNegotiatedKeyExchangeReturns the negotiated key exchange algorithm.
SSLNegotiatedKeyExchangeStrengthReturns the negotiated key exchange algorithm strength.
SSLNegotiatedVersionReturns the negotiated protocol version.
SSLProviderThe name of the security provider to use.
SSLSecurityFlagsFlags that control certificate verification.
SSLServerCACertsA newline separated list of CA certificate to use during SSL server certificate validation.
TLS12SignatureAlgorithmsDefines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True.
TLS12SupportedGroupsThe supported groups for ECC.
TLS13KeyShareGroupsThe groups for which to pregenerate key shares.
TLS13SignatureAlgorithmsThe allowed certificate signature algorithms.
TLS13SupportedGroupsThe supported groups for (EC)DHE key exchange.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
BuildInfoInformation about the product's build.
GUIAvailableTells the component whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2023 4D Payments Inc. - All rights reserved.
4D Shipping SDK 2020 .NET Edition - Version 20.1 [Build 8435]