public static function cloneLoyaltyCounterpartySender()
 {
     $data = new Counterparty_cloneLoyaltyCounterpartySender();
     $data->setCityRef('db5c88e0-391c-11dd-90d9-001a92567626');
     return Counterparty::cloneLoyaltyCounterpartySender($data);
 }
Esempio n. 2
0
 public static function createEN()
 {
     // Выбираем город отправителя
     $data = new \NovaPoshta\MethodParameters\Address_getCities();
     $data->setFindByString('Полтава');
     $result = \NovaPoshta\ApiModels\Address::getCities($data);
     $citySender = $result->data[0]->Ref;
     // Выбираем город получателя
     $result = \NovaPoshta\ApiModels\Address::getCities();
     // список городов
     $cityRecipient = $result->data[60]->Ref;
     // Выбираем тип контрагента
     $result = \NovaPoshta\ApiModels\Common::getTypesOfCounterparties();
     $counterpartyType = $result->data[1]->Ref;
     // со списка выбираем тип PrivatePerson
     // Создаем контрагента получателя
     $counterparty = new \NovaPoshta\ApiModels\Counterparty();
     $counterparty->setCounterpartyProperty(\NovaPoshta\ApiModels\Counterparty::RECIPIENT);
     $counterparty->setCityRef($cityRecipient);
     $counterparty->setCounterpartyType($counterpartyType);
     $counterparty->setFirstName('Пилипко');
     $counterparty->setLastName('Вася');
     $counterparty->setMiddleName('Сергеевич');
     $counterparty->setPhone('+380661122333');
     $counterparty->setEmail('*****@*****.**');
     $result = $counterparty->save();
     $counterpartyRecipient = $result->data[0]->Ref;
     // Если нет контрагента отправителя в городе Полтава, создаем там контрагента отправителя. Контрагент
     // создастся через несколько минут
     $data = new \NovaPoshta\MethodParameters\Counterparty_cloneLoyaltyCounterpartySender();
     $data->setCityRef($citySender);
     $result = \NovaPoshta\ApiModels\Counterparty::cloneLoyaltyCounterpartySender($data);
     // Если у Вас есть контрагент отправитель, то получаем его так же как контрагента получателя, только сюда:
     // setCounterpartyProperty передаем \NovaPoshta\ApiModels\Counterparty::SENDER.
     // Методом cloneLoyaltyCounterpartySender можно использовать только если Вы клиент лояльности, если Вы
     // корпоративный клиент, то у Вас уже должен быть контрагент отправитель в нужном городе.
     // Теперь получим контрагента отправителя
     $data = new \NovaPoshta\MethodParameters\Counterparty_getCounterparties();
     $data->setCityRef($citySender);
     $data->setCounterpartyProperty(\NovaPoshta\ApiModels\Counterparty::SENDER);
     $result = \NovaPoshta\ApiModels\Counterparty::getCounterparties($data);
     $counterpartySender = $result->data[0]->Ref;
     // Получим контактных персон для контрагентов
     $data = new \NovaPoshta\MethodParameters\Counterparty_getCounterpartyContactPersons();
     $data->setRef($counterpartySender);
     $result = \NovaPoshta\ApiModels\Counterparty::getCounterpartyContactPersons($data);
     $contactPersonSender = $result->data[0]->Ref;
     $data = new \NovaPoshta\MethodParameters\Counterparty_getCounterpartyContactPersons();
     $data->setRef($counterpartyRecipient);
     $result = \NovaPoshta\ApiModels\Counterparty::getCounterpartyContactPersons($data);
     $contactPersonRecipient = $result->data[0]->Ref;
     // Для контрагента отправителя получим склад отправки
     $data = new \NovaPoshta\MethodParameters\Address_getWarehouses();
     $data->setCityRef($citySender);
     $result = \NovaPoshta\ApiModels\Address::getWarehouses($data);
     $addressSender = $result->data[5]->Ref;
     // Cоздадим адрес для получателя
     $address = new \NovaPoshta\ApiModels\Address();
     $address->setCounterpartyRef($counterpartyRecipient);
     $address->setBuildingNumber('2/2');
     $address->setFlat('22');
     $address->setNote('Первый подъезд');
     $address->setStreetRef('c55c9056-4148-11dd-9198-001d60451983');
     $result = $address->save();
     $addressRecipient = $result->data[0]->Ref;
     // Теперь получим тип услуги
     $result = \NovaPoshta\ApiModels\Common::getServiceTypes();
     $serviceType = $result->data[3]->Ref;
     // Выбрали: WarehouseDoors
     // Выбираем плательщика
     $result = \NovaPoshta\ApiModels\Common::getTypesOfPayers();
     $payerType = $result->data[1]->Ref;
     // Выбрали: Recipient
     // Форму оплаты
     $result = \NovaPoshta\ApiModels\Common::getPaymentForms();
     $paymentMethod = $result->data[1]->Ref;
     // Выбрали: Cash
     // Тип груза
     $result = \NovaPoshta\ApiModels\Common::getCargoTypes();
     $cargoType = $result->data[0]->Ref;
     // Выбрали: Cargo
     // Мы выбрали все данные которые нам нужны для создания ЭН. Создаем ЭН:
     // Контрагент отправитель
     $sender = new \NovaPoshta\Models\CounterpartyContact();
     $sender->setCity($citySender)->setRef($counterpartySender)->setAddress($addressSender)->setContact($contactPersonSender)->setPhone('+380660000000');
     // Контрагент получатель
     $recipient = new \NovaPoshta\Models\CounterpartyContact();
     $recipient->setCity($cityRecipient)->setRef($counterpartyRecipient)->setAddress($addressRecipient)->setContact($contactPersonRecipient)->setPhone('+380660000000');
     // Выбираем тип
     $result = \NovaPoshta\ApiModels\Common::getTypesOfPayersForRedelivery();
     $redeliveryPayer = $result->data[1]->Ref;
     // Выбираем тип обратной доставки
     $result = \NovaPoshta\ApiModels\Common::getBackwardDeliveryCargoTypes();
     $redeliveryCargoType = $result->data[1]->Ref;
     // Обратная доставка ценные бумаги
     $backwardDeliveryData = new \NovaPoshta\Models\BackwardDeliveryData();
     $backwardDeliveryData->setPayerType($redeliveryPayer);
     $backwardDeliveryData->setCargoType($redeliveryCargoType);
     $backwardDeliveryData->setRedeliveryString(452);
     $internetDocument = new \NovaPoshta\ApiModels\InternetDocument();
     $internetDocument->setSender($sender)->setRecipient($recipient)->setServiceType($serviceType)->setPayerType($payerType)->setPaymentMethod($paymentMethod)->setCargoType($cargoType)->setWeight(1)->setSeatsAmount(1)->setCost(452)->setDescription('ТЦ')->setDateTime('10.09.2015')->addBackwardDeliveryData($backwardDeliveryData);
     $result = $internetDocument->save();
     $refInternetDocument = $result->data[0]->Ref;
     // Получить ссылку на печать ЭН
     $data = new \NovaPoshta\MethodParameters\InternetDocument_printDocument();
     $data->addDocumentRef($refInternetDocument);
     $data->setCopies(\NovaPoshta\ApiModels\InternetDocument::PRINT_COPIES_FOURFOLD);
     $link = \NovaPoshta\ApiModels\InternetDocument::printDocument($data);
     // После печати ЭН, клеем ЭН на коробку и отправляем груз))
     return $link;
 }