Batch process create/import data

Create a batch-job

To generate a new batch-job it is essential to upload the address-files. This will be made by a POST-Request with enctype "multipart/form-data" and the action init.

https://maps1.locr.com/batch-processing/job_v2.php?action=init

    • The CSV-Data will be send as file with the POST-parameter "customer" and/or "shop" to upload the addresses. All for the batch-job nessesary addresses must be send by the first batch-job initialization!

HTML-formular-example:

<form action="" method="post" target="Datenimport">

<input name="action" type="text" value="init">

<input name="name" type="text" value="optional">

<input name="customer_header" type="text" value="true">

<input name="shop_header" type="text" value="true">

<input name="configuration" type="file">

<input name="customer" type="file">

<input name="shop" type="file">

<input name="map_type" type="text" value="navimap_with_one_route">

</form>

Define your own batch-job-name

When you create a batch-job there is automatically created a request-Id for internal use for the system. Each batch job can be addressed by these request-Id.

?requestId=<1234567890123456789012345>

Additional it is possible to generate a user-defined name. The name must be CLEARLY for all given batch jobs of a user.

If the parameter "name" is used, you can continue to work after a successful batch-job generation, with this name.

<input name="jobname" type="text" value="optional">

Define the data structure

    • If in the first line from the CSV file the header field names are parameters, they must be defined by following parameter. (false = default).

    • customer_header=true

    • shop_header=true

    • If these field names correspond to locr field names "id, country, city, street, postal, house", so theses will be automatically to assign the fields.

    • If the first line of the address file does not correspond to field names or those of locr default, the fields must be separately allocated in the correct order and separated by a comma! This is done by the parameters:

      • customer_columns=""

      • shop_columns=""

HTML-formular-example:

<form action="" method="post" target="Datenimport">

<input name=" action " type="text" value="init">

<input name="customer_header" type="text" value="false">

<input name="customer_columns" type="text" value="id,county,city,postal,street,house">

<input name="shop_header" type="text" value="false">

<input name="shop_columns" type="text" value="id,,county,,city,,postal,street,house">

<textarea name="customer">...</textarea>

<textarea name="shop">...</textarea>

<input name="map_type" type="text" value="navimap_with_one_route">

</form>

Comment:

<input name="shop_columns" type="text" value="id,,county,,city,,postal,street,house">

Field1 = id

Field2 = -

Field3 = country

Field4 = -

Field5 = city

Field6 = -

Field7 = postal

Field8 = street

Field9 = house

Define the map type

There are two different map the LOCALmaps and the NAVImaps:

<input name="map_type" type="text" value="navimaps">

Parameter:

    • localmaps

    • navimaps

    • localmaps_with_locations

Define a country for the address-lists

It is possible to define the country internally of an address list. If all the addresses are from one county, you can define them by extra parameter.

    • default_customer_country

    • default_shop_country

<input name="default_customer_country" type="text" value="DE">

<input name="default_shop_country" type="text" value="DE">

Countries must be defined by the standard ISO 3166-1 ALPHA-2 or ISO 3166-1 ALPHA-3 code.

http://en.wikipedia.org/wiki/ISO_3166-1

Minimum requirements for GEOcoding

To make geocoding for an address list the fields of the country and the city must be defined, these are the minimal information to get an results.

To obtain the most accurate positioning, all 5 fields COUNTRY, CITY, POSTAL, STREET, NUMBER are specified!

Addresses existing GEOcoding

If the addresses are already geocoded, that means that for all addresses the latitude/longitude values are in a list are available, it can be imported by the parameters:

    • latitude

    • longitude

Use this parameter additional in the variables customer_columns/shop_columns.

<input name="customer_columns" type="text" value="id,latitude,longitude">

<input name="shop_columns" type="text" value="id,,county,,city,,postal,street,house,latitude,longitude">

Example return by an successful generation and import

If the import worked, you get an XML with the number of records and a requestId back.

<?xml version="1.0" encoding="utf-8"?>

<BatchProcessing>

<Response>

<MetaInfo>

<RequestId>4fec2eb23a16880b77000000</RequestId>

<Name>jobname</Name>

<Created>2012-06-01 12:00:00</Created>

</MetaInfo>

<Status>submitted</Status>

<Geocoding>

<Customers>

<TotalCount>1</TotalCount>

<ProcessedCount>0</ProcessedCount>

<ValidCount>0</ValidCount>

<InvalidCount>0</InvalidCount>

</Customers>

<Shops>

<TotalCount>1</TotalCount>

<ProcessedCount>0</ProcessedCount>

<ValidCount>0</ValidCount>

<InvalidCount>0</InvalidCount>

</Shops>

</Geocoding>

<Routing>

<TotalCount>0</TotalCount>

<ProcessedCount>0</ProcessedCount>

<ValidCount>0</ValidCount>

<InvalidCount>0</InvalidCount>

</Routing>

<Maps>

<TotalCount>1</TotalCount>

<ProcessedCount>0</ProcessedCount>

<ValidCount>0</ValidCount>

<Invalid>0</Invalid>

</Maps>

</Response>

</BatchProcessing>

Return by incorrect import

<?xml version="1.0" encoding="utf-8"?>

<Error type="PermissionError" subtype="ContractViolated">

<Details>permanently prohibited</Details>

</Error>