PHP code example of appwilio / russianpost-sdk
1. Go to this page and download the library: Download appwilio/russianpost-sdk library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once ('vendor/autoload.php' );
appwilio / russianpost-sdk example snippets
use Monolog \Logger ;
use Monolog \Handler \StreamHandler ;
$log = (new Logger('pochta.ru' ))
->pushHandler(new StreamHandler('path/to/your.log' , Logger::INFO));
$client->setLogger($log);
use Monolog \Logger ;
use Monolog \Handler \StreamHandler ;
$this ->app->singleton('appwilio.russianpost.logger' , static function () {
return (new Logger('pochta.ru' ))
->pushHandler(new StreamHandler('path/to/your.log' , Logger::INFO));
});
'russianpost' => [
'tracking' => [
'login' => \env('RUSSIAN_POST_TRACKING_LOGIN' ),
'password' => \env('RUSSIAN_POST_TRACKING_PASSWORD' ),
],
],
use Appwilio \RussianPostSDK \Tracking \SingleAccessClient ;
$tracker = new SingleAccessClient($login = 'login' , $password = 'secret' );
$response = $tracker->getTrackingEvents('29014562148754' );
foreach ($response as $events) {
$parameters = $events->getOperationParameters();
echo $parameters->getOperationId();
echo $parameters->getAttributeId();
echo $parameters->getPerformedAt()->format('d.m.Y в h:i:s' );
}
$response = $tracker->getCashOnDeliveryEvents('29014562148754' );
foreach ($response as $event) {
$parameters = $event->getOperationParameters();
echo $parameters->getTransferNumber();
echo $parameters->getPayment();
echo $parameters->getPerformedAt()->format('d.m.Y в h:i:s' );
}
use Appwilio \RussianPostSDK \Tracking \PacketAccessClient ;
$tracker = new PacketAccessClient($login = 'login' , $password = 'secret' );
$ticket = $tracker->getTicket(['29014562148754' , 'RA325487125CN' ]);
$response = $tracker->getTrackingEvents($ticket->getId());
echo $response->getPreparedAt()->format('d.m.Y в h:m:s' );
foreach ($response as $item) {
echo $item->getBarcode();
foreach ($item as $events) {
echo $events->getOperationId();
echo $events->getAttributeId();
echo $events->getPerformedAt()->format('d.m.Y в h:m:s' );
}
}
use GuzzleHttp \Client as GuzzleClient ;
use Appwilio \RussianPostSDK \Dispatching \DispatchingClient ;
$dispatching = new DispatchingClient(
$login = 'login' , $password = 'secret' , $token = 'QWERTY' , new GuzzleClient()
);
'russianpost' => [
'dispatching' => [
'token' => \env('RUSSIAN_POST_DISPATCHING_TOKEN' ),
'login' => \env('RUSSIAN_POST_TDISPATCHING_LOGIN' ),
'password' => \env('RUSSIAN_POST_DISPATCHING_PASSWORD' ),
'guzzle' => [
'timeout' => 5 ,
],
],
],
use Appwilio \RussianPostSDK \Dispatching \Enum \MailType ;
use Appwilio \RussianPostSDK \Dispatching \Enum \MailCategory ;
use Appwilio \RussianPostSDK \Dispatching \Enum \MailEntryType ;
use Appwilio \RussianPostSDK \Dispatching \Endpoints \Services \Requests \CalculationRequest ;
$response = $dispatching->services->calculate(
CalculationRequest::create('123456' , 200 )
->ofMailType(MailType::PARCEL_POSTAL())
->ofMailCategory(MailCategory::ORDINARY())
->ofEntriesType(MailEntryType::GOODS())
->fragile()
->withSmsNotice()
);
echo $response->getTotal()->getRate();
echo $response->getTotal()->getVAT();
use Appwilio \RussianPostSDK \Dispatching \Endpoints \Services \Requests \NormalizeFioRequest ;
$response = $dispatching->services->normalizeFio(
NormalizeFioRequest::one('иванов иван иванович' )
);
if ($response[0 ]->isUseful()) {
echo $response[0 ]->getFirstName().' ' .$response[0 ]->getLastName();
}
use Appwilio \RussianPostSDK \Dispatching \Endpoints \Services \Requests \NormalizeAddressRequest ;
$response = $dispatching->services->normalizeAddress(
NormalizeAddressRequest::one('Москва варшавское шоссе 37-45' )
);
use Appwilio \RussianPostSDK \Dispatching \Endpoints \Services \Requests \NormalizePhoneRequest ;
$response = $dispatching->services->normalizePhone(NormalizePhoneRequest::one('89001234567' ));
use Appwilio \RussianPostSDK \Dispatching \Endpoints \Services \Requests \CheckRecipientRequest ;
$response = $dispatching->services->checkRecipient(
CheckRecipientRequest::one('Москва, Варшавское шоссе, 37-45' , 'Иванов Иван Иванович' , '+7 123 456-78-90' )
);
$response[0 ]->isFraud();
$response[0 ]->isReliable();
use Appwilio \RussianPostSDK \Dispatching \Endpoints \Services \Requests \CheckRecipientRequest ;
$request = CheckRecipientRequest::create();
$request->addRecipient('123456 Москва, Варшавское шоссе, 37-45' , 'Иванов Иван Иванович' , '+7 123 456-78-90' );
$response = $dispatching->services->checkRecipient($request);
foreach ($response as $recipient) {
echo $recipient->getAddress.': ' .$recipient->isReliable();
}
$file = $dispatching->documents->orderF7Form('12345678' );
echo $file->getClientFilename();
$file->moveTo("storage/printforms/12345678-{$file->getClientFilename()}" );
return \response()->streamDownload(staticfunction () use ($file ) {
(string ) $file ->getStream ();
}, $file->getClientName(), ['Content-Type' => $file->getClientMediaType()]);
use Appwilio \RussianPostSDK \Dispatching \Enum \PrintType ;
$pdf = $dispatching->documents->orderF7Form(
'12345678' , new \DateTime('2019-01-01' ), PrintType::PAPER()
);
$pdf = $dispatching->documents->orderF112Form('12345678' , new \DateTime('2019-01-01' ));
$zip = $dispatching->documents->orderFormsBundleBacklog('12345678' , new \DateTime('2019-01-01' ));
use Appwilio \RussianPostSDK \Dispatching \Enum \PrintType ;
$zip = $dispatching->documents->orderFormBundle(
'12345678' , new \DateTime('2019-01-01' ), PrintType::THERMO()
);
$zip = $dispatching->documents->batchFormBundle('87654321' );
$pdf = $dispatching->documents->batchCheckingForm('87654321' );
$pdf = $dispatching->documents->batchF103Form('87654321' );
use Appwilio \RussianPostSDK \Dispatching \Enum \PrintType ;
$pdf = $dispatching->documents->easyReturnForm('29014562148754' , PrintType::THERMO());