Commission Detail Service (REST)

1.5k views Asked by At

Can someone who uses CJ's Commission Detail Service (REST) tell me what a sample XML response is for this query.

None of CJ's Web Services documentation indicates exactly how the XML is formatted and as I don't have any commission payments yet I can only guess the result.

4

There are 4 answers

1
arctic_Oak On BEST ANSWER

All the above answers are now outdated. The new response contains the total of 20 different items. Recently I've raised a ticket on CJ and this is the response I got.enter image description here

I have written one python script for polling commission detail service api. I have covered all parts of commission detail service api by fetching original_action_id of the first response(Commissions Resource) and calling the 2nd part of it(Item-Detail Resource). Finally I'm merging both those XML into a single dictionary.

https://github.com/arcticOak2/cj-commission-detail-service-api-complete-python-script

0
Michael On

I just used simplexml_load_string( $response ) to get it as xml feed as already answered but the object would appear as follows:

SimpleXMLElement Object
(
    [commissions] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [total-matched] => 1
                )

            [commission] => SimpleXMLElement Object
                (
                    [action-status] => new
                    [action-type] => lead
                    [aid] => 12345678
                    [commission-id] => 123456789
                    [country] => SimpleXMLElement Object
                        (
                        )

                    [event-date] => 2010-05-08T08:08:55-0700
                    [locking-date] => 2010-06-10
                    [order-id] => 123456
                    [original] => true
                    [original-action-id] => 123456789
                    [posting-date] => 2010-05-08T10:01:22-0700
                    [website-id] => 999999
                    [cid] => 123456
                    [advertiser-name] => Merchant
                    [commission-amount] => 0
                    [order-discount] => 0
                    [sid] => 0
                    [sale-amount] => 0
                )

        )

)
0
musmanjaved On

THis is an example which will read each node in the your above sample XML report. you can extract the required values and save them into the DB...... smiles :).

$cHTML='<?xml version="1.0" encoding="UTF-8"?>
    <cj-api>
        <commissions total-matched="1">
            <commission>
                <action-status>
                    new
                </action-status>
                <action-type>
                    lead
                </action-type>
                <aid>
                    12345678
                </aid>
                <commission-id>
                    1234567890
                </commission-id>
                <country>
                </country>
                <event-date>
                    2010-05-08T08:08:55-0700
                </event-date>
                <locking-date>
                    2010-06-10
                </locking-date>
                <order-id>
                    123456
                </order-id>
                <original>
                    true
                </original>
                <original-action-id>
                    1234567890
                </original-action-id>
                <posting-date>
                    2010-05-08T10:01:22-0700
                </posting-date>
                <website-id>
                    1234567
                </website-id>
                <cid>
                    1234567
                </cid>
                <advertiser-name>
                    Merchant
                </advertiser-name>
                <commission-amount>
                    0
                </commission-amount>
                <order-discount>
                    0
                </order-discount>
                <sid>
                    0
                </sid>
                <sale-amount>
                    0
                </sale-amount>
            </commission>
        </commissions>
    </cj-api>';
   echo  "i am here".$cHTML;
     $xml2=simplexml_load_string($cHTML);
      if ($xml2)
      {             $advertiserId='';
                    $orderno='';
                    $commission="";
                    $uid="";
                    $actiontype="";
                    $network="CommissionJunction";
                    foreach ($xml2->children() as $item) 
                            {
                             echo "ist".$item->getName()."<br>";

                             foreach ($item->children() as $node) 
                            {
                             echo "2nd".$node->getName()."<br>";
                                     foreach ($node->children() as $value) 
                                    {

                                     if ($value->getName()=='primary-category')///CATEGORIES
                                     {
                                     echo $value->getName().":".$value->parent.":".$value->child."<br>" ;
                                     //$vendorcategories=$value->parent;
                                     }
                                     elseif ($value->getName()=='actions')///COMMISION TERMS
                                     {
                                     echo $value->getName().":".$value->action->type."<br>" ;
                                     //$commissionon=$value->action->type;

                                     //echo $value->getName().":".$value->action->commission->default."<br>" ;
                                     //$commissioninfo=$value->action->commission->default;
                                     }elseif ($value->getName()=='advertiser-name')///ADVERTISER NAME
                                     {
                                     echo $value->getName().":".$value."<br>";
                                     //$vendor_name=$value;
                                     }elseif ($value->getName()=='program-url')///ADVERTISER NAME
                                     {
                                     echo $value->getName().":".$value."<br>" ;
                                     //$vendorurl=$value;
                                     }
                                      elseif ($value->getName()=='relationship-status')///ADVERTISER NAME
                                     {
                                     echo $value->getName().":".$value."<br>" ;
                                     //$approval=$value;
                                     }
                                     elseif ($value->getName()=='seven-day-epc')///ADVERTISER NAME
                                     {
                                     echo $value->getName().":".$value."<br>" ;
                                     //$epc_value=$value.",";
                                     }elseif ($value->getName()=='three-month-epc')///ADVERTISER NAME
                                     {
                                     echo $value->getName().":".$value."<br>" ;
                                     //$epc_value.=$value;

                                     }                                    
                                     else
                                     {
                                     echo "3rd".$value->getName().":".$value."<br>" ;

                                     }

                                    }

                            }
                              //echo $count;

                                //if($count>0)
                                //{
                                    //echo $item[$count];
                                //}
                                //$count = $count + 1;

                            }
0
Michael On

Found out the hard way by signing up to one of my publishers :

<?xml version="1.0" encoding="UTF-8"?>
    <cj-api>
        <commissions total-matched="1">
            <commission>
                <action-status>
                    new
                </action-status>
                <action-type>
                    lead
                </action-type>
                <aid>
                    12345678
                </aid>
                <commission-id>
                    1234567890
                </commission-id>
                <country>
                </country>
                <event-date>
                    2010-05-08T08:08:55-0700
                </event-date>
                <locking-date>
                    2010-06-10
                </locking-date>
                <order-id>
                    123456
                </order-id>
                <original>
                    true
                </original>
                <original-action-id>
                    1234567890
                </original-action-id>
                <posting-date>
                    2010-05-08T10:01:22-0700
                </posting-date>
                <website-id>
                    1234567
                </website-id>
                <cid>
                    1234567
                </cid>
                <advertiser-name>
                    Merchant
                </advertiser-name>
                <commission-amount>
                    0
                </commission-amount>
                <order-discount>
                    0
                </order-discount>
                <sid>
                    0
                </sid>
                <sale-amount>
                    0
                </sale-amount>
            </commission>
        </commissions>
    </cj-api>