// /auth/token/merchants?applicationid=[ApplicationId] (ApplicationId ) // $sign - SHA1-HMAC , , - path- URL // json, { "token": "9895DDA48379484ABC51A4B193CDAE04", "expiration": 600 } $sign = hash_hmac('sha1','/auth/token/merchants?applicationid=albion','[ ]'); $token = file_get_contents('https://api.ozon.ru/auth/token/merchants?applicationid=[ApplicationId]&sign='.$sign); $token = substr($token,10,32);
// json $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.ozon.ru/merchants/orders?StateName='); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( "x-ApplicationId: [ApplicationId]", "x-Token: ".$token, "x-ApiVersion: 0.1" )); $out = curl_exec($curl); curl_close($curl); // xml $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.ozon.ru/merchants/orders?StateName='); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( "accept: application/xml", "content-type: application/xml", "x-ApplicationId: [ApplicationId]", "x-Token: ".$token, "x-ApiVersion: 0.1" )); $out1 = curl_exec($curl); curl_close($curl);
// foreach($ids as $item) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.ozon.ru/merchants/orders/state/'.$item); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "<OrderStateRequest><StateSysName>ClientOrderStateMerchantAccepted</StateSysName></OrderStateRequest>"); curl_setopt($curl, CURLOPT_HTTPHEADER, array( "accept: application/xml", "content-type: application/xml", "x-ApplicationId: [ApplicationId]", "x-Token: ".$token, "x-ApiVersion: 0.1" )); $out = curl_exec($curl); curl_close($curl); }
<OrderStatesResponse> <OrderStates> <OrderState> <Name></Name> <SysName>ClientOrderStateMerchantCreated</SysName> </OrderState> <OrderState> <Name> </Name> <SysName>ClientOrderStateMerchantAwaitingPayment</SysName> </OrderState> <OrderState> <Name></Name> <SysName>ClientOrderStateMerchantPaymentDone</SysName> </OrderState> <OrderState> <Name> </Name> <SysName>ClientOrderStateMerchantAccepted</SysName> </OrderState> <OrderState> <Name></Name> <SysName>ClientOrderStateMerchantSent</SysName> </OrderState> <OrderState> <Name></Name> <SysName>ClientOrderStateMerchantDone</SysName> </OrderState> <OrderState> <Name></Name> <SysName>ClientOrderStateMerchantCanceled</SysName> </OrderState> </OrderStates> </OrderStatesResponse>
// $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.ozon.ru/merchants/orders/state/'.$order_number); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "<OrderStateRequest><StateSysName>ClientOrderStateMerchantCanceled</StateSysName><CancelReason>OrderCountMoreThanRest</CancelReason></OrderStateRequest>"); curl_setopt($curl, CURLOPT_HTTPHEADER, array( "accept: application/xml", "content-type: application/xml", "x-ApplicationId: [ApplicationId]", "x-Token: ".$token, "x-ApiVersion: 0.1" )); $out = curl_exec($curl); curl_close($curl);
Source: https://habr.com/ru/post/303938/