---
title: "POST /v1/logistics/pickup"
method: POST
path: "/v1/logistics/pickup"
tags: ["Logistics"]
---

# POST /v1/logistics/pickup

`POST /v1/logistics/pickup`

Creates a pickup for a given process_id, customer and address
 A logistic order must be created prior requesting a pickup
  Must specify the provider and carrier to be used to create the pickup:
 - Returns UNIMPLEMENTED (gRPC code 12) if the provider is `OPS`,
 meaning it didn't generated any action. 
 - Returns InvalidArgument (gRPC code 3) if the combination of 
 `return-method`, `provider`and `carrier` is not supported.

## Request body

- LogisticsCreatePickupRequest
  - `carrier` string — Carrier to be used for generating the pickup (DHL, UPS, Correos...) must be available for the given provider
  - `customer` ModelsCustomer — Customer Important! the alias at the end is for API docs generation @Description A generic customer in the Rever platform @name api.Customer
    - `email` string
    - `first_name` string
    - `last_name` string
    - `rever_id` string — Unique ID in the rever platform
  - `ecommerce_id` string — Ecommerce associated to this logistic order
  - `pickup_address` ModelsAddress — Address @Description generic address used in many scenarios @name api.Address
    - `address_line_1` string
    - `address_line_2` string
    - `city` string
    - `company` string
    - `country` string
    - `country_code` string
    - `email` string
    - `first_name` string
    - `last_name` string
    - `phone` string
    - `postcode` string
    - `rever_id` string — Unique ID in the rever platform
    - `state_province` string
    - `state_province_code` string
  - `pickup_ranges` string[] — Preferred times for the pickup a the customer address
  - `process_id` string — Id of the process that the pickup is associated to
  - `provider` string — Provider to be used for generating the pickup (SendCloud, OPS, etc).
  - `settings` LogisticsLogisticSettings — LogisticSettings is deprecated this message is going to be removed when the dynamic return methods are fully rolled out
    - `logistic_config` LogisticsLogisticConfig[] — protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
      - `carrier` string — carrier
      - `provider` string — provider
    - `return_method` 'NO_RETURN_METHOD' | 'HOME_PICK_UP' | 'DROP_OFF_POINT' | 'DELIVERY_PICKUP' | 'IN_STORE', enum — Return method associated to the logistic order (PICKUP, DROP_OFF)

## Response `200`

OK

- LogisticsCreatePickupResponse — Response of the CreatePickup method
  - `pickup_order` LogisticsPickupOrder — A pickup order created in the system
    - `carrier` string — Carrier that was used to geenrate the pickup
    - `id` string — Platform specific id of the pickup
    - `pickup_range` LogisticsPickupRange
      - `from` string, date-time — Start time of the pickup range
      - `to` string, date-time — End time of the pickup range
    - `provider` string — Provider that was used to generate the pickup

---

[API](https://skmtc.net/itsrever/apis/rever-admin-api.md) · [All operations](https://skmtc.net/itsrever/apis/rever-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/itsrever/rever-admin-api/versions/290da8fa387e/schema)
