Giter Club home page Giter Club logo

sdk's People

Contributors

adem-demir avatar bartvanraaij avatar coderiekelt avatar cornelis21 avatar dam-man avatar edielemoine avatar floriansdv avatar jamie4224 avatar jbtje avatar joerivanveen avatar leonidasjp avatar mark-ernst avatar memoict avatar myparcel-bot[bot] avatar reindert-vetter avatar richardperdaan avatar rickjeroen avatar robindelaater avatar robvanderlee avatar rv7pr avatar scrutinizer-auto-fixer avatar semantic-release-bot avatar sharkooon avatar wthijmen 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

Watchers

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

sdk's Issues

Implement unrelated returns

What problem does this feature solve?

Currently, it is only possible to create a related return based on a pre-existing consignment. When you look in the API Reference you find that unrelated returns are also easily possible. As said by the docs, this is useful for for example repair services.

It would be nice if the unrelated returns API was built into the sdk so that these things can also be done.

What should the solution look like?

It should be possible to use the ConsignmentFactory to create a return shipment.

Relevant log output

No response

Additional context

No response

Update SDK to support Illuminate/support 7.x branch (and Laravel 7.x)

Given a clean Laravel 7.x project, adding the myparcel SDK will result in the errors below.

Cause of the problem: Laravel 7.x is using the Illuminate/support 7.x branch, whilst MyParcel is using a version of branch 5.6

>> composer require myparcelnl/sdk

  - Installing myparcelnl/sdk (v3.1.7): Loading from cache
Package anahkiasen/underscore-php is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
PHP Warning:  Uncaught ErrorException: Declaration of MyParcelNL\Sdk\src\Support\Collection::push($value) should be compatible with Illuminate\Support\Collection::push(...$values) in Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php:38
Stack trace:
#0 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php(38): Composer\Util\ErrorHandler::handle(2, 'Declaration of ...', 'Z:\\Mega\\Webserv...', 38, Array)
#1 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\AutoLoader.php(4): require_once('Z:\\Mega\\Webserv...')
#2 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\composer\autoload_real.php(66): require('Z:\\Mega\\Webserv...')
#3 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\composer\autoload_real.php(56): composerRequire34f4fcc12f3a0b623a324cdd55cde51f('3480d8f702c8d1d...', 'Z:\\Mega\\Webserv...')
#4 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\autoload.php(7): ComposerAutoloaderInit34f4fcc12f3a0b623a324cdd55cde51f::getLoader()
#5 Z:\Me in Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php on line 38

Warning: Uncaught ErrorException: Declaration of MyParcelNL\Sdk\src\Support\Collection::push($value) should be compatible with Illuminate\Support\Collection::push(...$values) in Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php:38
Stack trace:
#0 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php(38): Composer\Util\ErrorHandler::handle(2, 'Declaration of ...', 'Z:\\Mega\\Webserv...', 38, Array)
#1 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\AutoLoader.php(4): require_once('Z:\\Mega\\Webserv...')
#2 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\composer\autoload_real.php(66): require('Z:\\Mega\\Webserv...')
#3 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\composer\autoload_real.php(56): composerRequire34f4fcc12f3a0b623a324cdd55cde51f('3480d8f702c8d1d...', 'Z:\\Mega\\Webserv...')
#4 Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\autoload.php(7): ComposerAutoloaderInit34f4fcc12f3a0b623a324cdd55cde51f::getLoader()
#5 Z:\Me in Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php on line 38
PHP Fatal error:  Declaration of MyParcelNL\Sdk\src\Support\Collection::sort(?callable $callback = NULL) must be compatible with Illuminate\Support\Collection::sort($callback = NULL) in Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php on line 38

Fatal error: Declaration of MyParcelNL\Sdk\src\Support\Collection::sort(?callable $callback = NULL) must be compatible with Illuminate\Support\Collection::sort($callback = NULL) in Z:\Mega\Webserver\www\Laravel\DiagnOSAS\vendor\myparcelnl\sdk\src\Support\Collection.php on line 38

Quick and dirty solution:
https://github.com/myparcelnl/sdk/blob/master/src/Support/Collection.php#L1238

    public function push( ...$values )
    {
        foreach( $values AS $value ) {
            $this->items[] = $value;
        }

        return $this;
    }

