При создании электронной накладной(ЭН) получаю две ошибки:
1) ContactSender not selected
2) Sender's contact person is not full! You must specify the Sender completely. This contact person will receive a money transfer.
Это происходит из-за того что я в запросе не передаю идентификатор контактов отправителя, по той причине что я не знаю откуда взять тот самый идентификатор.
Для работы я использую эту библиотеку.
Мой запрос:
include "api2.php";
$np = new Api2('мой ключ');
$senderInfo = $np->getCounterparties('Sender', 1, '', '');
$sender = $senderInfo['data'][0];
$senderWarehouses = $np->getWarehouses($sender['City']);
$result = $np->newInternetDocument([ // Данные отправителя
'FirstName' => $sender['FirstName'],
'MiddleName' => $sender['MiddleName'],
'LastName' => $sender['LastName'],
'Description' => $sender['Description'],
'Phone' => '0487447747',
'CitySender' => $sender['City'],
'SenderAddress' => $senderWarehouses['data'][0]['Ref'],
'ContactSender' => ??????????????????????
],
[ // Данные получателя
'FirstName' => 'Сидор',
'MiddleName' => 'Сидорович',
'LastName' => 'Сиродов',
'Phone' => '0509998877',
'City' => 'Киев',
'Region' => 'Киевская',
'Warehouse' => 'Отделение №3: ул. Калачевская, 13 (Старая Дарница)',
],
[
'DateTime' => date('d.m.Y'),
'ServiceType' => 'WarehouseWarehouse',
'PaymentMethod' => 'Cash',
'PayerType' => 'Recipient',
'Cost' => '500',
'SeatsAmount' => '1',
'Description' => 'Кастрюля',
'CargoType' => 'Cargo',
'Weight' => '10',
'VolumeGeneral' => '0.5',
'BackwardDeliveryData' => [
[
'PayerType' => 'Recipient',
'CargoType' => 'Money',
'RedeliveryString' => 4552,
]
]
]
);
Ну и сам вопрос, как получить идентификатор контактов отправителя?
$senderCounterpartyExisting = $this->getCounterparties('Sender', 1, $sender['Description'], $sender['CityRef']);
if ($senderCounterpartyExisting['data'][0]['Ref']) {
$sender['Sender'] = $senderCounterpartyExisting['data'][0]['Ref'];
$contactSender = $this->getCounterpartyContactPersons($sender['Sender']);
$contactSender = $contactSender['data'][0]['Ref'];
}
Источник
Решение состоит из двух шагов:
1) Прописать код для того чтобы получить идентификатор контакта
$senderCounterpartyExisting = $this->getCounterparties('Sender', 1, $sender['Description'], $sender['CityRef']);
if ($senderCounterpartyExisting['data'][0]['Ref']) {
$sender['Sender'] = $senderCounterpartyExisting['data'][0]['Ref'];
$contactSender = $this->getCounterpartyContactPersons($sender['Sender']);
$contactSender = $contactSender['data'][0]['Ref'];
}
2) Создать контрагента на сайте Новой Почты в разделе Настройки > Контрагенты
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу разобраться с кодировкойДанная функция выполняется, и просит запрос ввода
Подключил glfw к Code::Blocks , пишет cannot find -lglfw3 причем dll в папке lib-mingw есть