无聊哥 發表於 2022-7-14 09:42:00

shopee api

<p>文档地址:https://open.shopee.com/documents/v2/Introduction?module=87&amp;type=2</p>
<p>境外接口:</p>
<p>页面地址授权:</p>
<div class="cnblogs_code">
<pre>&lt;?php <span style="color: rgba(0, 0, 255, 1)">if</span>($model-&gt;partner_id &amp;&amp; $model-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key):
   $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/shop/auth_partner</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
   $redirect </span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://publish.xxxx.com/services/shopee/shopeenew/gettoken/id/{$model-&gt;id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
   $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
   $base_string </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">%s%s%s%s%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>,$model-&gt;partner_id,$url,$timestamp,<span style="color: rgba(128, 0, 0, 1)">''</span>,<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">);
   $sign </span>= hash_hmac(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sha256</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $base_string,$model-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key);
   $url</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">https://partner.shopeemobile.com</span><span style="color: rgba(128, 0, 0, 1)">'</span>.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$model-&gt;partner_id}&amp;redirect={$redirect}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span>?&gt;
&lt;li&gt;
   &lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">buttonActive</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
   &lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">buttonContent</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
   &lt;button type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">button</span><span style="color: rgba(128, 0, 0, 1)">"</span> onclick=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">checkAccessToken('&lt;?php echo $url; ?&gt;')</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;?php echo Yii::t(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">system</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">账号权限验证</span><span style="color: rgba(128, 0, 0, 1)">'</span>) ?&gt;&lt;/button&gt;
   &lt;/div&gt;
   &lt;/div&gt;
