chodzi o zapytanie do ebaya
?xml version="1.0" encoding="utf-8"?> <AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <RequesterCredentials> <eBayAuthToken>YOURTOKENHERE</eBayAuthToken> </RequesterCredentials> <Item> <Title>Apple MacBook Pro MB990LL/A 13.3 in. Notebook NEW</Title> <Description>Brand New Apple MacBook Pro MB990LL/A 13.3 in. Notebook!</Description>
......... itp standard generalnie
generalnie wysyła za pomocą
$request = $client->__soapCall($apiCall, dsm(array($Fields)), NULL, $header); //make the actual API call
gdzie fields to tablica w formie
...
'StartPrice'=>$context['node']->field_price['und'][0]['value'], 'ConditionID'=>$context['EbayTemplate']['ConditionID'], 'Country'=>'GB',
...
tworzy to coś takiego
<StartPrice>2</StartPrice> <ConditionID>Gb</ConditionID>
itd
wszystko śmiga do czasu, gdy niektóre rzeczy np wysyłka sklada się z wiekszej ilość tych samych tagów np aby wysłać 3 formy wysyłki trzeba wysłać
<ShippingServiceOptions>1opcja</ShippingServiceOptions> <ShippingServiceOptions>2opcja</ShippingServiceOptions> <ShippingServiceOptions>3opcja</ShippingServiceOptions>
zapytanie wygląda wtedy tak
'ShippingServiceOptions' => opcja1, 'ShippingServiceOptions' => opcja2, 'ShippingServiceOptions' => opcja3,
problem z tym że jak wiadomo array się nadpisuje i wysyła tylko ostatnią
można to ponoć zrobić nie używając array, ale obiektów, przykład z neta
$Names[]=new SoapVar("IAG Group",XSD_STRING,null,null,'names'); $Names[]=new SoapVar("Ticket #",XSD_STRING,null,null,'names'); $BigNames=new SoapVar($Names,SOAP_ENC_OBJECT,null,null,'Names'); $FlexFields=new SoapVar($FF,SOAP_ENC_OBJECT,null,null,'FlexFields');
Co ma ponoć dać
<Names> <names>IAG Group</names> <names>Ticket #</names> </Names>
,
ale coś nie mogę dojść co i jak :/