# GLS Germany ShipIt

[GLS Germany](https://gls-group.com/DE/en/home) offers domestic and international shipping services for shipments throughout Germany and Europe.

This guide provides developers with the details needed to build GLS Germany ShipIt shipping capabilities into your ShipStation API workflows.

## Requirements

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | **required** | This is a nickname for you to identify the carrier account in ShipStation API. |
| `client_id` | *string* | **required** | Your GLS Developer Portal Client-ID. Customers need to register in the GLS Developer Portal, create their own app and enable the Authentication API and the ShipIT Farm API. |
| `client_secret` | *string* | **required** | Your GLS Developer Portal Client-Secret. |
| `contact_id` | *string* | **required** | Your GLS Contact-ID (shipper identifier as given by GLS). |
| `portal_username` | *string* | Optional | PortalUser from GLS customer. Without this information, shipment tracking will not work. |
| `portal_password` | *string* | Optional | Portal password from GLS customer. Without this information, shipment tracking will not work. |
| `customer_id` | *string* | Optional | Your GLS customer number required to activate the webhook. Without this information, shipment tracking will not work. |
| `webhook_contact_id` | *string* | Optional | Your GLS contact number required to activate the webhook. Without this information, shipment tracking will not work. |


## Connect Account

You can connect a GLS Germany ShipIt account using the POST method to the `/v1/connections/carriers/` endpoint, or via the ShipStation API Dashboard.

For instructions on connecting GLS Germany ShipIt via the ShipStation API dashboard, go to our [GLS Germany ShipIt help article](https://help.shipengine.com/hc/en-us/articles/50442703024923-GLS-Germany-ShipIt).

### Connect via Endpoint

`carrier_name`: `gls_shipit`

**POST /v1/connections/carriers/:carrier_name**

Sample request:


```http
POST /v1/connections/carriers/gls_shipit HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "My GLS Germany ShipIt Account",
  "client_id": "your_client_id",
  "client_secret": "your_client_secret",
  "contact_id": "your_contact_id",
  "portal_username": "your_portal_username",
  "portal_password": "your_portal_password",
  "customer_id": "your_customer_id",
  "webhook_contact_id": "your_webhook_contact_id"
}
```

A successful connection will return a response with the `carrier_id`, which you'll use for any requests for this account going forward.

## Rates

GLS Germany ShipIt does not send estimated rates to ShipStation API, and so does not support [rate shopping](/apis/shipengine/docs/rates/rates). Your GLS Germany ShipIt account contact can provide you with the details about your contracted rates.

## Service Details

Available GLS Germany ShipIt services are provided below. Please note that carriers may update their available services at any time. To ensure you are always using valid services, you can use the [list carrier services](/apis/shipengine/docs/reference/list-carrier-services) endpoint at any time.

### Domestic Services

| Service | API Code |
|  --- | --- |
| AddonLiabilityService | `gls_shipit_addon_liability` |
| BusinessParcel | `gls_shipit_business_parcel` |
| DepositService | `gls_shipit_deposit_service` |
| DocumentReturnService | `gls_shipit_document_return` |
| Express8:00Service | `gls_shipit_express_0800` |
| Express9:00Service | `gls_shipit_express_0900` |
| Express10:00Service | `gls_shipit_express_1000` |
| Express12:00Service | `gls_shipit_express_1200` |
| ExpressParcel | `gls_shipit_express_parcel` |
| FlexDeliveryService | `gls_shipit_flex_delivery` |
| Guaranteed24Service | `gls_shipit_guaranteed_24` |
| LetterboxService | `gls_shipit_letterbox_service` |
| LimitedQuantities | `gls_shipit_limited_quantities` |
| ShopDeliveryService | `gls_shipit_shop_delivery` |
| ShopReturnService | `gls_shipit_shop_return` |


### International Services

| Service | API Code |
|  --- | --- |
| EuroBusinessParcel | `gls_shipit_euro_business_parcel` |
| EuroExpressParcel | `gls_shipit_euro_express_parcel` |
| EuroFlexDeliveryService | `gls_shipit_euro_flex_delivery` |
| EuroShopDeliveryService | `gls_shipit_euro_shop_delivery` |
| EuroShopReturnService | `gls_shipit_euro_shop_return` |
| GlobalParcel | `gls_shipit_global_parcel` |


### Return Services

GLS Germany ShipIt supports the following return services:

| Service | API Code |
|  --- | --- |
| DocumentReturnService | `gls_shipit_document_return` |
| ShopReturnService | `gls_shipit_shop_return` |
| EuroShopReturnService | `gls_shipit_euro_shop_return` |


Review the [Return Labels page](/apis/shipengine/docs/shipping/returns) for details on creating return labels with ShipStation API.

## Packages

The following [carrier package types](/apis/shipengine/docs/shipping/carrier-packaging) are available for GLS Germany ShipIt services:

| Name | Carrier Code | API Code |
|  --- | --- | --- |
| GLS ShipIt default package | gls_shipit | `gls_shipit_default` |


## Adding Shipment Insurance

GLS Germany ShipIt does not support adding carrier insurance to their shipments.

Review the [Parcel Insurance page](/apis/shipengine/docs/shipping/insurance) for details on adding shipment insurance with ShipStation API.

## Label Support

* Label sizes: 4" x 6"
* Label formats: PDF, ZPL


### Label Reference Fields

GLS Germany ShipIt supports adding [custom label messages](/apis/shipengine/docs/labels/messages). The ShipmentReference is printed on the label.

### Multi-Package Labels

GLS Germany ShipIt supports creating [multi-package shipments](/apis/shipengine/docs/shipping/multi-package).

### Label Branding

GLS Germany ShipIt does not support [label branding](/apis/shipengine/docs/labels/branding).

### Voiding Labels

GLS Germany ShipIt supports [voiding labels](/apis/shipengine/docs/labels/voiding) with ShipStation API.

Cancelling a shipment is possible as long as the parcel has not yet been handed over to the GLS driver (i.e., as long as there is no physical scan). The exceptions are the Pick&Ship and Pick&Return services, for which the customer must actively request cancellation at the relevant GLS depot.

### Paperless Labels

GLS Germany ShipIt does not support [paperless labels](/apis/shipengine/docs/labels/paperless).

### Customs Declarations

For international shipments, customs information is printed on the shipping label.

## Delivery Confirmation

| Confirmation Type | API Code | Description |
|  --- | --- | --- |
| No confirmation required | `none` | No signature required. |
| Signature required | `delivery` | Signature required upon delivery. |


See our [Delivery Confirmation page](/apis/shipengine/docs/shipping/delivery-confirmation) for more details about using the `confirmation` property.

## Advanced Options

GLS Germany ShipIt supports the following [advanced options](/apis/shipengine/docs/carriers/advanced-options):

| Option | Type | Description |
|  --- | --- | --- |
| Bill duties and taxes to payor of shipping charges (DDP) | *boolean* | Bill duties and taxes to the payor of shipping charges. |
| Saturday Delivery | *boolean* | Request Saturday delivery for the shipment. |


To ensure you always have the most up-to-date information about a carrier's advanced options, use the [list carrier options call](/apis/shipengine/docs/reference/list-carrier-options).

## Manifests

GLS Germany ShipIt does not require [manifesting](/apis/shipengine/docs/shipping/manifests) your shipments.

## Scheduling Pickups

GLS Germany ShipIt supports [scheduled pickups](/apis/shipengine/docs/shipping/pickups) using ShipStation API.

> **NOTE:**
A customer must contact the GLS depot directly in order to cancel a pickup.


## Service Points (PUDO)

GLS Germany ShipIt does not support shipping to [service points](/apis/shipengine/docs/pick-up-drop-off/pudo-intro).

## Tracking

ShipStation API's integration with GLS Germany ShipIt supports receiving tracking updates. Review our ​[Track a Package guides​](/apis/shipengine/docs/tracking/tracking)​ for details on tracking with the ShipStation API.

## Disconnecting Your GLS Germany ShipIt Account

See the Disconnect section in our [Delete a Carrier page](/apis/shipengine/docs/reference/carriers/delete-carrier) for the process of deleting or disconnecting a carrier from ShipStation API.

> **NOTE:**
If you disconnect a carrier account and reconnect it, the account will have a new `carrier_id` in ShipStation API.