create prospects from towercoverage.com EUS, #39776
authorMark Wells <mark@freeside.biz>
Wed, 13 Apr 2016 22:07:40 +0000 (15:07 -0700)
committerMark Wells <mark@freeside.biz>
Wed, 13 Apr 2016 22:07:50 +0000 (15:07 -0700)
ng_selfservice/coverage_post.php [new file with mode: 0644]

diff --git a/ng_selfservice/coverage_post.php b/ng_selfservice/coverage_post.php
new file mode 100644 (file)
index 0000000..657a2ff
--- /dev/null
@@ -0,0 +1,43 @@
+<?
+
+$DEBUG = 1;
+
+require_once('freeside.class.php');
+
+$xml = file_get_contents('php://input');
+//error_log($xml);
+
+$doc = new SimpleXMLElement($xml);
+$cd = $doc->CustomerDetails;
+if ($DEBUG) {
+    error_log(var_dump($cd));
+}
+
+// State and Country are names rather than codes, but we fix that on the other
+// end.
+// It doesn't look like TowerCoverage ever sends a company name.
+$map_fields = Array(
+    'first'           => 'FirstName',
+    'last'            => 'LastName',
+    'address1'        => 'StreetAddress',
+    'city'            => 'City',
+    'state'           => 'State',
+    'country'         => 'Country',
+    'zip'             => 'ZIP',
+    'phone_daytime'   => 'PhoneNumber',
+    'emailaddress'    => 'EmailAddress',
+    'comment'         => 'Comment',
+    'referral_title'  => 'HearAbout',
+);
+
+$prospect = Array();
+// missing from this: any way to set the agent. this should use the API key.
+foreach ($map_fields as $k => $v) {
+    $prospect[$k] = (string)($cd->$v);
+}
+error_log(var_dump($prospect));
+$freeside = new FreesideSelfService();
+$result = $freeside->new_prospect($prospect);
+error_log(var_dump($result));
+
+?>