Last active
February 5, 2021 12:57
-
-
Save kalbac/98dfd418abaa89c6f5cef3e9834074ac to your computer and use it in GitHub Desktop.
Формирования печатной формы этикетки для упаковки в формате pdf [API СДЭК версии 1.5]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /* | |
| * Сниппет предназначен для отправки XML запроса на сервер СДЭК для получения этикети ШК-места. | |
| * Имейте ввиду, что данный код не будет работать сам по себе, его нужно обернуть в какое то событие (хук) для его последующего вызова. | |
| * По вопросам обращайтесь на емайл [email protected] или через контактную форму https://woodev.ru/support | |
| * Нижеприведённый код необходимо вставить в файл functions.php вашей активной темы. | |
| * Автор кода не несёт отвественности в случае возникновеня каких либо проблем при использовании данного кода. | |
| * Любые изменения которые вы вносите в код вашего сайта, вы делаете это на свой страх и риск. | |
| * Код представлен для ознакомления как есть. Вы должны понимать что с этим кодом нужно делать. Если нет то обатитесь к профессионалам. | |
| */ | |
| $order_id = 0; //ID нужного заказа. Ноль нужно заменить на нужное значение. А вообще оно должно быть динамическое. | |
| $order = new WC_Edostavka_Orders( $order_id ); | |
| $current_date = date('Y-m-d'); | |
| $tracking_code = method_exists( $order, 'get_meta' ) ? $order->get_meta( '_edostavka_tracking_code' ) : $order->edostavka_tracking_code; //Получаем трек код из заказа | |
| /* | |
| * Формируем данные для формирования XML запроса | |
| */ | |
| $xml_data = array( | |
| 'OrdersPackagesPrint' => array( | |
| '@attributes' => array( | |
| 'Date' => $current_date, | |
| 'Account' => $order->login, | |
| 'Secure' => md5( $date . '&' . $order->secret ), | |
| 'OrderCount' => 1, | |
| 'CopyCount' => 1, | |
| 'PrintFormat' => 'A4' | |
| ), | |
| 'Order' => array( | |
| '@attributes' => array( | |
| 'DispatchNumber' => $tracking_code | |
| ) | |
| ) | |
| ) | |
| ); | |
| /* | |
| * Отпраляем данные на сервер СДЭК | |
| */ | |
| $response = wp_safe_remote_post( 'https://integration.cdek.ru/ordersPackagesPrint', array( | |
| 'body' => array( 'xml_request' => $order->xml->generate_response( $xml_data ) ) | |
| ) ); | |
| if( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 200 ) { | |
| $body = wc_edostavka_xml_to_array( wp_remote_retrieve_body( $response ) ); //Переменная $body будет содержать ответ от сервера СДЭК | |
| } | |
| ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment