0

I want to retrieve the subscription data like

Contact Id
SubscriptionPlanId
StartDate
EndDate
NextBillDate
Status

I wrote this code

/* */
###Include our XMLRPC Library###
###Set our Infusionsoft application as the client###
$client = new xmlrpc_client("https://ab2134.infusionsoft.com/api/xmlrpc");
###Return Raw PHP Types###
$client->return_type = "phpvals";
###Dont bother with certificate verification###
$client->setSSLVerifyPeer(FALSE);
###Build a Key-Value Array to store a contact###
$contact = array('Id','StartDate','EndDate','Status');
//$infusionemail=$this->SanitizeForSQL($emails);
$infusionemail="abhilashrajr.s@gmail.com";
###Set up the call###
$call = new xmlrpcmsg("DataService.findByField", array(
php_xmlrpc_encode($this->infusion_api), #The encrypted API key
php_xmlrpc_encode("RecurringOrder"), 
php_xmlrpc_encode("50"),
php_xmlrpc_encode("50"),
php_xmlrpc_encode("Id"),
php_xmlrpc_encode("15963"), 
//php_xmlrpc_encode($infusionemail),
php_xmlrpc_encode($contact) #The contact array
));
###Send the call###
$result = $client->send($call);
$resultArray = $result->value();
/**/###Check the returned value to see if it was successful and set it to a variable/display the results###
echo "Infusion ID=".$resultArray[0]['Id']."<br/>Infusion Start date=".$resultArray[0]['StartDate']."<br/>Infusion EndDate=".$resultArray[0]['EndDate']."<br/>Infusion Status=".$resultArray[0]['Status'];
}

It's not returning anything - can anyone help me with it?

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
GIC
  • 3
  • 2

1 Answers1

0

This would be much easier with one of the existing Infusionsoft API libraries rather than trying to create XML RPC calls by hand. Check out the great dev resources here: https://developer.infusionsoft.com/docs/xml-rpc/#data-find-a-record-by-matching-a-specific-field

For example, with the SDK, you could try:

$app = new iSDK();
// perform authorization tasks

$returnFields = array('Id','StartDate','EndDate','Status');
$orders = $app->dsFind('RecurringOrder',5,0,'Id',15963,$returnFields);

Lastly, whichever method you choose to go with, always check the errors returned as they often tell you what the issue is! :)

Jeremy
  • 60
  • 5