Bulk API Process / Bulk Upload API

Purpose

The bulk upload API is a feature of Tower Coverage.com that is only usable by Tier 4 or higher subscription levels. This API allows End User Submission Data to be added to the TowerCoverage.com EUS Data.

You can locate the Bulk Upload API template by navigating to Account >> API and clicking on the Bulk Upload API button.

All Bulk Upload entries are flagged as Low Priority and will take longer to receive the results than a normal EUS Submission API push. Each POST to this API counts as a call from your account.

Fields

MCID

This field is a number value only. Each Multi Map on your account is assigned an ID when it is created. This number will never change until the map is deleted. You can locate the Multi Coverage ID by using the Get MultiCoverage List API or by opening the map that you wish to use. The ID can also be found in the URL of the map or in the iframe code on the update tab.

Submission ID

The Submission ID is a number value but is not a required field. When using the Bulk Upload API you can choose whether to create new entries or to update the existing data on your account. The submission ID can be found by downloading the CSV of your data. Each row of the CSV will contain all stored data for each submission as well as the ID.

Account

You can locate your Account ID in the API's Tab of your account settings and also within the iframe of your Multi Coverage.

First Name/Last Name

These fields can only contain text values and special characters are not allowed.

Address / City / Country / State / Zip Code / Latitude / Longitude

When entering addresses, your state must be spelled out, abbreviations are not allowed. It is also suggested to get your country ID number by using the Get Country List API, but you can spell out your country as well (example: United States). Although the address fields are required for the request to be successful, it is advised that you utilize the Latitude and Longitude if known. If you enter a Latitude and Longitude, the address, city, state, country and Zip will be ignored.

Pin Status

Serviceable = 2
New EUS = 3
No Service = 4
Installed = 5

The Pin Status field is required and only the above given values are acceptable.

API Key

Your API key can be located on the API's tab of your account settings. This is a required field and is what the API server will use to determine if you have sufficient API calls available on your account.

All other fields

All other fields of the API are required and will only allow text, numbers, periods and hyphens. No special characters can be included as well as no return characters. Although they do have a specific label for purposes of database entry, you can utilize these fields for any type of data you wish. An example of this would be using the preferred Method of Contact field to store a service level or package (your customer) signed up for.

Response Codes

If the request is successful it will return the following response:
Success (new id value)
Anything else, the API will return with error message that explains why it was not accepted.

Code Examples

SOAP 1.1

Request

POST /towercoverage.asmx HTTP/1.1
Host: api.towercoverage.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/BulkApiProcess"


<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>
       <BulkApiProcess xmlns="http://tempuri.org/">
         <multicoverageid>string</multicoverageid>
         <Account>string</Account>
         <Firstname>string</Firstname>
         <lastname>string</lastname>
         <Address>string</Address>
         <city>string</city>
         <Country>string</Country>
         <State>string</State>
         <zipcode>string</zipcode>
         <phonenumber>string</phonenumber>
         <emailaddress>string</emailaddress>
         <howdidyouhear>string</howdidyouhear>
         <preferredmethod>string</preferredmethod>
         <besttimetocontact>string</besttimetocontact>
         <comments>string</comments>
         <clientip>string</clientip>
         <Latitude>string</Latitude>
         <Longitude>string</Longitude>
         <pinstatus>string</pinstatus>
         <key>string</key>
       </BulkApiProcess>
  </soap:Body>
</soap:Envelope>

Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>
       <BulkApiProcessResponse xmlns="http://tempuri.org/">
         <BulkApiProcessResult>string</BulkApiProcessResult>
       </BulkApiProcessResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

Request

POST /towercoverage.asmx HTTP/1.1
Host: api.towercoverage.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

  <soap12:Body>

    <BulkApiProcess xmlns="http://tempuri.org/">
      <multicoverageid>string</multicoverageid>
      <Account>string</Account>
      <Firstname>string</Firstname>
      <lastname>string</lastname>
      <Address>string</Address>
      <city>string</city>
      <Country>string</Country>
      <State>string</State>
      <zipcode>string</zipcode>
      <phonenumber>string</phonenumber>
      <emailaddress>string</emailaddress>
      <howdidyouhear>string</howdidyouhear>
      <preferredmethod>string</preferredmethod>
      <besttimetocontact>string</besttimetocontact>
      <comments>string</comments>
      <clientip>string</clientip>
      <Latitude>string</Latitude>
      <Longitude>string</Longitude>
      <pinstatus>string</pinstatus>
      <key>string</key>
    </BulkApiProcess>
  </soap12:Body>
</soap12:Envelope>

Response

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length


<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

  <soap12:Body>
    <BulkApiProcessResponse xmlns="http://tempuri.org/">
      <BulkApiProcessResult>string</BulkApiProcessResult>
    </BulkApiProcessResponse>
  </soap12:Body>
</soap12:Envelope>

HTTP Get

Request

GET /towercoverage.asmx/BulkApiProcess?
       multicoverageid=string
              &Account=string
              &Firstname=string
              &lastname=string
              &Address=string
              &city=string
              &Country=string
              &State=string
              &zipcode=string
              &phonenumber=string
              &emailaddress=string
              &howdidyouhear=string
              &preferredmethod=string
              &besttimetocontact=string
              &comments=string
              &clientip=string
              &Latitude=string
              &Longitude=string
              &pinstatus=string
              &key=string HTTP/1.1

Response

Host: api.towercoverage.com
       HTTP/1.1 200 OK
       Content-Type: text/xml; charset=utf-8
       Content-Length: length

              <?xml version="1.0" encoding="utf-8"?>
              <string xmlns="http://tempuri.org/">string</string>  

HTTP Post

Request

POST /towercoverage.asmx/BulkApiProcess HTTP/1.1
       Host: api.towercoverage.com
       Content-Type: application/x-www-form-urlencoded
       Content-Length: length

              multicoverageid=string
              &Account=string
              &Firstname=string
              &lastname=string
              &Address=string
              &city=string
              &Country=string
              &State=string&zipcode=string
              &phonenumber=string
              &emailaddress=string
              &howdidyouhear=string
              &preferredmethod=string
              &besttimetocontact=string
              &comments=string
              &clientip=string
              &Latitude=string
              &Longitude=string&pinstatus=string
              &key=string


HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

Response

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">string</string>