# Creación de entregas

Con este endpoint podrás crear hasta un máximo de 100 entregas por request y 100 request por minuto.&#x20;

## Creación de entregas

> Crea hasta 100 entregas dentro de Shippify

```json
{"openapi":"3.0.0","info":{"title":"API de Shippify","version":"1.0.0"},"servers":[{"url":"https://api.shippify.co","description":"Servidor de desarrollo"}],"security":[{"Basic_Auth":[]}],"components":{"securitySchemes":{"Basic_Auth":{"type":"http","scheme":"basic"}},"schemas":{"createDelivery":{"successfulResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"payload":{"type":"array","items":{"type":"object","description":"Información de la entrega creada","properties":{"index":{"description":"Posición de la entrega en el arreglo de solicitud","type":"integer","minimum":0},"id":{"type":"string","description":"Identificador de entrega Shippify"},"price":{"description":"Precio de la entrega","type":"number","minimum":0},"currencyCode":{"type":"string","description":"Moneda del precio de la entrega"},"distance":{"description":"Distancia entre puntos de recolección y entrega","type":"number","minimum":0},"cityId":{"description":"Identificador de la ciudad de recolección","type":"integer","minimum":1},"destinationCityId":{"description":"Identificador de la ciudad de entrega","type":"integer","minimum":1},"insurance":{"description":"Seguro de la entrega","type":"number","minimum":0},"statusDelivery":{"type":"string","description":"Estado actual de la entrega"},"vehicleCapacity":{"description":"Capacidad de entrega","type":"integer","minimum":1,"maximum":5},"deliveryDate":{"type":"string","description":"Fecha estimada de entrega","format":"date-time"},"trackLink":{"type":"string","description":"Enlace de seguimiento"},"referenceId":{"type":"string","description":"Identificador externo de la entrega, puede ser el número de orden"}}}}}},"request":{"type":"object","required":["deliveries"],"properties":{"companyId":{"description":"Identificador de la empresa donde se creará la entrega","type":"integer","minimum":1},"type":{"description":"Tipo de entrega","type":"string","enum":["flex","express","slot"],"default":"slot"},"deliveries":{"type":"array","items":{"$ref":"#/components/schemas/createDelivery/delivery"}}}},"delivery":{"type":"object","required":["pickup","dropoff","packages"],"properties":{"pickup":{"description":"Información de recolección","$ref":"#/components/schemas/delivery/place"},"dropoff":{"description":"Información de entrega","$ref":"#/components/schemas/delivery/place"},"packages":{"description":"Información del paquete.","type":"array","items":{"$ref":"#/components/schemas/delivery/package"}},"referenceId":{"description":"Identificador externo de la entrega, puede ser el número de orden","type":"string","maxLength":40},"tags":{"description":"Nombres de etiquetas digitales","type":"array","items":{"description":"Nombre de la etiqueta digital","type":"string","maxLength":50}},"extraData":{"description":"Datos extra de la entrega","type":"array","items":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","description":"Nombre de la información extra"},"value":{"type":"string","description":"Valor de la información extra"}}}},"cod":{"description":"Pago contra entrega","type":"number","minimum":0}}}},"Unauthenticated":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"type":"object"},"delivery":{"place":{"type":"object","required":["contact","location"],"properties":{"contact":{"$ref":"#/components/schemas/delivery/contact"},"location":{"$ref":"#/components/schemas/delivery/location"}}},"contact":{"description":"Información de contacto de la persona responsable de entregar los paquetes en el almacén de recolección.","type":"object","required":["name","email"],"properties":{"name":{"description":"Nombre de la persona responsable.","type":"string"},"email":{"description":"Email de la persona responsable.","type":"string","format":"email"},"phonenumber":{"description":"Número de teléfono de la persona responsable.","type":"string"}}},"location":{"description":"Información de dirección de la ubicación de recolección de los paquetes de entrega.","type":"object","required":["address"],"properties":{"address":{"description":"Dirección de entrega.","type":"string"},"instructions":{"description":"Información extra sobre la dirección.","type":"string"},"lat":{"description":"Latitud del punto de recolección.","type":"string"},"lng":{"description":"Longitud del punto de recolección.","type":"string"}}},"package":{"type":"object","required":["name","qty","size"],"properties":{"id":{"type":"string","description":"Identificador del paquete"},"name":{"type":"string","description":"Nombre del paquete"},"qty":{"description":"Número de paquetes en la orden (no el número de productos dentro del paquete).","type":"integer","minimum":0},"weight":{"description":"Peso unitario * cantidad en Kg","type":"number","minimum":0},"size":{"description":"Package size","type":"string","enum":["xs","s","m","l","xl"]},"price":{"description":"Precio unitario * cantidad en la moneda de la empresa","type":"number","minimum":0}}}}}},"paths":{"/v1/deliveries":{"post":{"tags":["Entregas"],"summary":"Creación de entregas","description":"Crea hasta 100 entregas dentro de Shippify","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createDelivery/successfulResponse"}}}},"401":{"description":"No autorizado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthenticated"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createDelivery/request"}}}}}}}}
```

