public static function getAreas() { $data = new Address_getAreas(); $data->setRef('7150813d-9b87-11de-822f-000c2965ae0e'); $data->setPage(1); return Address::getAreas($data); }
public function initData() { $this->initAreas(Address::getAreas()->data); $this->initCities(Address::getCities()->data); $this->initWarehouses(Address::getWarehouses()->data); $this->dateInit = new DateTime(); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function npSync() { Config::setApiKey(Setting::get('integration.np')); $unitArr = Address::getWarehouses(); $adrArr = Address::getCities(); NPCity::truncate(); NPUnit::truncate(); foreach ($adrArr->data as $value) { NPCity::create(['name' => $value->DescriptionRu, 'ref' => $value->Ref]); } foreach ($unitArr->data as $value) { NPUnit::create(['name' => $value->DescriptionRu, 'ref' => $value->CityRef]); } }
public function initData() { Address::batch(); $data = [Address::getAreas() => 'Areas', Address::getCities() => 'Cities', Address::getWarehouses() => 'Warehouses']; $result = Address::getResponseBatch(); /** @var DataContainerResponse $itemResponse */ foreach ($result as $key => $itemResponse) { if (!$itemResponse->success) { return; } $this->{'init' . $data[$key]}($itemResponse->data); } $this->dateInit = new DateTime(); }
/** * Execute the console command. * * @return mixed */ public function handle() { // Config::setApiKey(Setting::get('integration.np')); NPCity::truncate(); $this->info('NP City table cleared'); NPUnit::truncate(); $this->info('NP Unit table cleared'); $unitArr = Address::getWarehouses(); $this->info('NP unit fetched'); $adrArr = Address::getCities(); $this->info('NP city fethed'); foreach ($adrArr->data as $value) { NPCity::create(['name' => $value->DescriptionRu, 'ref' => $value->Ref]); } $this->info('City table filled.'); foreach ($unitArr->data as $value) { NPUnit::create(['name' => $value->DescriptionRu, 'ref' => $value->CityRef]); } $this->info('Units table filled'); $this->info('NP SYNC SUCCESSFULL!'); }
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; }