Commission Detail Service (REST)

ε祈祈猫儿з 提交于 2019-12-12 11:35:08

问题


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.


回答1:


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.

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




回答2:


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>



回答3:


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;

                            }



回答4:


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
                )

        )

)


来源:https://stackoverflow.com/questions/2794311/commission-detail-service-rest

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!