# PUDO (punti di ritiro)

I punti di ritiro sono gestiti per diversi corrieri, in questa pagina sono indicati i dati da passare nella chiamata POST alla shipment per passare le informazioni relative al punto di ritiro al corriere.

## BRT - TNT - DHL - GLS - COLISSIMO-InPOST

Inserire il codice identificativo del PUDO / dropoff point nel campo **generic\_service*****\_*****point**

```json
{
    "generic_service_point":""
}
```

<table data-full-width="true"><thead><tr><th width="248">Campo</th><th width="116" data-type="checkbox">Required</th><th width="84">Type</th><th>Description</th></tr></thead><tbody><tr><td>generic_service_point</td><td>true</td><td>string</td><td>Codice identificativo del PUDO<br>N.B. per GLS nella forma {PARTNER_SHOP_ID}-{SHOP_ID}</td></tr></tbody></table>

{% hint style="info" %}
COLISSIMO: gestione service point possibile solo con servizio corriere OUT HOME, id servizio Gsped 3
{% endhint %}

## UPS

Questo corriere richiede i dati completi del punto di ritiro e del suo codice identificativo.

```json
"ups_uap_id": "",
"uap": [
    {
        "address": "",
        "city": "",
        "country_code": "",
        "name": "",
        "postal_code": "",
        "state_province_code": ""
    }
]
```

<table data-full-width="true"><thead><tr><th width="248">Campo</th><th width="116" data-type="checkbox">Required</th><th width="84">Type</th><th>Description</th></tr></thead><tbody><tr><td>ups_uap_id</td><td>true</td><td>string</td><td>Codice identificativo del PUDO</td></tr><tr><td>uap.address</td><td>true</td><td>string</td><td>Indirizzo PUDO</td></tr><tr><td>uap.city</td><td>true</td><td>string</td><td>Città PUDO</td></tr><tr><td>uap.country_code</td><td>true</td><td>string</td><td>ISO 2 Char nazione PUDO</td></tr><tr><td>uap.name</td><td>true</td><td>string</td><td>Nome PUDO</td></tr><tr><td>uap.postal_code</td><td>true</td><td>string</td><td>CAP PUDO</td></tr><tr><td>uap.state_province_code</td><td>true</td><td>string</td><td>Sigla provincia PUDO</td></tr></tbody></table>

## SDA/Crono

Questo corriere richiede i dati completi del punto di ritiro e del suo codice identificativo.

```json
"sda_id_fermoposta":"",
"sda_fermoposta":{
    "state_province_code":"",
    "name":"",
    "address":"",
    "city":"",
    "postal_code":""
}
```

<table data-full-width="true"><thead><tr><th width="334">Campo</th><th width="116" data-type="checkbox">Required</th><th width="84">Type</th><th>Description</th></tr></thead><tbody><tr><td>sda_id_fermoposta</td><td>true</td><td>string</td><td>Codice identificativo del PUDO</td></tr><tr><td>sda_fermoposta.state_province_code</td><td>true</td><td>string</td><td>Codice provincia/stato PUDO</td></tr><tr><td>sda_fermoposta.name</td><td>true</td><td>string</td><td>Nome PUDO</td></tr><tr><td>sda_fermoposta.address</td><td>true</td><td>string</td><td>Indirizzo PUDO</td></tr><tr><td>sda_fermoposta.city</td><td>true</td><td>string</td><td>Città PUDO</td></tr><tr><td>sda_fermoposta.postal_code</td><td>true</td><td>string</td><td>CAP PUDO</td></tr></tbody></table>

## POSTE Delivery Business

PosteDB gestisce il punto di ritiro come accessorio, distinguendo in base alla tipologia del punto, per i punti di ritiro andrà compilato un oggetto nell'array **pdb\_accessori** con gli elementi accessorio, param1 e param2. Param1 conterrà il codice del punto, param2 la denominazione del punto e accessorio sarà una di queste stringhe in base al tipo di punto.

```json
"pdb_accessori":[
    {
        "accessorio":"",
        "param1":"",
        "param2":"",
        "param3":"",
        "param4":""
    }
]
```

<table data-full-width="true"><thead><tr><th width="334">Campo</th><th width="116" data-type="checkbox">Required</th><th width="84">Type</th><th>Description</th></tr></thead><tbody><tr><td>accessorio</td><td>true</td><td>enum</td><td>In base al PUDO:<br>- ConsegnaPUDOUPS<br>- ConsegnaPuntoPoste<br>- ConsegnaLocker<br>- ConsegnaUfficioPostale</td></tr><tr><td>param1</td><td>true</td><td>string</td><td>Codice identificativo PUDO</td></tr><tr><td>param2</td><td>true</td><td>string</td><td>Nome PUDO</td></tr><tr><td>param3</td><td>false</td><td>string</td><td>non utilizzato</td></tr><tr><td>param4</td><td>false</td><td>string</td><td>non utilizzato</td></tr></tbody></table>

## TNT (vecchia implementazione, deprecata nel 2024)

Questa implementazione verrà rimossa in favore di [quella nuova](#brt-dhl) nel corso del 2024.

Nella chiamata andrà inserito un array a indici numerici denominato **tnt\_options**

```json
"tnt_options":[
    "",    // 1° valore
    ""     // 2° valore
]
```

<table data-full-width="true"><thead><tr><th width="334">Campo</th><th width="116" data-type="checkbox">Required</th><th width="84">Type</th><th>Description</th></tr></thead><tbody><tr><td>1° valore</td><td>true</td><td>enum</td><td>Valorizzare con 3 <br>(TNT Point)</td></tr><tr><td>2° valore</td><td>true</td><td>string</td><td>Codice identificativo PUDO</td></tr></tbody></table>

## DHL Parcel Connect (169)

Questo corriere richiede il codice identificativo dell'accesspoint (KeywordID) insieme a CAP, città e nazione in cui si trova.

Esempio :&#x20;

```json
"accessPoint": {
        "apId": "501",
        "apCity": "Zukowo",
        "apPostalCode": "83-330",
        "apCountryCode": "PL"
}
```

Per la Germania e Lussemburgo viene richiesto anche un codice identificativo del destinatario, in quanto questi ultimi devono essere registrati per poter ricevere spedizioni negli Access Points.

Esempio :&#x20;

```json
"accessPoint": {
        "apId": "501",
        "apCity": "Berlin",
        "apPostalCode": "10557",
        "apCountryCode": "DE",
        "apAncillaryData": {
                "customerId": "123456"
        }
}
```

#### Gestione identificativi di Access Point proveniente da Zalando

Per gli ordini provenienti da Zalando, nel caso il cliente abbia richieda la consegna in Access Point, questa piattaforma ritornerà un identificativo particolare per l'access point scelto dal cliente. Quest'ultimo non potrà essere utilizzato all'interno del campo **apId,** ma bensi bisognerà indicarlo all'interno del campo **zalandoServicePointID.**

Esempio :&#x20;

```json
"accessPoint": {
        "zalandoServicePointID": "4517265",
        "apCity": "Zukowo",
        "apCountryCode": "PL"
}
```

{% hint style="danger" %}
**ATTENZIONE:** Questa funzionalità sarà disponibile nelle prime settimane di Gennaio 2026
{% endhint %}