https://github.com/myparcelnl/sdk/blob/master/src/Support/Collection.php#L1445

    public function sort( $callback = NULL )

For me, this solves the problem and the SDK is still working... Better would be to implement the new Collection.php

setItemValue issue

The readme indicates:

 ->setItemValue(["amount" => 200, "currency" => "EUR"]) // Must be array with amount and currency like in the example

However, in the class MyParcelCustomsItem, the $item_value parameter is cast to an integer:

    public function setItemValue($item_value)
    {
        $this->item_value = (int) $item_value;

        return $this;
    }

And the function encodeCdCountryItem which calls getItemValue also expects the returned value to always be an amount and not an array.
So there is some discrepency here. The way it is currently coded in the SDK, it also makes it impossible to provide item value in another currency than EUR.

Hoe maak ik een concept zending aan?

Ik ben nieuw met MyParcel. Sinds kort heb ik de code uitgeprobeerd die hier te vinden is. Ik heb een zending kunnen aanmaken en vond het interessant dat het goed uitgelegd is. Ik kwam alleen tot een klein probleempje. Hoe maak ik een concept zending inplaats van een echte zending?

Code wat ik nu heb.

`<?php
require_once DIR . "/myParcel/src/AutoLoader.php";

use MyParcelNL\Sdk\src\Factory\ConsignmentFactory;

use MyParcelNL\Sdk\src\Helper\MyParcelCollection;
use MyParcelNL\Sdk\src\Model\Consignment\PostNLConsignment;

$consignment = (ConsignmentFactory::createByCarrierId(PostNLConsignment::CARRIER_ID))
->setApiKey('mijn-api-key')
->setReferenceId('Order 146')
->setCountry('NL')
->setPerson('Piet Hier')
->setFullStreet('Plein 1945 55b')
->setPostalCode('2231JE')
->setCity('Amsterdam')
->setEmail('[email protected]');

$myParcelCollection = (new MyParcelCollection())
->addConsignment($consignment)
->setPdfOfLabels();

$consignmentId = $myParcelCollection->first()->getConsignmentId();

$myParcelCollection->downloadPdfOfLabels();

?>`

Ik waardeer jullie help enorm!

setPhone(string $phone) param null is given

setPhone(string $phone) param null is given because of strict types of input params on line 1058
Solution presented here
/**
* The address phone
* Required: no
*
* @param string|null $phone
*
* @return $this
*/
public function setPhone(?string $phone): self
{
$this->phone = $phone;

    return $this;
}

Missing support for Remark field

In the PostNL API, you can set the "Remark" field under Address type. PostNL API

Remark | O(ptional) | String [0-35] | Remark of the shipment | Fragile

The SDK ReadMe refers to setDeliveryRemark() (Line 294), however the source does not contain this method...

If would be nice if the Remark field can be supported, so we can add some extra text to the label ment for the receiver.

Fatal error on creating consignment for pickup point

When creating a consignment and supplying it with an address of a pickup point the following fatal error occurs.
For reproduction purposes, the address apparently belongs to "De Kade Post".
I am using an older version of this library, but the relevant code seems identical to the current version.

<br />
<b>Fatal error</b>:  Uncaught TypeError: Argument 1 passed to MyParcelNL\Sdk\src\Model\Consignment\AbstractConsignment::setPickupNumber() must be of the type string, integer given, called in /myparcelnl/sdk/src/Adapter/ConsignmentAdapter.php on line 214 and defined in myparcelnl/sdk/src/Model/Consignment/AbstractConsignment.php:1640
Stack trace:
#0 myparcelnl/sdk/src/Adapter/ConsignmentAdapter.php(214): MyParcelNL\Sdk\src\Model\Consignment\AbstractConsignment-&gt;setPickupNumber(111)
#1 myparcelnl/sdk/src/Adapter/ConsignmentAdapter.php(184): MyParcelNL\Sdk\src\Adapter\ConsignmentAdapter-&gt;setByMethods(Array, Array)
#2 myparcelnl/sdk/src/Adapter/ConsignmentAdapter.php(44): MyParcelNL\Sdk\src\Adapter\ConsignmentAdapter-&gt;pickup()
#3 myparcelnl in <b>myparcelnl/sdk/src/Model/Consignment/AbstractConsignment.php</b> on line <b>1640</b><br />