&lt;/li&gt;
&lt;?php endif; ?&gt;</pre>
<pre>&lt;script&gt;</pre>
<pre>function checkAccessToken(url){<br>    window.open(url);<br>}</pre>
<pre>&lt;/script&gt;</pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> ShopeenewController extends YbController
{
   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getModel($account)
   {
          </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> ShopeeNewAPI($account);
   }
   
   </span><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">
      */services/shopee/shopeenew/gettoken
      </span><span style="color: rgba(0, 128, 0, 1)">*/</span>
   <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function actionGettoken()
   {
          $code </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">code</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $id </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $shop_id </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/auth/token/get</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccount</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">findByPk($id);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$account) {
               exit(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          }
          $api </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">getModel($account);
          $reponse </span>= $api-&gt;<span style="color: rgba(0, 0, 0, 1)">getToken($code);
          $reponse </span>= json_decode($reponse, <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> ($reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]) {
               YbModel::model(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccount</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">updateAll([
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; time() + $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
               ], </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">shop_id = {$shop_id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
          } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
               VHelper::dump($reponse, [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span>], <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]]);
          }

   }

   </span><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">
      */services/shopee/shopeenew/refreshtoken/id/48
      *四小时过期
      </span><span style="color: rgba(0, 128, 0, 1)">*/</span>
   <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function actionRefreshtoken()
   {
          $id </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$id) {
               $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccount</span><span style="color: rgba(128, 0, 0, 1)">"</span>)-&gt;querypairs(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">id,seller_name</span><span style="color: rgba(128, 0, 0, 1)">"</span>, <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">activate_status=1 and refresh_token!='' </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
               </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$account){
                   exit(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">no account</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
               }
               </span><span style="color: rgba(0, 0, 255, 1)">foreach</span> ($account <span style="color: rgba(0, 0, 255, 1)">as</span> $key=&gt;<span style="color: rgba(0, 0, 0, 1)">$val){
                   $url </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">%s/services/shopee/shopeenew/refreshtoken?id=%s</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $_SERVER[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">HTTP_HOST</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">], $key);
                   print_r($url);
                   MHelper::curl_post_async($url);
               }
          } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
               $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccount</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">findByPk($id);
          }
          $api </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">getModel($account);
          $reponse </span>= $api-&gt;<span style="color: rgba(0, 0, 0, 1)">refreshToken($account);
          $reponse </span>= json_decode($reponse, <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> ($reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]) {
               $account</span>-&gt;token = $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];
               $account</span>-&gt;refresh_token = $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];
               $account</span>-&gt;expire_in = time() + $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];
               $account</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">save();
               VHelper::dump($reponse);
          } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
               VHelper::dump($reponse, [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span>], <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]]);
          }
   }
}</span></pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> ShopeeNewAPI
{
</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> $test_host = <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">https://partner.shopeemobile.com</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
    </span><span style="color: rgba(0, 0, 255, 1)">private</span><span style="color: rgba(0, 0, 0, 1)"> $shop_id,$partner_id,$secret_key,$url;

   function __construct($account){
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取配置信息</span>
          $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;shop_id = intval($account-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;partner_id = intval($account-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id);
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;secret_key = trim($account-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">基础接口域名,可能会根据账号而不同</span>
          $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host = Yii::app()-&gt;<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shopee_v2_host_url</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];//配置文件 https://partner.shopeemobile.com
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token = $account-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">private</span> function signature($url,$timestamp,$access_token=<span style="color: rgba(128, 0, 0, 1)">''</span>,$shop_id=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">){
          $base_string </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">%s%s%s%s%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id,$url,$timestamp,$access_token,$shop_id);
          $sign </span>= hash_hmac(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sha256</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $base_string,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $sign;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">static</span> function curlPost1($url,$post_data, $header,$timeout=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">){
          $ch </span>=<span style="color: rgba(0, 0, 0, 1)"> curl_init();
          curl_setopt($ch, CURLOPT_URL, $url);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">);
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span>($timeout &gt;= <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">){
               curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
          }
          </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">($header){
               curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
          }</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">{
               curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                         </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Content-Type: application/json;</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                         </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Accept:application/json</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                  )
               );
          }
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> post数据</span>
          curl_setopt($ch, CURLOPT_POST, <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> post的变量</span>
<span style="color: rgba(0, 0, 0, 1)">          curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
          $output </span>=<span style="color: rgba(0, 0, 0, 1)"> curl_exec($ch);
          curl_close($ch);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">返回获得的数据</span>
          <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $output;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> function http_get($url){
          $curl </span>=<span style="color: rgba(0, 0, 0, 1)"> curl_init();
          $headers[] </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Content-type: application/json</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">          $headers[] = "Accept:application/json";</span>
          curl_setopt($curl, CURLOPT_TIMEOUT, <span style="color: rgba(128, 0, 128, 1)">60</span><span style="color: rgba(0, 0, 0, 1)">);
          curl_setopt($curl, CURLOPT_URL, $url);
          curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
          curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
          curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
          curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">          curl_setopt($curl, CURLOPT_NOBODY, FALSE);</span>
          $reponse =<span style="color: rgba(0, 0, 0, 1)"> curl_exec($curl);
          curl_close($curl);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span> json_decode($reponse,<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getParams($account,$secret_key,$url){
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = (<span style="color: rgba(0, 0, 255, 1)">int</span>)$account-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = (<span style="color: rgba(0, 0, 255, 1)">int</span>)$account-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $account-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
          $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $base_string </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">%s%s%s%s%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>,$<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>],$url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>],$<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">          $base_string = sprintf("%s%s%s",$params['partner_id'],$url,$timestamp);</span>
<span style="color: rgba(0, 0, 0, 1)">
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] =hash_hmac(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sha256</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">, $base_string,$secret_key);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span> $URL = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;test_host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);

   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function Auth($account)
   {
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/shop/auth_partner</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $redirect </span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://publish.xxxxxx.com/services/shopee/shopeenew/gettoken/id/{$account-&gt;id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();

          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;redirect={$redirect}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $url;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getToken($code)
   {
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/auth/token/get</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $redirect </span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">'http://publish.xxxxxx.com'</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();

          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>=$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $api </span>=<span style="color: rgba(0, 0, 0, 1)"> NEW ShopeeNewAPI();
          $data </span>=<span style="color: rgba(0, 0, 0, 1)"> [
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">code</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt;<span style="color: rgba(0, 0, 0, 1)"> $code,
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">             'main_account_id'=&gt;$this-&gt;main_account_id,</span>
               <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id
          ];
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,json_encode($data));
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)">functionrefreshToken($account)
   {
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/auth/access_token/get</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $data </span>=<span style="color: rgba(0, 0, 0, 1)"> [
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $account-&gt;<span style="color: rgba(0, 0, 0, 1)">refresh_token,
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; (<span style="color: rgba(0, 0, 255, 1)">int</span>)$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id,
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; (<span style="color: rgba(0, 0, 255, 1)">int</span>)$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id
          ];
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,json_encode($data));
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getCategory(){
          $lanaguage </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">zh-hans</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_category</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">          $URL = $this-&gt;getParams($account,$this-&gt;secret_key,$url);</span>
          $<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
          $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
          $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
          $URL.</span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&amp;language={$lanaguage}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;

   }

   </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">realpath</span>
   <span style="color: rgba(0, 0, 255, 1)">public</span> function uploadImage($images,$exit=<span style="color: rgba(0, 0, 0, 1)">[]){
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/media_space/upload_image</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">          $img = 'D:\yunyi\erp\images/1539687148314.jpg';</span>
          $header =<span style="color: rgba(0, 0, 0, 1)"> array(
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Content-Type: multipart/form-data</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
          );
          $plat_img </span>=<span style="color: rgba(0, 0, 0, 1)"> [];
          </span><span style="color: rgba(0, 0, 255, 1)">foreach</span>($images <span style="color: rgba(0, 0, 255, 1)">as</span><span style="color: rgba(0, 0, 0, 1)"> $img){
               $base_url</span>=<span style="color: rgba(0, 0, 0, 1)"> md5($img);
               </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">($exit[$base_url]){
                  $plat_img[$base_url] </span>=<span style="color: rgba(0, 0, 0, 1)"> $exit[$base_url];
                  </span><span style="color: rgba(0, 0, 255, 1)">continue</span><span style="color: rgba(0, 0, 0, 1)">;
               }
               $real_path </span>=<span style="color: rgba(0, 0, 0, 1)"> realpath($img);
               $data </span>=<span style="color: rgba(0, 0, 0, 1)"> [
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> CURLFile($real_path),
               ];
               $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,$data,$header);
               $reponse </span>= json_decode($reponse,<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
               </span><span style="color: rgba(0, 0, 255, 1)">if</span>(!empty($reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">response</span><span style="color: rgba(128, 0, 0, 1)">'</span>][<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">image_info</span><span style="color: rgba(128, 0, 0, 1)">'</span>][<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">image_id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">])){
                  $plat_img[$base_url] </span>= $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">response</span><span style="color: rgba(128, 0, 0, 1)">'</span>][<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">image_info</span><span style="color: rgba(128, 0, 0, 1)">'</span>][<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">image_id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];
               }
          }
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $plat_img;
   }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">------------------------------------------------------活动接口
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取捆绑交易活动列表(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getbundledeallist(){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/bundle_deal/get_bundle_deal_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_size</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(128, 0, 128, 1)">100</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">time_status</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取捆绑交易活动的产品(XSH)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getbundledealitem($bundle_deal_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/bundle_deal/get_bundle_deal_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">bundle_deal_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $bundle_deal_id;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">活动ID</span>
      $timestamp =<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改捆绑活动产品状态</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatebundledealitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/bundle_deal/update_bundle_deal_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取附加交易活动列表(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getaddondeallist(){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/add_on_deal/get_add_on_deal_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_size</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(128, 0, 128, 1)">100</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">promotion_status</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ongoing</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取附件交易活动的主产品(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getaddondealmainitem($add_on_deal_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/add_on_deal/get_add_on_deal_main_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">add_on_deal_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $add_on_deal_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取附件交易活动的子产品(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getaddondealsubitem($add_on_deal_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/add_on_deal/get_add_on_deal_sub_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">add_on_deal_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $add_on_deal_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改附件交易活动主产品状态</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updateaddondealmainitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/add_on_deal/update_add_on_deal_main_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改附件交易活动子产品状态</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updateaddondealsubitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/add_on_deal/update_add_on_deal_sub_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">------------------------------------------------------产品接口

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取产品属性(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getAttributes($category_id){
      $lanaguage </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">zh-hans</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_attributes</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">category_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $category_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $URL.</span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&amp;language={$lanaguage}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取品牌(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getbrandlist($category_id,$offset,$page_size){
      $lanaguage </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">zh-hans</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_brand_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">category_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $category_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">status</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">offset</span><span style="color: rgba(128, 0, 0, 1)">'</span>] =<span style="color: rgba(0, 0, 0, 1)"> $offset;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_size</span><span style="color: rgba(128, 0, 0, 1)">'</span>] =<span style="color: rgba(0, 0, 0, 1)"> $page_size;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $URL.</span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&amp;language={$lanaguage}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取发货限制(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getdtslimit($category_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_dts_limit</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">category_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $category_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取产品上传限制(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getitemlimit(){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_item_limit</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取产品列表(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getitemlist($offset,$page_size){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_item_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">offset</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $offset;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_size</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $page_size;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">item_status</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">NORMAL</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取产品基本信息</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getitembaseinfo($item_id_list){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_item_base_info</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">item_id_list</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $item_id_list;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">need_tax_info</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">need_complaint_policy</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取产品额外信息</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getitemextrainfo($item_id_list){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_item_extra_info</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">item_id_list</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $item_id_list;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加产品(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function additem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/add_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新产品信息</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updateitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/update_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">删除产品信息</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function deleteitem($item_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/delete_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$item_id);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建/修改产品层级结构</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function inittiervariation($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/init_tier_variation</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改产品层级内容</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatetiervariation($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/update_tier_variation</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取模型列表</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getmodellist($item_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_model_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">item_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $item_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加模型</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function addmodel($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/add_model</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新模型</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatemodel($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/update_model</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">删除模型</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function deletemodel($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/delete_model</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">取消产品</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function unlistitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/unlist_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新价格(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updateprice($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/update_price</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新库存(xsh)</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatestock($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/update_stock</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">提升产品</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function boostitem($item_id_list){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/boost_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$item_id_list);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取提示产品列表</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getboostedlist(){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_boosted_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取产品促销信息</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getitempromotion($item_id_list){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/get_item_promotion</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">item_id_list</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $item_id_list;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新sip项目价格</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatesipitemprice($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/update_sip_item_price</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">------------------------------------------------------折扣接口

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加折扣活动</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function adddiscount($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/add_discount</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加折扣活动产品</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function adddiscountitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/add_discount_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 删除折扣活动</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function deletediscount($discount_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/delete_discount</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$discount_id);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">删除折扣活动中的产品</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function deletediscountitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/delete_discount_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取接口列表</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> function getdiscountlist($page_no=<span style="color: rgba(128, 0, 128, 1)">100</span>,$page_size=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/get_discount_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">discount_status</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ongoing</span><span style="color: rgba(128, 0, 0, 1)">'</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">upcoming/ongoing/expired/all.即将开始/正在进行/过期的/全部</span>
      $<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_no</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $page_no;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_size</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $page_size;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新折扣活动</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatediscount($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/update_discount</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更新折扣活动产品</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatediscountitem($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/update_discount_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">结束折扣活动</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function enddiscount($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/discount/end_discount</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">------------------------------------------------------热门精选
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获得热门精选</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function gettoppickslist(){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/top_picks/get_top_picks_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加一个热门精选 list最少需要四项</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function addtoppicks($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/top_picks/add_top_picks</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改热门精选list最少需要四项</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function updatetoppicks($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/top_picks/update_top_picks</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">删除热门精选</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function deletetoppicks($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/top_picks/delete_top_picks</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">listing置顶</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function topping($data){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/product/boost_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">shop_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($URL,$data);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
    }
}

</span>?&gt;</pre>
</div>
<p>CB卖家接口</p>
<p>主账户授权了所有的子账户</p>
<p><img src="https://img2023.cnblogs.com/blog/955434/202309/955434-20230907145718703-1109029741.png"></p>
<p><span style="color: rgba(255, 0, 0, 1)">&nbsp;授权得到上面的token对于所有的子账户都可以用,但当这个token过期了 各个子账户的token是单独刷新的 (用子账户的 shop_id)</span></p>
<div class="cnblogs_code">
<pre>https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">partner.shopeemobile.com/api/v2/auth/access_token/get?partner_id=1000016×tamp=1657263479&amp;sign=9c685bc7e4a74e90f45fe1933f1d72b2d9705acda4093a9fb1ec7e2b57ccea2a</span><span style="color: rgba(0, 0, 0, 1)">
{</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">shop_id</span><span style="color: rgba(128, 0, 0, 1)">"</span>:<span style="color: rgba(128, 0, 128, 1)">54804</span><span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">"</span>:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">456e416149664b76745a6a794156794a</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">"</span>:<span style="color: rgba(128, 0, 128, 1)">1000016</span><span style="color: rgba(0, 0, 0, 1)">
}</span></pre>
</div>
<p>文档:https://open.shopee.com/developer-guide/20</p>
<div class="cnblogs_code">
<pre>&lt;?php <span style="color: rgba(0, 0, 255, 1)">if</span>($model-&gt;partner_id &amp;&amp; $model-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key):
$url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/shop/auth_partner</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
$redirect </span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://publish.xxxxxx.com/services/shopee/shopeeglobal/gettoken/id/{$model-&gt;id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
$timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
$base_string </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">%s%s%s%s%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>,$model-&gt;partner_id,$url,$timestamp,<span style="color: rgba(128, 0, 0, 1)">''</span>,<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">);
$sign </span>= hash_hmac(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sha256</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $base_string,$model-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key);
$url</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">https://partner.shopeemobile.com</span><span style="color: rgba(128, 0, 0, 1)">'</span>.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$model-&gt;partner_id}&amp;redirect={$redirect}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span>?&gt;
&lt;li&gt;
   &lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">buttonActive</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
       &lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">buttonContent</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
         &lt;button type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">button</span><span style="color: rgba(128, 0, 0, 1)">"</span> onclick=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">checkAccessToken('&lt;?php echo $url; ?&gt;')</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;?php echo Yii::t(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">system</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">账号权限验证</span><span style="color: rgba(128, 0, 0, 1)">'</span>) ?&gt;&lt;/button&gt;
       &lt;/div&gt;
   &lt;/div&gt;
&lt;/li&gt;
&lt;?php endif; ?&gt;</pre>
<pre>&lt;script&gt;<br>    function checkAccessToken(url){<br>      window.open(url);<br>    }<br>&lt;/script&gt;</pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> ShopeeglobalController extends YbController
{
   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getModel($account)
   {
          </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> ShopeeGlobal($account);
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getApimodel($account)
   {
          </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> ShopeeNewAPI($account);
   }
   </span><span style="color: rgba(0, 128, 0, 1)">/*</span>
      <span style="color: rgba(0, 128, 0, 1)">*/</span>services/shopee/shopeeglobal/authglobal/id/<span style="color: rgba(128, 0, 128, 1)">1</span>
      */
   <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function actionAuthglobal()
   {
          $id </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$id) {
               exit(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">no account</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          }
          $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccountGlobal</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">findByPk($id);
          $api </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">getModel($account);
          $url </span>= $api-&gt;<span style="color: rgba(0, 0, 0, 1)">Auth($account);
          VHelper::dump($url);
   }
   </span><span style="color: rgba(0, 128, 0, 1)">/*</span>
      <span style="color: rgba(0, 128, 0, 1)">*/</span>services/shopee/shopeeglobal/<span style="color: rgba(0, 0, 0, 1)">gettoken
      </span>*/
   <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function actionGettoken()
   {
          $code </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">code</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $id </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $main_id </span>= (<span style="color: rgba(0, 0, 255, 1)">int</span>)Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">main_account_id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccountGlobal</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;findByPk($id);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">"partner_name='{$shop_id}'");</span>
          <span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$account) {
               exit(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          }
          $api </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">getModel($account);
          $reponse </span>= $api-&gt;<span style="color: rgba(0, 0, 0, 1)">getToken($code);
          $reponse </span>= json_decode($reponse, <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> ($reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]) {
               $merchant_id_list </span>= implode(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">,</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]);
               YbModel::model(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccountGlobal</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">updateAll([
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; time() + $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
               ], </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">merchant_account_id in ({$merchant_id_list})</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
               VHelper::dump($reponse);
          } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
               VHelper::dump($reponse, [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span>], <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]]);
          }

   }

   </span><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">
      */services/shopee/shopeeglobal/refreshglobaltoken/id/1
      </span><span style="color: rgba(0, 128, 0, 1)">*/</span>
   <span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function actionRefreshglobaltoken()
   {
          $id </span>= Yii::app()-&gt;request-&gt;getParam(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">id</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          $time </span>= time() + <span style="color: rgba(128, 0, 128, 1)">20</span> * <span style="color: rgba(128, 0, 128, 1)">3600</span><span style="color: rgba(0, 0, 0, 1)">;
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$id) {
               $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccountGlobal</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;find(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">account_status=1 and main_account_id!=0 and expire_in&lt;{$time}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
               </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$account)
                  exit(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">no account</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
          } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
               $account </span>= YbModel::model(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccountGlobal</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">findByPk($id);
          }
          $api </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">getModel($account);
          $reponse </span>= $api-&gt;<span style="color: rgba(0, 0, 0, 1)">refreshGlobalToken($account);
          $reponse </span>= json_decode($reponse, <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span> ($reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]) {
               YbModel::model(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">ShopeeAccountGlobal</span><span style="color: rgba(128, 0, 0, 1)">'</span>)-&gt;<span style="color: rgba(0, 0, 0, 1)">updateAll([
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; time() + $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">expire_in</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
               ],</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">merchant_account_id={$account-&gt;merchant_account_id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
               </span><span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 0, 1)">$id) {
                  $url </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">%s/services/shopee/shopeeglobal/refreshglobaltoken</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $_SERVER[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">HTTP_HOST</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]);
                  MHelper::curl_post_async($url);
               }
               VHelper::dump($reponse);
          } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
               VHelper::dump($reponse, [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">message</span><span style="color: rgba(128, 0, 0, 1)">'</span>], <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $reponse[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">error</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]]);
          }
   }
}</span></pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> ShopeeGlobal
{
    </span><span style="color: rgba(0, 0, 255, 1)">private</span><span style="color: rgba(0, 0, 0, 1)"> $merchant_id,$partner_id,$secret_key,$main_account_id;
   function __construct($account){
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取配置信息</span>
          $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;partner_id = intval($account-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id);
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;secret_key = trim($account-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">基础接口域名,可能会根据账号而不同</span>
          $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host = Yii::app()-&gt;<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">shopee_v2_host_url</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token = $account-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;main_account_id = (<span style="color: rgba(0, 0, 255, 1)">int</span>)$account-&gt;<span style="color: rgba(0, 0, 0, 1)">main_account_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;merchant_id = (<span style="color: rgba(0, 0, 255, 1)">int</span>)$account-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_account_id;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">private</span> function signature($url,$timestamp,$access_token=<span style="color: rgba(128, 0, 0, 1)">''</span>,$shop_id=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">){
          $base_string </span>= sprintf(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">%s%s%s%s%s</span><span style="color: rgba(128, 0, 0, 1)">"</span>,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id,$url,$timestamp,$access_token,$shop_id);
          $sign </span>= hash_hmac(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sha256</span><span style="color: rgba(128, 0, 0, 1)">'</span>, $base_string,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">secret_key);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $sign;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">static</span> function curlPost1($url,$post_data, $header,$timeout=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">){
          $ch </span>=<span style="color: rgba(0, 0, 0, 1)"> curl_init();
          curl_setopt($ch, CURLOPT_URL, $url);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">);
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
          </span><span style="color: rgba(0, 0, 255, 1)">if</span>($timeout &gt;= <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">){
               curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
          }
          </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">($header){
               curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
          }</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">{
               curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                         </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Content-Type: application/json;</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                         </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Accept:application/json</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                  )
               );
          }
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> post数据</span>
          curl_setopt($ch, CURLOPT_POST, <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> post的变量</span>
<span style="color: rgba(0, 0, 0, 1)">          curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
          $output </span>=<span style="color: rgba(0, 0, 0, 1)"> curl_exec($ch);
          curl_close($ch);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">返回获得的数据</span>
          <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $output;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> function http_get($url){
          $curl </span>=<span style="color: rgba(0, 0, 0, 1)"> curl_init();
          $headers[] </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Content-type: application/json</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">$headers[] = "Accept:application/json";</span>
          curl_setopt($curl, CURLOPT_TIMEOUT, <span style="color: rgba(128, 0, 128, 1)">60</span><span style="color: rgba(0, 0, 0, 1)">);
          curl_setopt($curl, CURLOPT_URL, $url);
          curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
          curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
          curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
          curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">curl_setopt($curl, CURLOPT_NOBODY, FALSE);</span>
          $reponse =<span style="color: rgba(0, 0, 0, 1)"> curl_exec($curl);
          curl_close($curl);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span> json_decode($reponse,<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">);
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function Auth($account)
   {
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/shop/auth_partner</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $redirect </span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://publish.xxxx.com/services/shopee/shopeeglobal/gettoken/id/{$account-&gt;id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;redirect={$redirect}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $url;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getToken($code)
   {
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/auth/token/get</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>=$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $data </span>=<span style="color: rgba(0, 0, 0, 1)"> [
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">code</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt;<span style="color: rgba(0, 0, 0, 1)"> $code,
               </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">'shop_id' =&gt; (int)$account-&gt;shop_id,</span>
               <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">main_account_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>=&gt;$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">main_account_id,
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id
          ];
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,json_encode($data));
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)">functionrefreshGlobalToken($account)
   {
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/auth/access_token/get</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">signature($url,$timestamp);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $data </span>=<span style="color: rgba(0, 0, 0, 1)"> [
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">refresh_token</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; $account-&gt;<span style="color: rgba(0, 0, 0, 1)">refresh_token,
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; (<span style="color: rgba(0, 0, 255, 1)">int</span>)$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id,
               </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span> =&gt; (<span style="color: rgba(0, 0, 255, 1)">int</span>)$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id
          ];
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,json_encode($data));
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getCategory(){
          $lanaguage </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">zh-hans</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/get_category</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">$URL = $this-&gt;getParams($account,$this-&gt;secret_key,$url);</span>
          $<span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
          $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
          $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
          $URL.</span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&amp;language={$lanaguage}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;

   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getAttributes($category_id){
          $lanaguage </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">zh-hans</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/get_attributes</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">category_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] =<span style="color: rgba(0, 0, 0, 1)"> $category_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">language</span><span style="color: rgba(128, 0, 0, 1)">'</span>] =<span style="color: rgba(0, 0, 0, 1)"> $lanaguage;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">need_region_mandatory</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($url);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;

   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getBrand($category_id){
          $lanaguage </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">zh-hans</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/get_brand_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">category_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] =<span style="color: rgba(0, 0, 0, 1)"> $category_id;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">offset</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">page_size</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = <span style="color: rgba(128, 0, 128, 1)">20</span><span style="color: rgba(0, 0, 0, 1)">;
          $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">status</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($url);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }


   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function addItem($data){
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/add_global_item</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}&amp;merchant_id={$this-&gt;merchant_id}&amp;access_token={$this-&gt;token}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,$data);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;

   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function addModel($data){
          $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/add_global_model</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
          $timestamp</span>=<span style="color: rgba(0, 0, 0, 1)"> time();
          $sign </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
          $url</span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;partner_id={$this-&gt;partner_id}&amp;sign={$sign}&amp;merchant_id={$this-&gt;merchant_id}&amp;access_token={$this-&gt;token}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
          $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">curlPost1($url,$data);
          </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;

   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getIteminfo($global_item_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/get_global_item_info</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">global_item_id_list</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $global_item_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }

   </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> function getModellist($global_item_id){
      $url </span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/api/v2/global_product/get_global_model_list</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">partner_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">partner_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">merchant_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">access_token</span><span style="color: rgba(128, 0, 0, 1)">'</span>]= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">token;
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">global_item_id</span><span style="color: rgba(128, 0, 0, 1)">'</span>]=<span style="color: rgba(0, 0, 0, 1)"> $global_item_id;
      $timestamp </span>=<span style="color: rgba(0, 0, 0, 1)"> time();
      $</span><span style="color: rgba(0, 0, 255, 1)">params</span>[<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">sign</span><span style="color: rgba(128, 0, 0, 1)">'</span>] = $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;signature($url,$timestamp,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;token,$<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">merchant_id);
      $URL </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;host.$url.<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?timestamp={$timestamp}&amp;</span><span style="color: rgba(128, 0, 0, 1)">"</span>.http_build_query($<span style="color: rgba(0, 0, 255, 1)">params</span><span style="color: rgba(0, 0, 0, 1)">);
      $reponse </span>= $<span style="color: rgba(0, 0, 255, 1)">this</span>-&gt;<span style="color: rgba(0, 0, 0, 1)">http_get($URL);
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> $reponse;
   }
}</span></pre>
</div>
<p>&nbsp;去掉产品名称和介绍的特殊字符</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$resdata['response']['item_name'] = preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&amp;-]/s', '', $resdata['response']['item_name']);
$resdata['response']['description'] = preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&amp;-]/s', '', $resdata['response']['description']);
</pre>
</div>
<p>  </p><br><br>
来源:https://www.cnblogs.com/xiangshihua/p/16476470.html
頁: [1]
查看完整版本: shopee api