Импорт / вставка продукта с использованием Volusion API

Я пытаюсь импортировать / вставлять свои продукты в свою таблицу продуктов в volusion через API-интерфейс Volusion. Я использовал пример PHP-кода, предоставленного Volusion.

    $file = file_get_contents('C:\Users\Ray\Desktop\3.txt', true);

//  Create the Xml to POST to the Webservice

$Xml_to_Send = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
$Xml_to_Send .= "<Volusion_API>";
//  $Xml_to_Send .= "<!--";
$Xml_to_Send .= $file;
//  $Xml_to_Send .= "\"\"";
//  $Xml_to_Send .= "-->";
$Xml_to_Send .= "</Volusion_API>";

$url = "http://.servertrust.com/net/[email protected]&EncryptedPassword=1234&Import=Insert";

$header  = array(
"MIME-Version: 1.0",
"Content-type: text/xml; charset=utf-8",
"Content-transfer-encoding: text",
"Request-number: 1",
"Document-type: Request",
"Interface-Version: Test 1.4");

//  Post and Return Xml
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $Xml_to_Send);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$data = curl_exec($ch);

//  Check for Errors
if (curl_errno($ch)) {
print curl_error($ch);
} else {
curl_close($ch);
}

//  Display the Xml Returned on the Browser
echo $data;

Этот код прекрасно работает, пока мой xml-файл меньше 10 МБ, что является пределом для обычного импорта. Когда я пытаюсь импортировать что-либо поверх, я получаю эту ошибку:

<ReturnResult>
<Success>False</Success>
<Message>Maximum request length exceeded.</message>
</ReturnResults>Send Failure: Connection was reset

Есть ли способ обойти этот предел? Как я уже говорил, код работает отлично, пока я не достигну предела 10 МБ, когда получаю эту ошибку. Текущий файл, который я пытаюсь импортировать, составляет всего 30 МБ. Любой сценарий или решение, которые увеличивают размер файла ???

1

Решение

Тебе придется разбить файл. Я обнаружил, что не могу импортировать более 10 или более продуктов одновременно, не сталкиваясь с ошибками тайм-аута curl (код ошибки 28).

0

Другие решения

Вы также можете написать скрипт, который разбивает ваш файл перед загрузкой на небольшие куски. Для более подробной информации вы можете посетить ссылку ниже.

Разделение файла перед загрузкой

Помните одну вещь: ваш скрипт не меняет формат файла по сравнению с его исходной формой, например, файл находится в форме json, поэтому чанк должен быть в форме json.

Вы также можете динамически отправлять продукты на свой Volusion API.

Другой причиной может быть ценовой план, потому что я также сталкивался с проблемой такого типа, в то время мой волюсиональный (магазинный) план был MINI. Для ознакомления с тарифными планами и правами на этот план вы можете перейти по этой ссылке.

Волузус тарифный план и их права

0

По вопросам рекламы [email protected]