[Nielsen Brandbank + PHP] Komunikacja po API

  • Start
  • Blog
  • [Nielsen Brandbank + PHP] Komunikacja po API
14-12-2018

Nielsen Brandbank oferuje dostarczanie danych zdjęc, opisów które możemy wykorzystać w sklepie internetowym. Aby pobrać danę z API musimy wysłać plik xml zawierający dane produktów skompresowanyw  formacie zip. Podstawowa wersja XML zawiera:

<RetailerFeedbackReport xmlns="http://www.brandbank.com/schemas/CoverageFeedback/2005/11">
<Message DateTime="2018-12-14T06:39:18.000" Domain="API" /><Item>
   <RetailerID>{id_produktu}</RetailerID>
   <Description><![CDATA[  {nazwa_produktu}  ]]></Description>
   <GTINs>
        <GTIN Value="{ean_produktu}">
                        <Suppliers>
                                        <Supplier>
                         <SupplierCode><![CDATA[ {kod_producenta} ]]></SupplierCode>
                         <SupplierName><![CDATA[ [nazwa_producenta} ]]></SupplierName>
                      </Supplier>
              </Suppliers>
        </GTIN>
   </GTINs>
  <OwnLabel>false</OwnLabel>
</Item>

</RetailerFeedbackReport>
 

Gdzie pola : {kod_producenta},  {nazwa_produktu} , {kod_producenta}, {ean_produktu} Zameniamy na swoje wartośći, następnie plik kompresujemy do zip. 

Przekazanie pliku możemy wykonać za pomocą kodu PHP i SoapClient :

$list  = file_get_contents( $zipFile ) ;
$client = new SoapClient("https://api.brandbank.com/svc/feed/reportdata.asmx?WSDL", array('guid' => $guid));

$authData = new stdClass();
$authData->ExternalCallerId = $guid;
$authHeader = new SoapHeader('http://www.i-label.net/Partners/WebServices/DataFeed/2005/11', 'ExternalCallerHeader', $authData);
$client->__setSoapHeaders($authHeader);
$response = $client->SupplyCompressedCoverageReport(array(
                                                        'rawFileData'     => $list
                                                        ));

 

Gdzie $guid zawiera GUID nadane przez Nielsen Brandbank a $zipFile zawiera ścieżke do pliku zip.

 

 

Poprzedni wpis