## Casos de uso

<details>

<summary>Creación de entrega con reference id</summary>

Este es el payload mas básico con el que puedes usar el API, sin embargo es probable que la tarea se cree con estado pendiente de revisión si la dirección no se puede geolocalizar.

<pre class="language-json"><code class="lang-json"><strong>{
</strong>    "deliveries": [
        {
            "pickup": {
                "contact": {
                    "phonenumber": "0976565643",
                    "email": "example@test.com",
                    "name": "Juan Perez"
                },
                "location": {
                    "address": "Av. Francisco de Orellana 8, Guayaquil 090502, Ecuador",
                    "instructions": "Apartamento 203"
                }
            },
            "dropoff": {
                "contact": {
                    "name": "Carlos Perez",
                    "email": "example@hotmail.com"
                },
                "location": {
                    "address": "Malecón 2000, Simon Bolivar Palacios, Guayaquil 090313, Ecuador",
                    "instructions": "Local 890"
                }
            },
            "packages": [
                {
                    "name": "Caja de colores",
                    "qty": 1,
                    "size": 1
                }
            ],
            "referenceId": "FACT-000123"
        }
    ]
}
</code></pre>

</details>

<details>

<summary>Creación de entrega con dirección con lat y long</summary>

Con este payload podrás crear entregas con un punto de recolección y entrega preciso, de esta manera la tarea siempre se creará con estado procesando.&#x20;

```json
{
    "deliveries": [
        {
            "pickup": {
                "contact": {
                    "name": "Juan Perez",
                    "phonenumber": "0999999999"
                },
                "location": {
                    "address": "Av. Echeñique 8861, 7860169 La Reina, Región Metropolitana, Chile",
                    "lat": "-33.44299381045172",
                    "lng": "-70.53898694556675"
                }
            },
            "dropoff": {
                "contact": {
                    "name": "Carlos Perez",
                    "email": "example@shippify.cl",
                    "phonenumber": "777"
                },
                "location": {
                    "address": "Los Castaños 11989, 8010277 Santiago, El Bosque, Región Metropolitana, Chile",
                    "lat": "-33.56751",
                    "lng": "-70.67549"
                }
            },
            "packages": [
                {
                    "name": "149123156552",
                    "size": "XS",
                    "qty": "1"
                }
            ]
        }
    ]
}
```

</details>

<details>

<summary>Creación de entrega con dirección por componentes</summary>

Con este payload podrás crear entregas con un punto de recolección o entrega un poco más preciso y con menos probabilidades que se cree como pendiente de revisión.  Consiste en separar la dirección en pais, ciudad, calle, zip code.

```json
{
    "deliveries": [
        {
            "pickup": {
                "contact": {
                    "name": "Juan Perez",
                    "phonenumber": "0999999999"
                },
                "location": {
                    "address": "R. Dona Claudina, 401 - Méier, Rio de Janeiro - RJ, 20725-060, Brasil",
                    "lat": -22.906846699999996,
                    "lng": -43.28275978125001
                }
            },
            "dropoff": {
                "contact": {
                    "name": "Carlos Perez",
                    "email": "example@shippify.cl",
                    "phonenumber": "0999999999"
                },
                "location": {
                    "address": {
                        "zipcode": "60348450",
                        "neighborhood": "VILA VELHA",
                        "streetName": "RUA 24,656",
                        "state": "CE",
                        "country": "Brazil",
                        "city": "FORTALEZA"
                    },
                    "instructions": "CONJ DOS BANCARIOS - REF.ENDERECO: PROX A UPA"
                }
            },
            "packages": [
                {
                    "name": "149123156552",
                    "size": "XS",
                    "qty": "1"
                }
            ]
        }
    ]
}
```