Pickup point consignments don't always have countries

SDK version

7.2.1

PHP version

7.4

What went wrong?

Some pickup locations do not come with a country, so calling MyParcelNL\Sdk\src\Model\Consignment\HasPickupLocation::setPickupCountry(null) fails. (Called through Utils::fillObject through ConsignmentAdapter::setPickup)

Reproduction steps

Attempt to construct a ConsignmentAdapter with a pickup missing a country code. The one that triggered this bug in production was:

array(
    'location_name' => 'Jumbo (5747) Groenlo',
    'city' => 'Groenlo',
    'postal_code' => '7141VW',
    'street' => 'Den Koem',
    'number' => '2',
    'number_suffix' => '',
    'location_code' => '211889',
    'retail_network_id' => 'PNPNL-01'
)

Relevant log output

No response

Additional context

This occurred in the prestashop module. I fixed it by changing the param type hint to ?string, though ideally it wouldn't get this far without a country code.

Alternatively/additionally, ConsignmentAdapter::setPickup shouldn't be ordering Utils::fillObject to fill nulls into a trait that doesn't take them, though since the get methods on that trait return ?string perhaps the setters should just be adjusted to match.

setLatestData() does not work with multiple consignments

Example code:

$parcels = ["refference_1", "refference_2"];

$myParcelCollection = new MyParcelCollection();

foreach($parcels as $parcel){
	$consignment = (new MyParcelConsignmentRepository())
		->setApiKey("API_KEY_HERE")
		->setReferenceId($parcel);

	$myParcelCollection->addConsignment($consignment);	
}
		
$myParcelCollection->setLatestData();

This throws the following error:
Fatal error: Call to a member function apiDecode() on null

Changing
$parcels = ["refference_1", "refference_2"];
to
parcels = ["refference_1"];
eliminates the problem.

You could also move $myParcelCollection->setLatestData(); to inside the foreach loop, but then obviously only the first parcel has the correct data.

Is there something wrong with my implementation or is this a bug in the SDK?

MyParcel is gekoppeld door middel van API koppeling, maar er worden geen labels gemaakt

MyParcel is gekoppeld door middel van API koppeling, maar er worden geen labels gemaakt.

Mijn code:

<?php
      require_once __DIR__ . "/Labels/src/AutoLoader.php";

      use MyParcelNL\Sdk\src\Factory\ConsignmentFactory;
      use MyParcelNL\Sdk\src\Helper\MyParcelCollection;
      use MyParcelNL\Sdk\src\Model\Consignment\PostNLConsignment;
?>
<!DOCTYPE html>
......

                                    if($land == 'nederland')
                                    {
                                        $consignment = (ConsignmentFactory::createByCarrierId(PostNLConsignment::CARRIER_ID))
                                            ->setApiKey('API_KEY')
                                            ->setReferenceId($order_id)
                                            ->setCountry('NL')
                                            ->setPerson($naam)
                                            ->setFullStreet($adresNL)
                                            ->setPostalCode($postcodeNL)
                                            ->setCity($plaatsNL)
                                            ->setEmail($email);

                                        $consignments = (new MyParcelCollection())
                                            ->addConsignment($consignment)
                                            ->createConcepts();

                                        $consignmentId = $consignments->first()->getConsignmentId();

                                        $consignments->downloadPdfOfLabels();
                                    }

Er word dus geen label aangemaakt voor deze API key. Ik heb ook een ander MyParcel account die wel werkt met deze code. Ligt het aan de API key? Is er kans dat het misschien overhoopt is geraakt waardoor het geen labels meer maakt?

->getBarcode() is null

In v2 I was able to get the Barcode from the initial created variable $consignment.
However, the same code in v3 does no longer work.

$consignment = (new PostNLConsignment())
    ...
    ->setApiKey( config( 'parcel.myparcel.key' ) );

$MyParcelCollection = (new MyParcelCollection())->addConsignment( $consignment )
                          ->setPdfOfLabels();

$barcode = $consignment->getBarcode()
// barcode = NULL (fails)

However, using $MyParcelCollection, does allow me to get the barcode:

// Get the barcode
$barcode = $MyParcelCollection->first()->getBarcode();
// barcode = 3SMYPA000000000 (works)

My assumption is that the pointer between $consignment and the one stored in the collection, somehow gets broken.
Not that important, but would be nice if it can be fixed.

Feature: Use better models

Improve base model to support more Illuminate/Eloquent-like behaviour for better integration with Collections.

Download link PDF gaat fout

Aan deze documentatie zie ik dat er wat gewijzigd is mbt download link van labels pdf.
Required request headers: "Accept: application/json; charset=utf8"
Echter werkt dit nu niet voor labels minder dan 25 stuks. Ik krijg in de request een pdf terug ipv de pdf link.

Update composer file

HI

I can't install the SDK because I am running a PHP version which is too high..
Now: < 7.1 and newer versions aren't accepted.
I am running PHP 7.1.6

Best Regards,
Robert

Split street regex BE not working with alphanumeric number suffix

SDK version

7.12.1

PHP version

8.1

What went wrong?

A Belgium address with a alphanumeric value as house number suffix is not working.
You will get the PHP error "Undefined array key "box_separator""

The address was like "Street 12-C11" where C11 is the suffix which is not recognized by the address splitter regex

Reproduction steps

Using the "ConsignmentFactory", set the address with country "BE" and FullStreet "Street 12-C11".

Relevant log output

Undefined array key "box_separator"

Additional context

No response

BadMethodCallException not handeling in catch block

Hello,

I am getting BadMethodCallException issue with catch block this is not coming in catch and below error is coming

Fatal error: Uncaught BadMethodCallException: Invalid postal code in E:\Hardik\PHP_New\www\parcel\src\Model\Consignment\AbstractConsignment.php on line 1008

this is my try catch block

try
{
$consignments = (new MyParcelCollection())
->addConsignment($consignment)
->setPdfOfLabels();

        $consignmentId = $consignments->first()->getConsignmentId();
        
    }
    catch (BadMethodCallException $e) 
    {
        echo $e;
    }

Can some one help please I am stuck over here

Labels printen voor DPD zending lukt niet (via Woocommerce plugin)

Als je vanuit Woocommerce via de MyParcel plugin een label voor een DPD zending wilt afdrukken, lukt dit niet.
Na troubleshooting blijkt het een fout te zijn in de SDK, daarom log ik het in dit project.

Een DPD zending wordt standaard altijd met 500 verzekering aangeboden (er is geen mogelijkheid om dit uit te schakelen, althans niet voor zendingen vanuit België).

Bestand: myparcelnl/sdk/src/Model/Consignment/DPDConsignment.php

Regel 27 stelt dat verzekering altijd 0 euro moet zijn:
public const INSURANCE_POSSIBILITIES_LOCAL = [0];
Op deze constraint faalt het printen van een label.
Bij het wijzigen naar het volgende lukt het wel:
public const INSURANCE_POSSIBILITIES_LOCAL = [0, 500];

Parameter type of LabelFormat positions is wrong in DocBlock

SDK version

7.8.0

PHP version

8.1

What went wrong?

In the public methods MyParcelCollection::setLinkOfLabels and MyParcelCollection::setPdfOfLabels and subsequently the internal private MyParcelCollection::setLabelFormat, the @param definition of the $positions argument is wrong.
It's specified as int but the methods accept arrays, strings and falsy values as well and this is even expected behaviour.

This makes static analysis tools such as Psalm complain, for example if you pass [2,4] to specify positions 2 and 4.

