Giter VIP home page Giter VIP logo

Comments (10)

chuda avatar chuda commented on August 20, 2024

Столкнулся с такой же проблемой, если повторить запрос в консоле через curl то там ещё приходит ответ который не видно в браузере

"{"status":"error","data":{"errors":{"hashValid":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u043c."}},"error":"ERROR_WRONG_PARAMS"}" 

если декодировать ошибку, то получим "Значение должно быть истинным."

По какой-то причине неправильно считается secret_key, проверил по алгоритму для хорошего у меня он сходится, а для запроса с Access-Control-Allow-Origin он не верный.

from cart-widget.

chuda avatar chuda commented on August 20, 2024

проблема в том что в некоторых случаях в options.params которые участвуют в расчете контрольной суммы остается secret_key от предыдущего запроса, а именно в него и записывается новая контрольная сумма и поэтому происходит расхождение при проверке запроса не сервере.

нужно либо принудительно удалять secret_key перед вызовом createKey() либо игнорировать этот элемент при расчете контрольной суммы.

from cart-widget.

chuda avatar chuda commented on August 20, 2024

распечатка options.params - 1-ая строка до вызова utils.createKey, вторая после, 3-ая это как раз сообщение о неправильном запросе от сервера.

image

from cart-widget.

gunsguns avatar gunsguns commented on August 20, 2024

И как камрады - есть решение?

from cart-widget.

cramen avatar cramen commented on August 20, 2024

проблема уже локализована и в ближайшем релизе будет фикс

from cart-widget.

long-dachshund avatar long-dachshund commented on August 20, 2024

Доброго времени суток! Появилось ли решение проблемы?

from cart-widget.

cramen avatar cramen commented on August 20, 2024

Примерно пол года назад была исправлена эта проблема

from cart-widget.

long-dachshund avatar long-dachshund commented on August 20, 2024

Уважаемый(ая) cramen
Могли бы Вы подсказать что я делаю не так
Я делаю вот такой запрос

$methodKey = '<ключ метода>';
$secret_key = md5(getPostValues($_POST) . $methodKey);

function getPostValues($data)
{
	if (!is_array($data)) return $data;
	ksort($data);
	return join('', array_map(function($k){ 
		return getPostValues($k); 
	}, $data));
}

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://delivery.yandex.ru/api/last/createOrder");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, CURLOPT_POST, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, "client_id=данные&sender_id=данные&secret_key={$secret_key}&order_requisite=данные&order_warehouse=данные&order_num=Z987&order_weight=1&order_length=2&order_width=3&order_height=4&order_assessed_value=555&order_delivery_cost=321&is_manual_delivery_cost=1&order_amount_prepaid=200&order_shipment_date=2016-09-01&order_comment=Comment&recipient%5Bphone%5D=79991112233&recipient%5Bemail%5D=recipient%40example.com&recipient%5Bfirst_name%5D=79991112233&recipient%5Blast_name%5D=79991112233&order_items%5B0%5D%5Borderitem_name%5D=Sample+item&order_items%5B0%5D%5Borderitem_cost%5D=999&order_items%5B0%5D%5Borderitem_quantity%5D=1&order_items%5B0%5D%5Borderitem_article%5D=X590&deliverypoint%5Bcity%5D=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&delivery%5B%5D=");

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/x-www-form-urlencoded"
));

$response = curl_exec($ch);
curl_close($ch);

var_dump($response);

и получаю ответ

{
"status": "error",
"data": {
"errors": {
"hashValid": "Значение должно быть истинным."
}
},
"error": "ERROR_WRONG_PARAMS"
}

заранее спасибо!

from cart-widget.

cramen avatar cramen commented on August 20, 2024

Речь в тикете шла о виджете. Вы же воучную делаете запрос. В виджете доставка уже давно все починила. А как и зачем делать запрос на автокомплит вручную - это в техподдержку яндекс доставке

from cart-widget.

long-dachshund avatar long-dachshund commented on August 20, 2024

Спасибо!
Просто корзина своя пишется

from cart-widget.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.