php - 如何确定 infusionsoft 联系人是否具有特定的标签 ID
问题描述
有没有人有一个 php 代码示例来检查 Infusionsoft 联系人是否具有特定标签?我正在使用以下代码插入 Infusionsoft Campaign Builder 图像功能。该代码是一个名为 buspass.php 的文件。在我用应用的代码扫描图像后,它没有显示“显示路线#”,与“如果”语句相呼应。扫描后的图像如下所示:QR 扫描后的图像
这是我所拥有的:
<html>
<code>
<p><img style="display: block; margin-left: auto; margin-right:auto;" src="https://d1yoaun8syyxxt.cloudfront.net/ib945-9ac2eb8c510b-4ac6-b282-bcd4552812f1-v2" alt="TOPA LOGO" width="80%" /></p>
<?php
require_once("isdk.php");
$app = new iSDK;
// Establish Connnection
if ($app->cfgCon("ib945"));
// Confirm Connection with Date Display
date_default_timezone_set("America/Phoenix");
echo "<div align='center'><h2>Scanned on " . $currentDate =
date("Y/m/d @ h:i:sa") . "<br/></h2></div>";
echo "<div align='center'><img src='https://d1yoaun8syyxxt.cloudfront.net/ib945-321c85f8-dafe-45a1-9388-ef7fb6b7b4ec-v2'/></div>";
// Call Infusiosoft Contact Information
$Id = $_REQUEST['id'];
$fname = $_REQUEST['fname'];
$lname = $_REQUEST['lname'];
$email = $_REQUEST['email'];
$phone1 = $_REQUEST['phone1'];
$sfname1 = $_REQUEST['sfname1'];
$slname1 = $_REQUEST['slname1'];
$sfname2 = $_REQUEST['sfname2'];
$slname2 = $_REQUEST['slname2'];
$sfname3 = $_REQUEST['sfname3'];
$slname3 = $_REQUEST['slname3'];
$sfname4 = $_REQUEST['sfname4'];
$slname4 = $_REQUEST['slname4'];
$sfname5 = $_REQUEST['sfname5'];
$slname5 = $_REQUEST['slname5'];
$sfname6 = $_REQUEST['sfname6'];
$slname6 = $_REQUEST['slname6'];
//Display Parent/Guardian Information
echo "<div align='center'><h1><u>PARENT/GUARDIAN INFORMATION:</u>
<br/><br/>
<div align='left'>Contact ID: $Id<br/>
Name: $fname $lname<br/>
Email: $email<br/>
Phone: $phone1<br/></h1></div>";
//Display Scholar Names
echo strtoupper ("<div align='center'><h1><u>BUS RIDER SCHOLAR
NAME(S):</u></h1></div>
<div align='left'><strong><font size='24'>$sfname1
$slname1<br/>$sfname2 $slname2<br/>$sfname3 $slname3<br/>$sfname4
$slname4<br/>$sfname5 $slname5<br/>$sfname6 $slname6</strong>
</div>");
//Display Route #'s
If($tagId == 1184 || $tagId == 1192) {
echo 'Route #1';
}
If($tagId == 1182 || $tagId == 1194) {
echo 'Route #2';
}
If($tagId == 1186 || $tagId == 1196) {
echo 'Route #3';
}
?>
<p><img style="display: block; margin-left: auto; margin-right:auto;" src="https://d1yoaun8syyxxt.cloudfront.net/ib945-585a8b93-7096-4240-b543-e40ffecc5699-v2" alt="Thumbs Up" width="60%" />
</code>
</html>
解决方案
我不确定 QR 扫描中的内容,但您似乎在 URL 中传递联系人和其他个人的信息,对吗?看起来您正在使用 iSDK。如果你有 iSDK 文件,你应该可以使用这样的东西:
如需获取联系方式:
$app = new iSDK;
if (!$app->cfgCon("CONNNAME"))
exit;
$returnFields = array('Email', 'FirstName', 'LastName', 'Company');
$conDat = $app->dsLoad("Contact", $contact_id, $returnFields);
if (isset($conDat['Email'])){
$email = $conDat['Email'];
}
if (isset($conDat['FirstName'])){
$FirstName = $conDat['FirstName'];
}
if (isset($conDat['LastName'])){
$LastName = $conDat['LastName'];
}
if (isset($conDat['Company'])){
$Company = $conDat['Company'];
}
您当然可以将字段更改为您需要的内容...
获取标签:
$app = new iSDK;
if (!$app->cfgCon("CONNNAME"))
exit;
$fields = array('Id', 'Groups');
$results = $app->loadCon($contact_id,$fields);
$BufferTEXT = "0,".$results['Groups'];
switch (true) {
case strpos($BufferTEXT,'1184') || strpos($BufferTEXT,'1192'):
echo 'Route #1';
break;
case strpos($BufferTEXT,'1182') || strpos($BufferTEXT,'1194'):
echo 'Route #1';
break;
case strpos($BufferTEXT,'1186') || strpos($BufferTEXT,'1196'):
echo 'Route #1';
break;
default:
echo 'No Assigned Route';
break;
}
我使用 $BufferTEXT 的原因是因为如果您的标签是第一个标签,则 strpos 函数将无法捕获它。因此,在数组的开头添加一个 0,为我修复了它。
我没有测试代码,我过去使用过类似的代码,它对我有用。我希望这能为您指明正确的方向。
我实际上测试了这段代码并且它有效,假设您实际上是使用连接字符串进行连接,而不仅仅是将您的应用程序 Id 放在 cfgCon 中,而且所有名称和 contactId 都进入 QR 码的 URL:
<html>
<code>
<p><img style="display: block; margin-left: auto; margin-right:auto;" src="https://d1yoaun8syyxxt.cloudfront.net/ib945-9ac2eb8c510b-4ac6-b282-bcd4552812f1-v2" alt="TOPA LOGO" width="80%" /></p>
<?php
include 'isdk.php';
$apiKey = 'YOURAPIKEY';
$secret = 'YOURSECRETKEY';
$app = new iSDK;
//I am assuming you have set up the connection string???
if (!$app->cfgCon("ib945"))
exit;
// Confirm Connection with Date Display
date_default_timezone_set("America/Phoenix");
echo "<div align='center'><h2>Scanned on " . $currentDate =
date("Y/m/d @ h:i:sa") . "<br/></h2></div>";
echo "<div align='center'><img src='https://d1yoaun8syyxxt.cloudfront.net/ib945-321c85f8-dafe-45a1-9388-ef7fb6b7b4ec-v2'/></div>";
// Call Infusionsoft Contact Information
// I am assuming that you are passing this data in the url???
$Id = $_REQUEST['id'];
$fname = $_REQUEST['fname'];
$lname = $_REQUEST['lname'];
$email = $_REQUEST['email'];
$phone1 = $_REQUEST['phone1'];
$sfname1 = $_REQUEST['sfname1'];
$slname1 = $_REQUEST['slname1'];
$sfname2 = $_REQUEST['sfname2'];
$slname2 = $_REQUEST['slname2'];
$sfname3 = $_REQUEST['sfname3'];
$slname3 = $_REQUEST['slname3'];
$sfname4 = $_REQUEST['sfname4'];
$slname4 = $_REQUEST['slname4'];
$sfname5 = $_REQUEST['sfname5'];
$slname5 = $_REQUEST['slname5'];
$sfname6 = $_REQUEST['sfname6'];
$slname6 = $_REQUEST['slname6'];
//Display Parent/Guardian Information
echo "<div align='center'><h1><u>PARENT/GUARDIAN INFORMATION:</u>
<br/><br/>
<div align='left'>Contact ID: $Id<br/>
Name: $fname $lname<br/>
Email: $email<br/>
Phone: $phone1<br/></h1></div>";
//Display Scholar Names
echo strtoupper ("<div align='center'><h1><u>BUS RIDER SCHOLAR
NAME(S):</u></h1></div>
<div align='left'><strong><font size='24'>$sfname1
$slname1<br/>$sfname2 $slname2<br/>$sfname3 $slname3<br/>$sfname4
$slname4<br/>$sfname5 $slname5<br/>$sfname6 $slname6</strong>
</div>");
//Display Route #'s
$fields = array('Id', 'Groups');
$results = $app->loadCon($Id,$fields);
$BufferTEXT = "0,".$results['Groups'];
switch (true) {
case strpos($BufferTEXT,'1184') || strpos($BufferTEXT,'1192'):
echo 'Route #1';
break;
case strpos($BufferTEXT,'1182') || strpos($BufferTEXT,'1194'):
echo 'Route #2';
break;
case strpos($BufferTEXT,'1186') || strpos($BufferTEXT,'1196'):
echo 'Route #3';
break;
default:
echo 'No Assigned Route';
break;
}
?>
<p><img style="display: block; margin-left: auto; margin-right:auto;" src="https://d1yoaun8syyxxt.cloudfront.net/ib945-585a8b93-7096-4240-b543-e40ffecc5699-v2" alt="Thumbs Up" width="60%" />
</code>
</html>
推荐阅读
- javascript - 角度日期和时间验证 MM/DD/YYY HH24MI
- javascript - 表单验证有效,但当用户输入错误答案时仍然提交
- python - Python Bleak 扫描广告并退出事件循环
- list - Haskell 将一个列表与测试用例相加
- docker - MAC M1 2020 处理器的等效 Docker Linux 命令
- c# - gRPC 使用 C# 连接到 Concordium 区块链 API
- openssl - 获取 OpenSSL 的 OpenSC PKCS11 引擎日志
- c++ - 非参数化构造函数的目的是什么?
- javascript - 为什么单击按钮在 JS 中没有给出有效的文本?
- r - 如果组内全部缺失,R替换缺失值