---
title: "PUT /v1/logistics/orders"
method: PUT
path: "/v1/logistics/orders"
tags: ["Logistics"]
---

# PUT /v1/logistics/orders

`PUT /v1/logistics/orders`

Creates a logistic order for a given process_id, customer and address.
 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

- LogisticsCreateLogisticOrderRequest
  - `carrier` string — Carrier to be used for generating the pickup (DHL, UPS, Correos...) kwown & 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
  - `customer_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
  - `ecommerce_group` string — ecommerce group
  - `ecommerce_id` string — Ecommerce associated to this logistic order
  - `ecommerce_order_id` string — Id of the original ecommerce order (if any) associated to this shipping
  - `ecommerce_warehouse_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
  - `order_number` string — Id of the original order (if any) associated to this shipping E-commerces uses this to match the original order when the package arrives to the warehouse
  - `pickup_ranges` string[] — Pick-up time ranges. Only required for return_type = PICKUP
  - `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).
  - `return_type` 'NO_RETURN_METHOD' | 'HOME_PICK_UP' | 'DROP_OFF_POINT' | 'DELIVERY_PICKUP' | 'IN_STORE', enum — Return method associated to the logistic order (PICKUP, DROP_OFF)
  - `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)
  - `weight_in_grams` integer — protolint:disable:next FIELD_NAMES_EXCLUDE_PREPOSITIONS Weight of the total sum of packags in grams

## Response `200`

OK

- LogisticsSaveLogisticOrderResponse
  - `order` ModelsLogisticOrder
    - `carrier` string
    - `currency_code` string
    - `id` string — Logistic Order ID
    - `price` integer
    - `provider` string
    - `shipments` ModelsShipment[]
      - `created_at` string, date-time
      - `delivery_date` string, date-time
      - `from` 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
      - `id` string
      - `is_without_label` boolean
      - `logistic_order_id` string
      - `packages` ModelsPackage[]
        - `id` string
        - `label` string
        - `shipment_id` string
        - `weight_in_grams` integer
      - `process_id` string
      - `shipment_type` 'NO_RETURN_METHOD' | 'HOME_PICK_UP' | 'DROP_OFF_POINT' | 'DELIVERY_PICKUP' | 'IN_STORE', enum
      - `status` string
      - `to` 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
      - `tracking_id` string
      - `tracking_url` string
      - `updated_at` string, date-time

---

[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)
