FetchAddressCheckV2

Fetches the results for the specified address check request.

Depending on the current state, the service may return the results or a status indicating what is happening or what happened with the request.

Can be accessed with a GET against this end point: https://ws.di.no/ws/json/addressCheck/v-2/fetch/{uuid} where {uuid} is the uuid that you got from the submit.

There is also a V3 of the fetch that can be access on https://ws.di.no/ws/json/addressCheck/v-3/fetch/{uuid} In V3 the sortkey field have slightly different content.

Any fields included in the response that are not described in the documentation, are not guaranteed to be stable. They may disappear without notice.

FetchAddressCheckRequest

FieldDescriptionExampleData typeSizeCount
uuidUnique identifier for the processing unit, obtained in the response for the SUBMIT (SubmitAddressCheckV2) action.388f70cd-3e0c-4be6-a51a-35f32e7e96d9UUID (String)361


FetchAddressCheckResponse

Field
Description
Example
Data typeSize
Count
uuid

Unique identifier for the processing unit, obtained in the response for the SUBMIT (SubmitAddressCheckV2) action.

388f70cd-3e0c-4be6-a51a-35f32e7e96d9

UUID (String)361
nextAction

Describes what the client should do next:

  • STOP : stop sending more requests for this UUID to the service
  • REPEAT : send a new request with this UUID to get updated information

STOP

String4 | 61
resultStatus

Describes the current status of the unit.

Processing statesResult statesError states

QUEUED

COMPLETED


REJECTED_BUSY

INPROGRESS



FAILED

COMPLETED_RESENT


INVALID_UUID


EXCEEDED_MAX_PROCESSING_TIME

Terminal statuses are all result states and error states.
They have the nextAction field set to STOP, which means that the client should stop sending requests to the service with that UUID.

See more detailed descriptions of the states below.

INPROGRESS

String6 - 281
secondsDelay

A hint from the server that may be provided if the server known when the status of the unit is likely to change. Defaults to two minutes.

The client should also ensure reasonable min, max and default values for the delay on their end.

120Integer
1
productProduct name for the unit.

AFM

String101
customerSystemName of the customer system for the unit.

AFT

String51
batchIdClient-side identifier for the unit (may be empty).
String-1
skipRouteCheck




requireExactMatch




addressCoverage

Describes a customer, whether his/her address is supported, and gives transport information if supported.
See detailed description of the addressCoverage entity below.

Whether there are zero or more address coverage items depends on the nextAction field.
If it is STOP there will be as many items as received when the batch was submitted through SubmitAddressCheckV2.
If it is REPEAT there will be zero  address coverage items.


--0 - 10'000


State descriptions

Note that all statues except QUEUED and INPROGRESS are terminal. If the client receives a terminal response, new further requests should be sent to the service for the given UUID.

QUEUED

This processing states means that the batch has been received by service, and it is waiting to be processed.

INPROGRESS

This processing states means that the batch has been received by the service and is currently being processed.

COMPLETED

This terminal result state means that the batch has been processed and that the results are included in the response.

COMPLETED_RESENT

This terminal result state means that the batch has been processed, that the results have been sent already at least once. The results are included in the response. The previous result state was COMPLETED.

This can take place as long as the batch hasn't expired. If the batch has expired, the service will return INVALID_UUID.

REJECTED_BUSY

This terminal error state means that the system is overloaded, and that the processing queue is full. Try again later.

FAILED

This terminal error state means that an error casued the batch processing to fail. Try the request again, check your input data, and if the error persists, contact DI.

INVALID_UUID

This terminal error state means that the system has no knowledge about the UUID in the request.

EXCEEDED_MAX_PROCESSING_TIME

This terminal error state means that the system spent too much time to process the batch. This may be caused by high load on the system. Try again later, or split the batch into smaller batches.

AddressCoverage

Field
Description
Example
Data typeSize
Count
referenceId

Customer identifier. Must be unique within the customerSystem.


