如何根据cj api中的类别检索产品目录? [英] how to retrieve products catalogs based on category in cj api?

查看:22
本文介绍了如何根据cj api中的类别检索产品目录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 CJ API,我们需要根据类别检索所有产品目录.任何人使用过这种类型的概念,请与我分享

I am using CJ API we need to retrieve all products catalogs based on categories. any one used this type of concept please share with me

推荐答案

更新答案我为在 Commission Junction 测试 REST API 编写的一个小脚本.

Updated Answer A small script I wrote for testing the REST API over at Commission Junction.

PHP 代码:

<?php

function ConnectToCJ() 
{
    global $sort_order, $sort_by;

    //
    // Build REST URI for product search. Refer to 
    // documentation for more request parameters.
    //
    $URI = 'https://product-search.api.cj.com/v2/product-search?'.
        'website-id=<INSERT ID>'.   // USE YOUR OWN.
        '&low-price=1'.
        '&records-per-page=25'.
        '&sort-order='. $sort_order .
        '&sort-by='. $sort_by .
        '&keywords='. rawurlencode($_GET['keywords']);

    $context = stream_context_create(
    array(
    'http' => array(
        'method' => 'GET',
        'header' => 'Authorization: ' . // USE YOUR OWN.
            '0012345b5ffdb74cd401e1aade0f69cadca29c834781c0936'.
            'b0b0836383b4e3e8dd7b406612347c3813bda24f8354dd649'.
            '6679031d8bc46f0dea1943a747ae0025/0093500ab1417918'.
            'f621234038b1234e8c4b0b22ea9f9cbc1db37a592247676ae'.
            'c528388bad7a06c9532c46fba2d0815e81e1234a9b25d9173'.
            '2f46f93123444dc1'
        )
    ));

    $response = new SimpleXMLElement(file_get_contents($URI, false, $context));
    return $response;
}

// A separate function to parse data.
function FormatCJResponse($data) 
{
    global $sort_order;

    $ProductList = '<table border="0" cellspacing="2" cellpadding="2" style="width:800px; margin: auto 0px">'.
            '<tr style="font-weight:bold">'.
            '<td><a href="?keywords='. rawurlencode($_GET['keywords']) .'&sort-by=name&sort-order='. SetOrder('name') .'>Product Name</a></td>'.
            '<td>Advertiser Name</td>'.
            '<td><a href="?keywords='. rawurlencode($_GET['keywords']) .'&sort-by=price&sort-order='. SetOrder('price') .'>Price</a></td>'.
            '<td>Description</td>'.
            '<td>Image</td>'.
            '</tr>';

    $attributes = $data->products->attributes();
    if ($attributes->{'total-matched'} == '0')
        $ProductList .= '<tr><td colspan="5">No products found ...</td></tr>';

    foreach ($data->products[0] as $product) 
    {
        // Sanitize data.
        $price = number_format((float)$product->price, 2, '.', ' ');

        $image = '<img src="ImageHandler.php?fileName='. 
                $product->{'image-url'} .'">';

        // Add to list.
        $ProductList .= '<tr><td colspan="5"> </td></tr>'.
        '<tr>'.
        '<td valign="top">'. $product->name .'</td>'.
        '<td valign="top">'. $product->{'advertiser-name'} .'</td>'.
        '<td valign="top">'. $price .' '. $product->currency .'</td>'.
        '<td valign="top">'. $product->description .'</td>'.
        '<td valign="top">'. $image .'</td>'.
        '</tr>';
    }

    $ProductList .= '</table>';
    return $ProductList;
}

// Sorts out individual sorting.
function SetOrder($param)
{
    global $sort_by, $sort_order;

    if ($sort_by == $param && $sort_order == 'asc') {
        $order = 'desc" title="Sort by descending order"';
    } else {
        $order = 'asc" title="Sort by ascending order"';
    }

    return $order;
}

if (isset($_GET['keywords'])) {
    if ($_GET['keywords'] != '') {

        // Sort order.
        if (!isset($_GET['sort-order'])) {
            $sort_order = 'asc';
        } else {
            switch ($_GET['sort-order']) {
            case 'asc':
                $sort_order = 'asc';
                break;
            case 'desc':
                $sort_order = 'desc';
                break;
            default:
                $sort_order = 'asc';
            }
        }

        // Sort by
        if (!isset($_GET['sort-by']))
            $sort_by = 'name';
        else
            $sort_by = $_GET['sort-by'];

        // Connect to CJ and get formatted results.
        $ProductList = FormatCJResponse(ConnectToCJ());
    }
}
?>

只需检查并打印 $ProductList 中的内容:

Just check for and print the content in $ProductList:

这篇关于如何根据cj api中的类别检索产品目录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