Bulk API Process / Bulk Upload API
Purpose
The bulk upload API is a feature of Tower Coverage.com that is only usable by Tier 3 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.
Fields
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>