У меня есть файл XML, который я могу автоматически генерировать и загружать ежедневно. И я хочу взять этот XML и автоматически обновить / закрыть заказы в Volusion и добавить номер для отслеживания …
У меня есть учетные данные API, зашифрованный PW и т. Д., И у меня есть этот XML, но мне не хватает промежуточной части, которая фактически выполняет импорт. и, надеюсь, через определенный интервал (например, ежедневно)
(Я стараюсь не загружать CSV вручную через веб-администратора каждый день)
мой XML выглядит так:
у кого-нибудь есть пример импорта чего-либо с помощью PHP / CURL? (У меня есть доступ к PHP на другом сервере)
От http://helpcenter.volusion.com/developers/get-building/order-management-trackingnumbers-developer
Образец данных XML-запроса
<?xml version="1.0" encoding="utf-8" ?>
<xmldata>
<TrackingNumbers>
<gateway>UPS</gateway>
<MarkOrderShipped>true</MarkOrderShipped>
<OrderID>XXXX</OrderID>
<SendShippedEmail>false</SendShippedEmail>
<Shipment_Cost>0</Shipment_Cost>
<ShippingMethodID>141</ShippingMethodID>
<TrackingNumber>XXXXXXXXXXXXX</TrackingNumber>
</TrackingNumbers>
</xmldata>
СООБЩЕНИЕ
POST http://yourdomain.com/net/[email protected]&EncryptedPassword=YOURPASS&Import=Insert-Update
У нас в Godaddy есть дешевый сервер за $ 5 в месяц, который является «посредником» для таких операций.
Это прекрасно работает, хотя и не обязательно, если у вас есть доступ к серверам Linux, как вы сказали.
Мы регулярно вызываем API для десятка различных функций, используя задания cron в Linux и выполняем cURL через PHP и MySQL. Вы можете сделать это, используя любой язык сценариев, который вам нравится!
У нас также есть несколько различных программных продуктов, работающих на серверах Microsoft в офисе, которые также взаимодействуют с Volusion.
Вы можете создавать серверные ASP-страницы, но их функциональность ограничена.
Вот базовый пример в PHP:
$url = 'http://www.yoursite.com/net/WebService.aspx?Login=USERNAME&EncryptedPassword=PASSWORD&Import=Update';
$xml = 'YOUR COMPLETE XML';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/x-www-form-urlencoded; charset=utf-8", "Content-Action:Volusion_API"));
$head = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);