Download the PHP package kennzeichenservices/dropshipping-sdk without Composer

On this page you can find all versions of the php package kennzeichenservices/dropshipping-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package dropshipping-sdk

Dropshipping SDK

A PHP SDK for the Kennzeichen Services Dropshipping API. It provides typed request/response objects, webhook processing with middleware pipeline support, and async queue integration.

Features

Requirements

Installation

Configuration

Usage

Creating the Client

The client requires a PSR-18 HTTP client and PSR-17 request/stream factories. Example using Guzzle:

Using DS

Instead of importing individual DTO classes, use Dropshipping\DS as a single entry point for all request objects:

The only imports you need are Dropshipping\DS and the enums you use (e.g. Gender, LicensePlateType). See the examples/ directory for complete runnable scripts.

The client exposes six endpoint groups as public readonly properties:

Examples

Ready-to-run PHP scripts are available in the examples/ directory. Each example has an accompanying Markdown file that explains what it does.

Example Description
docs Create a standard order with a license plate item
docs Create an emission sticker order with file upload
docs Create a reshipped order for a returned delivery
docs Check available license plate numbers at a registration office
docs Reserve a license plate
docs Create, update, list, and get GKS configurations
docs Submit a vehicle deregistration and handle the XKFZ webhook with file download
docs Process incoming webhooks with the middleware pipeline
docs Enqueue and process webhooks asynchronously via a queue

Creating an Order

Creating an Emission Sticker Order

Creating a Reshipped Order

Checking License Plate Availability

Reserving a License Plate

Managing GKS Configurations

Submitting a Vehicle Deregistration

Downloading a Deregistration File

Files attached to a VEHICLE_DEREGISTRATION_XKFZ_EVENT webhook can be downloaded using the fileAccessKey from the event:

Handling Webhooks

Set up a webhook receiver with the built-in middleware pipeline:

Async Webhook Processing

For high-throughput scenarios, queue webhooks for background processing:

Architecture Overview

The SDK follows these patterns:

Key Components

Endpoints

Endpoint Method Description
$client->orders->create() POST /orders Create a standard order
$client->orders->createEmissionStickerOrder() POST /orders/emissionStickerOrders Create emission sticker order (multipart)
$client->orders->createReshippedOrder() POST /orders/reshippedOrders Create reshipped order
$client->shipments->createLicensePlateReservation() POST /licensePlateReservations/reservations Reserve a license plate
$client->products->checkLicensePlateAvailability() POST /licensePlateReservations/availabilityChecks Check license plate availability
$client->gksConfigurations->create() POST /gksConfigurations Create a GKS configuration
$client->gksConfigurations->update() PUT /gksConfigurations/{id} Update a GKS configuration
$client->gksConfigurations->getOverviews() GET /gksConfigurations/overviews List all GKS configurations
$client->gksConfigurations->getOverview() GET /gksConfigurations/overviews/{id} Get a single GKS configuration
$client->vehicleDeregistrations->createDeregistration() POST /vehicleDeregistrations/deregistrations Submit a vehicle deregistration
$client->vehicleDeregistrations->downloadFileContent() GET /vehicleDeregistrations/files/content/{fileAccessKey} Download a file from a VEHICLE_DEREGISTRATION_XKFZ_EVENT webhook

Webhook Event Types

Event Class Description
PING PingEvent Connection test
DELIVERY_SHIPMENT DeliveryShipmentEvent Delivery shipped with tracking code
DELIVERY_RETURN DeliveryReturnEvent Delivery returned with reason and reshipping offer
DELIVERY_CANCELLATION DeliveryCancellationEvent Delivery cancelled
LICENSE_PLATE_RESERVATION_APPROVAL LicensePlateReservationApprovalEvent Reservation approved with PIN and price
LICENSE_PLATE_RESERVATION_REJECTION LicensePlateReservationRejectionEvent Reservation rejected with alternatives
LICENSE_PLATE_RESERVATION_TIMEOUT LicensePlateReservationTimeoutEvent Reservation timed out
VEHICLE_DEREGISTRATION_XKFZ_EVENT VehicleDeregistrationXkfzEvent Vehicle deregistration XKFZ status update — includes status, derivedStatus, optional files (with fileAccessKey for download), optional costBreakdown, and optional messages

Enums

Enum Values
Gender FEMALE, MALE, UNSPECIFIED
VehicleType CAR, MOTORCYCLE
LicensePlateType REGULAR, REGULAR_SEASON, ELECTRIC, ELECTRIC_SEASON, HISTORICAL, HISTORICAL_SEASON
LicensePlateUsageType EURO, PARKING
ProductType LICENSE_PLATE, VEHICLE_DEREGISTRATION, OTHER
VehicleDeregistrationVehicleType CAR, LIGHT_MOTORCYCLE, MOTORCYCLE, OTHER, TRACTOR, TRAILER, TRUCK
VehicleDeregistrationLicensePlateType REGULAR, REGULAR_SEASON, ELECTRIC, ELECTRIC_SEASON, HISTORICAL, HISTORICAL_SEASON
VehicleDeregistrationXkfzEventStatus ACCEPTED, APPROVED, APPROVED_WITH_DOCUMENTS, FAILED, FORWARDED, PROCESSED, REJECTED, REJECTED_WITH_DOCUMENTS, UNKNOWN
VehicleDeregistrationXkfzEventFilePurposeType CERTIFICATE, RECEIPT, APPLICATION, UNSPECIFIED

Extensibility

Security Considerations

Debugging

The SDK supports request/response logging via PHP constants. Define KS_DROPSHIPPING_DEBUG before making API calls to write detailed logs:

By default, logs are written to dropshipping-debug.log in the current working directory. To use a custom log file path:

The debug log includes:

Example log output:

Error Handling

All exceptions extend DropshippingException:

Exception When
DropshippingException Request DTO field validation failure (e.g. string too long, invalid email, empty required field). Thrown before any HTTP request is made.
ApiException Non-expected HTTP status code from the API. Provides getStatusCode() and getTraceId() for debugging.
HttpClientException PSR-18 client-level transport failure. Wraps the original ClientExceptionInterface.
WebhookException Webhook signature verification or payload validation failure.

All request DTOs validate their fields against the API spec constraints when constructed. Invalid values throw a DropshippingException with a descriptive message including the field name and the provided value:

License

Proprietary


All versions of dropshipping-sdk with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
psr/http-client Version ^1.0
psr/http-message Version ^2.0
psr/http-factory Version ^1.0
psr/log Version ^3.0
guzzlehttp/guzzle Version ^7.9
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package kennzeichenservices/dropshipping-sdk contains the following files

Loading the files please wait ...