Code Monkey home page Code Monkey logo

nova-poshta-api-2's People

Contributors

ezoterik avatar holyspecter avatar lis-dev avatar maxcxam avatar pinchukd avatar rshkabko avatar sap55 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nova-poshta-api-2's Issues

Некоторые неточности с некоторыми городами

Прежде хочу Вас поблагодарить за Ваш труд, интегрировал ее на свой сайт , но есть проблема, попробую описать:

  • проблема с созданием интернет ТТН в которой присутствует город Покровск( смею предположить, что и другие города могут быть с проблемами), Ваш код:
    public function testNewInternetDocument($sender)
    {
    $result = $this->np->newInternetDocument(
    array(
    'LastName' => $sender['LastName'],
    'FirstName' => $sender['FirstName'],
    'MiddleName' => $sender['MiddleName'],
    'City' => 'Киев',
    'Region' => 'Киевская',
    'Warehouse' => 'Отделение №1: ул. Пироговский путь, 135',
    ),

я изменил на такой и вроде как заработало с городом отправителя Покровск:
$result = $np->newInternetDocument(
array(
'LastName' => $sender['LastName'],
'FirstName' => $sender['FirstName'],
'MiddleName' => $sender['MiddleName'],
'CitySender' => 'e71a0c98-4b33-11e4-ab6d-005056801329',
'SenderAddress' => '5a39e562-e1c2-11e3-8c4a-0050568002cf',
),

а вот с получателем есть проблема. Ввожу город получателя "Покровск" по Вашему коду:
array(
'FirstName' => 'Виктория',
'MiddleName' => 'Викторовна',
'LastName' => 'Ремизова',
'Phone' => '380950960973',
'City' => 'Покровск',
'Region' => 'Донецкая',
'Warehouse' => 'Відділення №3 (до 30 кг): вул. Поштова (ран. Соціалистична), 12',
),

и получаю ответ от новой почты
array(1) { [0]=> string(26) "CityRecipient not selected" }

Пробовал сделать так же как и с отправителем , получаю ошибку от sdk:

Fatal error: Uncaught Exception: City is required filed for recipient in /home/virtwww/w_4girl-org_aa83ed29/http/admin/include/Delivery/NovaPoshtaApi2.php:866 Stack trace: #0 /home/virtwww/w_4girl-org_aa83ed29/http/admin/include/Delivery/NovaPoshtaApi2.php(928): LisDev\Delivery\NovaPoshtaApi2->checkInternetDocumentRecipient(Array) #1 /home/virtwww/w_4girl-org_aa83ed29/http/admin/include/creat_ttn_np.php(49): LisDev\Delivery\NovaPoshtaApi2->newInternetDocument(Array, Array, Array) #2 {main} thrown in /home/virtwww/w_4girl-org_aa83ed29/http/admin/include/Delivery/NovaPoshtaApi2.php on line 866

getDocumentList

Покажите как правильно пользоваться getDocumentList? у меня постоянно возрощяет пусто :(

$np = new NovaPoshtaApi2(NPKEY, 'ru');
$rez=$np->getDocumentList(array('GetFullList'=>1, "DateTimeFrom"=>"01.10.2018", "DateTimeFrom" => "12.10.2018"));
print_r($rez);

Array
(
[success] => 1
[data] => Array
(
)
[errors] => Array
(
)
[warnings] => Array
(
)
[info] => Array
(
[totalCount] => 0
)
[messageCodes] => Array
(
)
[errorCodes] => Array
(
)
[warningCodes] => Array
(
)
[infoCodes] => Array
(
)

)

Новая почта начало ругаться на получателя

Раньше все работало хорошо а теперь новая почта начала ругаться мол не выбран контрагент
[errors] => Array
(
[0] => Recipient not selected
[1] => ContactRecipient not selected
[2] => RecipientsPhone invalid format
)

Имея номер телефона получателя как проверить есть ли он у меня в НП и если есть получить индификатор, если нет завести?

getCounterparties

Не могу понять, при вызове $senderInfo = $this->np->getCounterparties('Sender', 1, '', '');
в ответ приходит

[
"success" => true
"data" => array:1 [
0 => array:13 [
"Description" => "Приватна особа"
"Ref" => "dadb580b-7c5c-11e8-8b24-00"
"City" => "00000000-0000-0000-0000-0000"
"Counterparty" => null
"FirstName" => "Приватна особа"
"LastName" => ""
"MiddleName" => ""
"CounterpartyFullName" => ""
"OwnershipFormRef" => ""
"OwnershipFormDescription" => ""
"EDRPOU" => ""
"CounterpartyType" => "PrivatePerson"
"CityDescription" => ""
]
]
"errors" => []
"warnings" => []
"info" => array:1 [
"totalCount" => 1
]
"messageCodes" => []
"errorCodes" => []
"warningCodes" => []
"infoCodes" => []
]

Нету даных отправителя. В чем ошибка?

Невозможность создания отправителя при создании ЭН

Новая Почта заблокировала возможность использования контрагентов-получателей в качестве отправителей. Таким образом, отправителя теперь необходимо создавать вручную. Для большинства пользователей метод save() модели Counterparty вернет ошибку о невозможности создания им контаргента-отправителя. Поддержка Новой Почты рекомендует использовать метод cloneLoyaltyCounterpartySender() для создания контрагента с данными аккаунта в другом городе. При этом, не смотря на то, что данный метод возвращает статус true и выполняется без ошибок, вновь созданного контрагента-отправителя вы не найдете ни вызвав getCounterparties, ни в личном кабинете (здесь вы можете только увидеть, что "Контрагент создается" без получения каких-либо временных рамок). Таким образом, в данный момент нет возможности динамически создать отправителя и сразу же его использовать для создания ЭН, можно работать только с уже существующими отправителями.

Фикс тестов

Необходимо актуализировать тесты в соответствие с текущей версией апи

Обратная доставка

'BackwardDeliveryData' => array(
array(
// Кто оплачивает обратную доставку
'PayerType' => 'Recipient',
// Тип доставки
'CargoType' => 'Money',
// Значение обратной доставки
'RedeliveryString' => 4552,
)
)

поля внутри массива полностью игнорируются. можно что угодно засунуть , но главное при правильных полях не создается наложеный платеж

Новый ЕН

Не нашол фукцию создаюшюю ЕН может я не разобрался но доки нет

WarehouseDoors - Создание экспресс-накладной на адрес

Добрый день!
Подскажите что не так когда указываю отправку на адрес
вроде как пару раз сработало - потом начало отправить полюбому на отделение

при отправки на адрес указываю:

$optionsArray['ServiceType'] = 'WarehouseDoors';
$optionsArray['RecipientCityName'] = "Название города";
$optionsArray['RecipientAddressName'] = "Название улицы";
$optionsArray['RecipientHouse'] = "Номер дома";
$optionsArray['RecipientFlat'] = 'Этаж';

Наложенный платёж с отправкой денег на карту

Такое вообще возможно организовать? Не нашёл инфы ни в документации, ни в данной либе. Может через подписание каких-то договоров?
Написал в техподдержку - молчат второй день.
Без возможности автоматически создавать накладные 90% функциональности всего API отмирает.

Не хочет подключать класс

Fatal error: Class 'NovaPoshtaApi2' not found in F:\OSPanel\domains\test.loc\nova.php on line 3
После установки выдает такую ошибку. В чем может быть проблема?

getAreas

Данный метод есть у новой почты. "getAreas"

Создаются не в тот город

Добрый день, подключил библиотеку, все работает , спасибо, но столкнулся уже второй раз с проблемой, что создало ттн не в тот город. кидаю код:

array(
'FirstName' => $row_order_data['order_name'],
'MiddleName' => $row_order_data['order_patronymic'],
'LastName' => $row_order_data['order_surname'],
'Phone' => $row_order_data['order_phone'],
'City' => 'Калинівка',
'Region' => 'Київська',
'Warehouse' => 'Відділення №1: вул. Центральна, 57',
),

Если данные получателя будут по такому адресу и городу- то к сожалению ттн создается на такое отделение :

Калинівка (Броварський р-н), Відділення № 1: вул. Чернігівська, 9/1

Было еще одно село, что так создалось..

Кто то сталкивался с такой проблемой?

Неоголошена змінна $error

Якшо немає errors, то вилітає notice, що $error не оголошена в методах getCity, getWarehouse, getArea.

Наприклад:

Notice: Undefined variable: error in src/Delivery/NovaPoshtaApi2.php on line 448

Fix:
оголосити змінну
$error = NULL;

Error: Class 'LisDev\Delivery\NovaPoshtaApi2' not found in .....DeliveryForm.php:76

Прежде всего спасибо за расширение. Очень удобное и понятное, но...
На днях ни с того ни с сего стал получать Error: Class 'LisDev\Delivery\NovaPoshtaApi2' not found in ....../DeliveryForm.php:76
Но все в данном файле на месте и самым первым юзом стоит use LisDev\Delivery\NovaPoshtaApi2.
Как это понять и куда копать - ума не приложу...

Нужна помощь. не понятно в инструкции

Нужна помощь. не понятно в инструкции. Что вбивать в $senderInfo = $np->getCounterparties('Sender', 1, '', '');

Какие данные там нужны для последующего создания ТТН? С мануалами на НП путаница, там вообще часть страниц просто не открываются.

При создании документа для получения ТТН постоянно ошибка:

array (
  'success' => false,
  'data' => 
  array (
  ),
  'errors' => 
  array (
    0 => 'CitySender not found',
    1 => 'SenderAddress not selected',
    2 => 'CityRecipient not selected',
    3 => 'Recipient not selected',
    4 => 'BackwardDelivery Money is unavailable, CityRecipient not selected',
    5 => 'ContactRecipient not selected',
  ),

Есть ли где-то прозрачный понятный мануал для этого АПИ?

Метод getSettlements

Привет.
Спасибо за библиотеку, очень классная.
В Новой Почте появился метод getSettlements, для загрузки всех населенных пунктов, в которые делает доставку НП (т.е. не только те где есть отделения, но и те в которые делает адресную доставку), я себе добавил, вот так
function getSettlements($page = 0, $findByString = '', $ref = '') {
return $this->request('AddressGeneral', 'getSettlements', array(
'Page' => $page,
'FindByString' => $findByString,
'Ref' => $ref,
));
}
будет время обнови репозиторий.

Интеграция в Travis CI

Т.к. Новая Почта меняет API в рамках одной версии без предупреждения, необходимо реализовать работоспособность тестов и возможность определить неработающий функционал в кратчайшие сроки.
Для этого первым делом следует подключить автоматическую систему тестирования билдов.
За основу взять travis ci.

Дата доставки ТТН

Добрый день
как я понял, проштудировав доку почты, даты доставки по ТТН теперь нет в выдаче?
дата ориентировочной доставки не интересует, нужна именно дата доставки по ТТН. на сайте есть, а в доке нет(

Невозможно создать отправление типа Documents

Если отправлять не груз, а документы, используя newInternetDocument() то НП постоянно возвращает ошибку "VolumeGeneral must be empty" даже если VolumeGeneral не передаешь или установил в 0. Проблема в том, что в checkInternetDocumentParams() устанавливается вес по умолчанию в 0.0004 если он не указан, эту функцию лучше убрать (как минимум для 'CargoType' => 'Documents')

PHP8

В php8 request отдаёт пустой ответ при типе соединения curl

Создаются не в тот город 2

Доброй ночи, с теми городами что я писал в вопросе 41 проблема решилась, спасибо Вам, но...(

теперь если город получателя будет - м. Покровськ, Покровська міськрада, Донецька обл. и выбрать отделение например - Відділення №2 (до 30 кг на одне місце): мкрн. Шахтарський, ТЦ
то создается накладная вот сюда :
Покровське (Мангушський р-н), Відділення №1: вул. Азовської флотилії, 2 (пос. Моряків)

Создаются не в тот город 3

Добрый день, все таки наверное существует еще один баг с городами, попытаюсь объяснить:

когда я заметил ошибку с созданиями городов первый раз, например если создать в город:

Кам'янське Дніпропетровська обл Відділення №12 (до 30 кг): бульв. Будівельників, 27а (маг.VARUS, ТЦ

то создаст вот сюда:

Кам'янське (Нікопольський р-н), Пункт приймання-видачі (до 30 кг): вул. Будівників, 3а

Эту проблему пофиксили в релизе 2 - 0.1.4 (вот ссылка Fixed: https://github.com/lis-dev/nova-poshta-api-2/releases/tag/0.1.4)

Но в этом релизе некорректно создавалась накладная , если выбрать город:

Покровськ, Покровська міськрада, Донецька обл. Відділення №2 (до 30 кг на одне місце): мкрн. Шахтарський, ТЦ

получалась сюда:

Покровське (Мангушський р-н), Відділення №1: вул. Азовської флотилії, 2 (пос. Моряків)

Эту пофиксили в релизе 2-0.1.5 , теперь опять моя посылка поехала в другой город(
Вернулась проблема что была пофиксина в релизе 2-0.1.4 с городом :
Кам'янське Дніпропетровська обл Відділення №12 (до 30 кг): бульв. Будівельників, 27а (маг.VARUS, ТЦ
опять создалось в :
Кам'янське (Нікопольський р-н), Пункт приймання-видачі (до 30 кг): вул. Будівників, 3а
Спасибо что помогаете в решении проблемы!

Ошибка непонятная!

Ошибка
"success" => false
"data" => []
"errors" => array:1 [▼
0 => "Method InternetDocumentGeneral_documentsTracking not found"
]
Причем эта ошибка не всегда. Иногда она есть а иногда ее нет. Подскажите в чем проблема плиз?

Невозможность создать ТТН(при некоторых выбранных городах)

Николаев, Отделение №12 (до 30 кг): ул. Пушкинская, 33 - вот выбранный город получателя

if (!isset($sender['CityRecipient']) || ! $recipient['CityRecipient']) {
$recipientCity = $this->getCity($recipient['City'], $recipient['Region']);
print_r($recipientCity)

[data] => Array
(
[0] => Array
(
[0] => Array
(
[Description] => Миколаїв
[DescriptionRu] => Николаев
[Ref] => db5c888c-391c-11dd-90d9-001a92567626
[Delivery1] => 1
[Delivery2] => 1
[Delivery3] => 1
[Delivery4] => 1
[Delivery5] => 1
[Delivery6] => 1
[Delivery7] => 0
[Area] => 71508135-9b87-11de-822f-000c2965ae0e
[Conglomerates] =>
[CityID] => 9
)

            )

    )

Undefined index: Ref in

$recipient['CityRecipient'] = $recipientCity['data'][0]['Ref']; - на этой строке затыкается. вверху массив, который есть перед этой строкой.

Как я понял. У нас тут вот массив вложенный еще раз, и тут должно быть $recipientCity['data'][0][0]['Ref']; Но иногда. в большинстве городов массив вложен 1 раз. И тогда все верно

Не поможете с решением?

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.