</details>

<details>

<summary>Creación de entrega desde o hasta una bodega configurada</summary>

Con este payload podrás crear entregas con un punto de recolección guardado previamente en la sección de [bodegas](https://dash.shippify.co/places).

```json
{
    "deliveries": [
        {
            "pickup": {
                "contact": {
                    "name": "Juan Perez",
                    "phonenumber": "0999999999"
                },
                "location": {
                    "warehouse": 9
                }
            },
            "dropoff": {
                "contact": {
                    "name": "Carlos Perez",
                    "email": "example@shippify.cl",
                    "phonenumber": "0999999999"
                },
                "location": {
                    "address": {
                        "zipcode": "60348450",
                        "neighborhood": "VILA VELHA",
                        "streetName": "RUA 24,656",
                        "state": "CE",
                        "country": "Brazil",
                        "city": "FORTALEZA"
                    },
                    "instructions": "CONJ DOS BANCARIOS - REF.ENDERECO: PROX A UPA"
                }
            },
            "packages": [
                {
                    "name": "149123156552",
                    "size": "XS",
                    "qty": "1"
                }
            ]
        }
    ]
}
```

</details>

<details>

<summary>Creación de entrega con tags y extradata</summary>

Con las etiquetas digitales podrás agregar caracteristicas adicionales a la tarea para posteriormente poder filtrar por ellas por ejemplo: frágil.&#x20;

Con la extradata podrás enlazar información adicional a la entrega.

```json
{
    "deliveries": [
        {
            "pickup": {
                "contact": {
                    "phonenumber": "0976565643",
                    "email": "example@test.com",
                    "name": "Juan Perez"
                },
                "location": {
                    "address": "Av. Francisco de Orellana 8, Guayaquil 090502, Ecuador",
                    "instructions": "Apartamento 203"
                }
            },
            "dropoff": {
                "contact": {
                    "name": "Carlos Perez",
                    "email": "example@hotmail.com"
                },
                "location": {
                    "address": "Malecón 2000, Simon Bolivar Palacios, Guayaquil 090313, Ecuador",
                    "instructions": "Local 890"
                }
            },
            "packages": [
                {
                    "name": "Caja de colores",
                    "qty": 1,
                    "size": 1
                }
            ],
            "tags" : [ 
                "fragil"
            ],
             "extraData": [
                {
                    "name": "GUIA DE REMISION",
                    "value": "0001-000344-2233",
                    "searchable": true
                }
            ],
            "referenceId": "FACT-000123"
        }
    ]
}
```

</details>

<details>

<summary>Creación de entrega para una compañia hija</summary>

Con este payload podrás crear entregas a una compañia hija con la autorización de la compañía padre.

<pre class="language-json"><code class="lang-json">{
    <a data-footnote-ref href="#user-content-fn-1">"companyId":2,</a>
    "deliveries": [
        {
            "pickup": {
                "contact": {
                    "phonenumber": "0999999999",
                    "email": "example@test.com",
                    "name": "Juan Perez"
                },
                "location": {
                    "address": "Av. Francisco de Orellana 8, Guayaquil 090502, Ecuador",
                    "instructions": "Apartamento 203"
                }
            },
            "dropoff": {
                "contact": {
                    "name": "Carlos Perez",
                    "email": "example@hotmail.com"
                },
                "location": {
                    "address": "Malecón 2000, Simon Bolivar Palacios, Guayaquil 090313, Ecuador",
                    "instructions": "Local 890"
                }
            },
            "packages": [
                {
                    "name": "Caja de colores",
                    "qty": 1,
                    "size": 1
                }
            ],
            "referenceId": "FACT-000123"
        }
    ]
}
</code></pre>

</details>

[^1]: Identificador de la compañía hija