You then need to suppress that error with /** @psalm-suppress InvalidArgument which obviously is not that nice.

Also, the documentation text isn't really that clear and can be improved.

I will send in a PR to fix this issue.

Reproduction steps

  1. Use static analysis in your codebase that uses the MyParcel SDK
  2. Call MyParcelCollection::setLinkOfLabels or MyParcelCollection::setPdfOfLabels with an array argument, e.g.
    $labelLink = $collection->setLinkOfLabels([2, 4])->getLinkOfLabels();
  3. See that your static analysis tool complains about the invalid argument type.

Relevant log output

No response

Additional context

No response

Position not working correctly

The documentation describes that you can set the label to 4 positions
https://github.com/myparcelnl/sdk#label-format-and-position

A4: 
┏━━━━━┳━━━━━┓ 
┃  1  ┃  2  ┃  
┣━━━━━╋━━━━━┫ 
┃  3  ┃  4  ┃
┗━━━━━┻━━━━━┛  

However, sincs a month (or two? three?) its only possible to get the label on position 2 and 4

Sending "1" or "2" results in position 2
Sending "3" or "4" results in position 4

Currently running on 5.10, but same applies for 4.10, since it's a server side problem.

Class 'MyParcelNL\Sdk\src\Helper\TrackTraceUrl' not found

Hi,

When I try

$consignment = (new \MyParcelNL\Sdk\src\Model\Consignment\PostNLConsignment());
echo $consignment->getBarcodeUrl(3SMYPA123456789, '2231JE', 'NL');

I get

Class 'MyParcelNL\Sdk\src\Helper\TrackTraceUrl' not found

Is this a bug? Or do I do something wrong?

Backwards compatibility break with Laravel 5.5 LTS

Hi,

I just started integrating this package into our existing application. Unfortunately, we still use Laravel 5.5, and #217 seems to have broken compatibility with this version:

[ErrorException] Declaration of MyParcelNL\Sdk\src\Support\Collection::push(...$values) should be compatible with Illuminate\Support \Collection::push($value)

I realize 5.5 is pretty old, but looking at 6.0, the push method has the same prototype as in 5.5, so I suspect the problem occurs there as well.

fatal error when exception thrown

When MyParcel SDK throws exceptions I'm getting fatal errors.

Error_ 0 Class 'MyParcelNL_Sdk_src_Exception_AddressException' not found - Google Chrome 2019-07-26 15 21 44

I checked the autoload.php file and I see that most other files are required there. If I add the exception files there, then I get the errors properly thrown and I can catch them.
So, either they should be added to the autoload.php or I'm doing something wrong that I don't understand.

Reference ID can't be the same for multiple consignments

foreach ($shipments as $shipment) {
    $consignment = (new MyParcelConsignmentRepository()) 
        ->setApiKey(API_KEY)
        ->setReferenceId('ref_id_12345678') // same reference id for multiple shipments

        // data from $shipment 
    ;
    $myParcelCollection
        ->addConsignment($consignment);
}

$myParcelCollection
    ->setPdfOfLabels()
    ->setLinkOfLabels();

Outputs only the last label instead of all created labels

Registration of Croatian Consignment fails

SDK version

7.6.1

PHP version

8.1

What went wrong?

There seems to be a mismatch in UI and SDK. In the UI of MyParcel. In the UI there is no problem creating parcels for Croatia but you get an exception when trying to register the consignment via the SDK.

image

The problem is in the validation. In MyParcelNL\Sdk\src\Model\Consignment\AbstractConsignment Croatia is not listed as an EU country. AFAIK it still is but... IANAL ;3. This country code is failing the check. Adding the country code will resolve this issue.

I've already created an PR for this minor bug:
#444

Reproduction steps

  1. Navigate to ...
  2. Click on ...
  3. See ...

Relevant log output

No response

Additional context

Malta (MT) also seems to be missing from the EURO_COUNTRIES list.

SDK 0.2 does not support PHP 7 via Composer

Due to php's version constrict in composer.json, the MyParcel SDK v0.2.x will only install on PHP 5.6.5 and later minor releases, but will not install on PHP 7.0 and above.

Is there a reason PHP 7.0 and above are excluded?

Insurance for Dutch Parcels: difference between SDK and API Documentation

Hi Reindert,

According to the API Documentation, chapter 6.A.4, example 3 "NL Insured", the insured amount should be injected in cents, and be either 5000, 25000, 50000 or 500000.

But when I view the code in the SDK, Model\MyParcelConsignment::setInsurance() accepts the Insured amount in whole euros, and the function also accepts values between 1000 and 4500 euros, in steps of 500.

These values are not enforced when setInsurance gets called; therefore I'd still be able to inject invalid values like "1Aje83", which would eventually lead to an insurance for just € 1,-

Would it be an option to enhance setInsurance to also check for a valid Insurance value, and add a note in the SDK-documentation that the Insurance value should be provided in whole euros?
Perhaps the API documentation should be updated as well, if the 1000-4500 range should be supported...

Impossible to add parcels without Customer Email

When the E-mail address of the customer is not known, it is not possible to send a parcel through the SDK; API replies "E-mail should not be null".

In some cases, customers have not provided an e-mail address with their order, but the parcel should still be shipped through MyParcel. Eg. Phone sale or Counter sale with no direct pickup possibilities.

Is it possible to default MyParcelConsignment::email to <empty_string> instead of null, so these shipments can be accepted by the API? Or otherwise write an extra check on adding a Consignment to MyParcelCollection whether the E-mail address is still null?

change setLabelFormat to public

I am generating the shipment ids with createConcepts and then retrieving them with getConsignmentsByReferenceId and getMyParcelConsignmentId
Then, I'm storing the shipment ids with the order data in the database.
Later on, I want to allow the merchant to print the label of several orders using the shipment id stored in each order data (to avoid creating a new concept).
So I have this function:

private function _getLabel($shipment_ids) { $config = hikashop_config(); $myParcelCollection = (new MyParcelCollection()) ->setUserAgent('HikaShop', $config->get('version')); if(!is_array($shipment_ids)) $shipment_ids = array($shipment_ids); // NOTE: We had to change that function to be public in the SDK $myParcelCollection->setLabelFormat($this->plugin_options['positions']); $request = (new MyParcelRequest()) ->setUserAgent($myParcelCollection->getUserAgent()) ->setRequestParameters( $this->plugin_options['api_key'], implode(';', $shipment_ids) . '/' . $myParcelCollection->getRequestBody(), MyParcelRequest::REQUEST_HEADER_RETRIEVE_LABEL_LINK ) ->sendRequest('GET', MyParcelRequest::REQUEST_TYPE_RETRIEVE_LABEL); return MyParcelRequest::REQUEST_URL . $request->getResult('data.pdfs.url'); }

But I had to change setLabelFormat to public in the SDK as I couldn't find any alternative to provide the shipment ids myself to the SDK to generate the label in the format I want.
Could this be changed ? I don't see any drawback in making that function public.
Or maybe a function could be added to get a label generated from an array of shipment ids ?

setWeight() turns value in gram to kg

Hi,

When I try to add the weight to MyParcelCustomsItem, the weight on the generated COMMERCIAL INVOICE turns into kilograms.

MyParcelCustomsItem()->setWeight(600) turns into 600kg on the commercial invoice.
I tried to use 0.6, but this turns into 0kg.

I think there is a bug here.

I'm using version 3.1

Unit Tests are unable to run

Due to multiple reasons Unit Tests are unable to run succesfully, if I try to run them.

  1. The Classloader from Composer is unable to load the Classes.
  2. Tests are failing due to "API Key unavailable", which seems to be caused by the API Keys starting with MYS and a5c in the several SendConsignments-classes.

street_additional_info can not be set

There is no setter method for street_additional_info.

Also, if the additional info is included within the streetname (streetname."\n".info) and the additional info + streetname length does not exceed MAX_STREET_LENTH; it will be included in the streetname. This causes it to be displayed twice on the label (after the streetname (even without a space between the streetname and the additional info) and below the streetname).

Missing support for PakjeGemak Pickup shipments

Currently, it seems to be impossible to set the Pickup information for PakjeGemak shipments through the SDK. Is there already a planning to implement PakjeGemak support through the SDK?

Postbus setconsignment

->setApiKey('mijnapikey') ->setReferenceId("$order_id") ->setCountry('NL') ->setPerson("$naam") ->setFullStreet("$adres") ->setPostalCode("$postcode") ->setCity("$plaats") ->setEmail("$email") ->setPackageType(2);
Hoe voeg ik een postbus toe voor de belgische bezoekers en een PostNL abroad package type

Mogelijkheid om te kiezen voor portrait/landscape a4

What problem does this feature solve?

Bij het downloaden van de labels is de PDF altijd in landscape formaat, de printer print in portrait. Het is dus altijd gokken op welke plek (1,2,3,4) een label geplaatst moet worden..

What should the solution look like?

Mogelijkheid tot kiezen afdrukstand

Relevant log output

No response

Additional context

No response

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.