String371
dateEstimated distribution date by carrier.2016-06-01Date (YYYY-MM-DD)101
supportedByCarrier

Whether the customer address is covered by carrier.

true

Boolean4 | 51
geoLocationDescribes the geographical area. Current values are 1, 2 and 3.1Integer10 - 1
authorityWho produced this information



companyName of the qualifying distribution company.

SDØ

String<= 50 - 1
routeNrRoute number of the covering route.21618String100 - 1
routeName




addrSeqAddress sequence defining sorting on the associated route.51Integer30 - 1
deliveryPointId

Numeric identifier for the delivery point found for the customer address.

Typically fed back into the source system to speed up subsequent processes, for instance parcel creation.

6734687Integer-0 - 1
transportMain car number.8500Integer-0 - 1
subTransportSub car name, if any.Some name.String-0 - 1
locationName / address of the pick-up point.Rostedsgate 8varchar600 - 1
locationDirectionsDirections associated with the pick-up point.Free text.varchar600 - 1
sortKey

Key that can be used to sort the addresses in the sequence they should be packaged. Key will contain several geographical parts and sorting terms:

  • getTransportNetId(),
  • ac.getTransportCompanyId(),
  • ac.getPreTransportCarSorting(),
  • ac.getMainCarSorting(),
  • ac.getSubCarSorting(),
  • ac.getDeliveryPointSorting(),
  • ac.getRouteId(),
  • ac.getAddrSeq()

"%05d%05d%05d%05d%05d%05d%07d%05d"


In the V3 version the string consists of these fields:

  • ac.getHandOverLocationZip()
  • ac.getTransport()
  • ac.getDeliveryPointId()
  • ac.getRouteId()
  • ac.getAddrSeq()

"%05d%010d%010d%010d%05d"


In the V5 version the string consists of these fields:

  • ac.getHandOverLocationZip()
  • ac.getTransport()
  • ac.getDeliveryPointId()
  • ac.getRouteName()
  • ac.getAddrSeq()

"%05d%010d%010d%010d%05d"

003001234500123401230001212345671234512345Integer42

0 - 1

linkedAddress

--?
transportDescriptionA string that describes the transport information, on the format: XXXX-yy/ZZZZ-øø-grenbil1 x025117x500

XXXX - Main car number on the pre transport transport
yy - Delivery sequence number on XXXX

ZZZZ - Main car number
øø - Delivery sequence number on ZZZZ

grenbil1 - Name of subcar

x025117 - x + Routenumber
x500 - x + sequence on route

XXXX-yy/ZZZZ-øø-grenbil1 x025117x500

String360 - 1


In version `v4` of the fetch endpoint, the following data is added to the `v3` version if such information exists:

Field

Description

Example

Data typeSize

Count

handoverLocationIdCustomer-specific id associated with the handover location.

123456

String
0 - 1
handoverLocationCityThe city of the handover location.OSLOString
0 - 1
handoverLocationZipCodeThe zip code of the handover location.383Integer1 - 50 - 1
handoverLocationStreetNameThe street name of the handover location.My StreetString
0 - 1
handoverLocationStreetNumberThe street number of the handover location.61Integer
0 - 1
handoverLocationDescriptionA free-text description of the handover location.
String
0 - 1

linkedAddress

Field
Description
Example
Data typeSize
Count
countryCodeThe country of the address.

NO

String21
postalNameCity / place of the address.

Oslo

String<= 301
zipCodeZip code of the address.2500, 186 (leading zeros are stripped, this is postal code "0186" in Norway)Integer51
address

Customer address.

This can include street, house number, entrance and appartment number.

Christian Krohgs gate 54String<= 601

The field supportedByCarrier determines whether the fields with count 0 - 1 will be present (true) or not, except for when skipRouteCheck has been set to true. In that case, there will be no route information even though supportedByCarrier may be true but deliveryPointId may be set to aid troubleshooting.

%05d%010d%010d%010d%05d