# PUT Request for Updating Products Error: "This param is deprecated"

**URL:** <https://forums.ordoro.com/t/put-request-for-updating-products-error-this-param-is-deprecated/601>\
**Category:** Bug Reports\
**Created:** [September 4, 2020, 6:55pm UTC](https://forums.ordoro.com/t/put-request-for-updating-products-error-this-param-is-deprecated/601 "2020-09-04T18:55:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jmawebtech](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.ordoro.com/jmawebtech/32/20_2.png) [@jmawebtech](https://forums.ordoro.com/u/jmawebtech)\
**Post date:** [September 4, 2020, 6:55pm UTC](https://forums.ordoro.com/t/put-request-for-updating-products-error-this-param-is-deprecated/601/1 "2020-09-04T18:55:13Z")

</div>

Hello, how are you doing today?

I am creating this topic on behalf of a mutual customer of ours who cannot update his inventory when syncing to Ordoro. We attempted to troubleshoot the issue ourselves, and we concluded that it is not an issue on our end.

I see that a deprecation has been announced for an older version of the API, but it is unclear from the response which parameter is the one that needs to be updated.

We would greatly appreciate being pointed in the right direction on the matter. Request and Response can be found below:

PUT [https://api.ordoro.com/product/HYB-CAI-01-14/warehouse/59792/](https://api.ordoro.com/product/HYB-CAI-01-14/warehouse/59792/)? HTTP/1.1  
Accept: application/json  
Content-Type: application/json  
User-Agent: JMA Web Technologies  
X-Partner: JMAWebTechnologies  
Authorization: Basic X=  
Host: [api.ordoro.com](http://api.ordoro.com)  
Content-Length: 87  
Expect: 100-continue

{“out\_of\_stock\_threshold”:0,“stocked\_inhouse”:true,“low\_stock\_threshold”:1,“on\_hand”:1}

HTTP/1.1 500 INTERNAL SERVER ERROR  
cache-control: no-cache,max-age=0,must-revalidate  
Content-Type: application/json  
Date: Thu, 03 Sep 2020 18:52:27 GMT  
pragma: no-cache  
Server: gunicorn/19.7.1  
Strict-Transport-Security: max-age=31536000; includeSubDomains  
X-API-REQUEST-ID: f06dd55b-2c3a-4f8d-9188-3cc1e1979947  
X-Ordoro-API-Server: i-0ff9c7919bcda0eca 1.1172.0  
X-ORDORO-HANDLED-BY: ip-172-31-11-157  
X-SENTRY-ID: 8b2dac631ba84ccea4c6955966115eb9  
Content-Length: 78  
Connection: keep-alive

{“error\_message”: “This param is deprecated for this endpoint”, “param”: null}

Thank you, and have a good day.

---

<div class="post-metadata">

**Author:** ![syork](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.ordoro.com/syork/32/61_2.png) [@syork](https://forums.ordoro.com/u/syork)\
**Post date:** [September 4, 2020, 7:40pm UTC](https://forums.ordoro.com/t/put-request-for-updating-products-error-this-param-is-deprecated/601/2 "2020-09-04T19:40:42Z")

</div>

Hi [jmawebtech](https://forums.ordoro.com/u/jmawebtech)

We are in the process of cleaning up how product fulfillment statuses are handled in the API and it looks like this account has been migrated to the new way of doing things.

Previously, `stocked_inhouse` and `automatic_dropshipping` were set with the `/product/<sku>/warehouse/<warehouse_id>/` enpdoint. However, fulfillments were never handled at the warehouse level and this caused some confusion. To add to this, if the particular product didn’t have a default supplier set then the product could not actually be updated to dropship or autodropship.

Going forward, we have created a new endpoint: `PUT /product/<sku>/fulfillment/`  
In the body of this request you’ll provide `fulfillment_type` and `default_supplier_id` (optional).

The `fulfillment_type` param can be one of the following:  
`in_house`  
`dropshippable`  
`automatically_dropshipped`

The `default_supplier_id` param can be the id of any supplier you wish to set as the default for that product. This element is optional if the product already has a default supplier. Also, any attempt to set `fulfillment_type` will fail if there is no default supplier and `default_supplier_id` is not included.

The new endpoint is only available if the account has the `temp_new_product_fulfillment` flag set. You can check flags by hitting the `GET /company/flags/` endpoint. If `temp_new_product_fulfillment` is not returned or is `false` then you’ll want to continue using the `/product/<sku>/warehouse/<warehouse_id>/` endpoint. Once the flag is set you cannot pass `stocked_inhouse` or `automatic_dropshipping` to the warehouse endpoint.

We will look into why the error response is not including the relevant param.

---

<div class="post-metadata">

**Author:** ![jmawebtech](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.ordoro.com/jmawebtech/32/20_2.png) [@jmawebtech](https://forums.ordoro.com/u/jmawebtech)\
**Post date:** [September 8, 2020, 3:46pm UTC](https://forums.ordoro.com/t/put-request-for-updating-products-error-this-param-is-deprecated/601/3 "2020-09-08T15:46:10Z")

</div>

Hello, Syork, and thank you for the prompt response.

My colleagues and I looked into the matter, and unfortunately, we need some more information to go on.

If you can please provide an outline or example template for how the Request and Response should be structured for your new API, along with some relevant documentation outlining the new changes, it will really help us along. We looked into the API Docs themselves, but unfortunately, they didn’t have what we sought.

Thank you, and have a good day.

---

<div class="post-metadata">

**Author:** ![syork](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.ordoro.com/syork/32/61_2.png) [@syork](https://forums.ordoro.com/u/syork)\
**Post date:** [September 8, 2020, 4:36pm UTC](https://forums.ordoro.com/t/put-request-for-updating-products-error-this-param-is-deprecated/601/4 "2020-09-08T16:36:30Z")

</div>

The request for the new fulfillment endpoint is structured as follows:

```auto
PUT /product/<sku>/fulfillment/

{
  "fulfillment_type": "in_house | dropshippable | automatically_dropshipped",
  "default_supplier_id": 12345
}

```

The equivalent `curl` would be:

```auto
curl --location --request PUT 'https://api.ordoro.com/product/<sku>/fulfillment/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "fulfillment_type": "in_house | dropshippable | automatically_dropshipped",
    "default_supplier_id": 12345
}'

```

You will choose one of `in_house | dropshippable | automatically_dropshipped` and pass the correct auth headers.

The documentation for the flag endpoint can be found [here](https://ordoro.docs.apiary.io/#reference/company/companyflagsflag/put)

The fulfillment endpoint documentation can be found [here](https://ordoro.docs.apiary.io/#reference/product/productskufulfillment). Unfortunately our new request validation system does not correctly autogenerate into the apiary docs, so the example body is missing. We are working on a fix for this.

The fulfillment endpoint response is simply the serialized product, the same as `GET /product/<sku>/`
