Make the transfers API available!!

RosalieL
Shopify Partner
11 0 86

Why is a Transfers API not available - even as read only? I and MANY, MANY  others have asked and received deafening silence. It is maddening. A couple of things I could do with it are:

  • Report on oversold products where there isn't any incoming stock so I know to order it.
  • Export transfer data to attach to a purchase order I raise in my accounting system.

Neither of these require anything more than read only access. There is already an unsupported JSON API at /admin/transfers.json 

 

This is has been asked for repeatedly and even hinted that it was coming in 2016.  Seriously? Transfers are a great idea but not if you can't access the data! 

 

Can someone from Shopify please answer this. 

Replies 57 (57)
ClementG
Shopify Partner
660 0 58

I would like to second this request as well.

We could unlock a lot of new scenarios with this API.

I thought Shopify might be waiting to release multi-location, but that it's been released for several months, what's stopping the release of the transfers APIs?

RosalieL
Shopify Partner
11 0 86

Even an export link on the transfers page in Shopify Admin would be a good short term stopgap.

 

Please???

RealJack
Visitor
1 0 6

This would be very nice... But makes too much sense apparently. 

Starbadar
Excursionist
16 3 23

And here we are the end of 2019 and this simple task is still not done. You can even see it within products now but still can't even access through liquid as well.

All we want guys is `variant.incoming_inventory`... DO IT Screen Shot 2019-12-30 at 1.40.38 PM.png

ClementBR
Shopify Partner
139 2 23

Interestingly there is a transfer endpoint documented here: https://shopify.dev/concepts/about-apis/versioning/release-notes/2019-07#inventorytransfersavedsearc...

 

Can we make that official?

DJBell
Visitor
1 0 2

It is now early 2023 and I am still wanting this function. Sad.

EtaminStudio
Shopify Partner
5 0 7

We need this for a customer, please release it as soon as possible Shopify!

 

Also related: unlock the ability to add "Admin links" to Transfer pages.

ToyBox
Shopify Partner
1 0 2

I too desperately need to be able to create a report which shows product inventory items selected as 'damaged' but this data field data can't currently be accessed by the API. 

HorseCowboy
Shopify Partner
59 0 22

I would like to add my voice to those requesting access to this API. I could really use it for my app. I want to integrate tightly with Shopify!

Check out why Shopify store owners are switching to Horse for all of their inventory management needs.
n_amann
Visitor
2 0 4

Totally agree . This would be incredibly useful. Please make this happen. 

RGuitars_co_uk
Tourist
8 0 5

I am so angry with Shopify.  Where is the live chat in support these days?  Gone completely?

I desperately need my developer to run some back order reports showing delivery ETA on incoming orders and we cannot do this without access.

Shopify doesnt even have ANY reports so how the hell are you supposed to use this "transfer" 

I wanted to enter our purchases so we could - at a glance - see all the products we are waiting for from a supplier.  Pretty obvious and basic - and should be a feature within shopify.

So if it isn't - at least allow developers to do your job for you?

So angry - as now I cannot see the point in spending the time entering the products purchased as I am sure it will lead to more confusion when we have to keep clicking into orders finding products etc.

jonasta
Shopify Partner
6 0 7

When is this coming?? 

Read-only access would be enough. 

We need ONLY the incoming quantity for variant. Nothing else. Nothing. Else. And the transfers would be usable. Without this there's no point. 

Ale123
Visitor
2 0 11

I completely agree! Make this basic function available!!!

steefaan
Shopify Partner
4 0 8

Also agree. Please make an API available.

Vanfigs
Shopify Partner
7 0 3

Any updates on this?
With the roll-out of the Fulfillment Network is very hard to integrate without an inbound transfer.
How could we get this API available?

den232
Shopify Partner
132 3 34

Is this actually 2021?  Fraid so.  I'm yet another voice requesting transfers.  Just quantity and date, right?   What is the problem?  

 

Pleeeeeeeeeeese?

 

jb

den232
Shopify Partner
132 3 34

Hi again.

Since I'm new to this issue and just to confirm that I'm not missing something, I reached out to developers of a high-ranking app, Excelify, who have an app that exports and imports "everything" about your shop, orders, inventory, etc., to see if their app was able to access this "transfers" or incoming purchase orders information.   For the record, I received the following reply:

Renars here from Excelify.

At the moment, Shopify API does not allow apps to access and see this data, so we are not able to export it.

I have added your contact details for this feature in our Customer Needs list so that once Shopify allows this and we have it developed, we can let you know.

So, it's "not just me".  Cheers jb

den232
Shopify Partner
132 3 34

Pleeeeeeese? Jb

Koray
Shopify Partner
7 0 10

Yes, why isn't this available?  Every other nonsensical thing is out there, yet something that is mission critical is not available.

David_Db
Excursionist
21 0 7

WE also need this ASAP!

Mete
Shopify Partner
132 0 30

We also need this API.

Co-Founder / Developer at: merchbees
Merchbees Low Stock Alert - Keep track of your low stock items by email and slack
Merchbees Inventory Value - Know your inventory value and quantity in real-time
Push Down & Hide Out of Stock - Move out of stock products to the bottom of the collection to improve SEO & hide/ unhide automatically
bidiman
Tourist
5 0 6

+1

need excelify to access to transfer quantity value..

KryptoniteProdu
Not applicable
1 0 2

Please Make this possible. It would be very helpful!

Thank you!

Thomas_Lang1
Shopify Partner
230 6 44

the way I do this is a bit hacky, but for me it works, so I'd like to share it in the hopes that it will help someone else. (at least untill shopify gives us a way to do this through an official endpoint.) only issue currently is that the destination location is missing (only source location is available, but if you dont have too many transfers between more than 2 locations it will work for you

or you can use the query parameter to look for a certain locations transfers: admin/transfers.json?query=location_name if the source is the same as the location name you know it was not to this location, and you could skip it, this way you would only get transfers to this location (I haven't used this part, and I know it's not ideal, but better than nothing)

I use nodejs to fetch the transfers json.

if you are in the shopify admin, open up transfers, add .json after the url and press enter:

Thomas_Lang1_0-1624821143177.png

open the google chrome webinspector, and find the get request to the transfers.json endpoint, then copy it as nodejs fetch:

 

Thomas_Lang1_1-1624821221976.png

 

paste it into an editor like webstorm, add the node-fetch module and you will be able to fetch the json (the cookies are valid for about 24 hours, so if you need to fetch again you will need to do above steps again.

 

your code should look something like this (i removed my cookie data and sessionids ofcourse):

 

 

 

 

 

const fetch = require('node-fetch');

async function getTransfers() {
    let res = await fetch("https://xx.myshopify.com/admin/transfers.json", {
        "headers": {
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "accept-language": "en-US,en;q=0.9,nl;q=0.8",
            "cache-control": "no-cache",
            "pragma": "no-cache",
            "sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Google Chrome\";v=\"91\", \"Chromium\";v=\"91\"",
            "sec-ch-ua-mobile": "?0",
            "sec-fetch-dest": "document",
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "none",
            "sec-fetch-user": "?1",
            "upgrade-insecure-requests": "1",
            "cookie": "_master_udr=verylongstring; new_admin=1; _secure_admin_session_id=session_id; _secure_admin_session_id_csrf=csrf; koa.sid=sid; koa.sid.sig=sid.sig; _ab=1; __ssid=sig; secure_customer_sig=; _shopify_m=session; _tracking_consent=%D; identity-state=xx; _s=xx _shopify_y=xx; _shopify_s=xx; _orig_referrer=; _landing_page=%2Fadmin%2Ftransfers; _shopify_evids="
        },
        "referrerPolicy": "strict-origin-when-cross-origin",
        "body": null,
        "method": "GET",
        "mode": "cors"
    });

    let jsonResult = await res.json();
   console.log("transfer json result:", jsonResult);
}

getTransfers();

 

 

 

 

 

 

there is also another endpoint available which will give you a single transfer by id (although the other endpoint has all the data, maybe it's useful for you) 

/admin/transfers/(yourtransferid).json

 

 

 

Software Developer | Owner of Tom IT - We build shopify apps
Marketplace Order Connector | Amazon bol.com & Walmart DSV
Order Related Documents | Print documents, Email document &Autoprint
Blog Product Spotlight | Add products to your blog articles!

den232
Shopify Partner
132 3 34

That will work, yes, but the trouble is that the session admin login is so temporary, and it seems cannot be automatically extended, so continuous handholding would be required. 

in addition, that endpoint is unofficial, so it could be removed at any time with no notice. Not really something I want to base a bunch of work into, you know?

 

cheers jb

Thomas_Lang1
Shopify Partner
230 6 44
For internal use it’ll be ok, it’s better than not having it,we run reports once every few months also for pos cash tracking, managed to pull out whole 2020 year which was a huge help. All I need to do is update the cookie in the fetch request function to run it.

Best regards

Thomas
Software Developer | Owner of Tom IT - We build shopify apps
Marketplace Order Connector | Amazon bol.com & Walmart DSV
Order Related Documents | Print documents, Email document &Autoprint
Blog Product Spotlight | Add products to your blog articles!

teamrhone
Visitor
1 0 1

It seems the /admin/transfers.json endpoint is longer working 😞

{"errors":"Not Found"} 

 

den232
Shopify Partner
132 3 34

Thanks so much for this info.   Not to be a "I told Ya So", but ... yeah, I did tell ya (all) so.

 

Been burnt by too many unsupported features over the years!

 

Cheers jb

Thomas_Lang1
Shopify Partner
230 6 44

Yeah it's a pain, but we have been using this for over 9 months with no issues and a happy customer..

 

seems they have rebuilt the queries in graphql, will probably need to rewrite to get the data from graphql although it would obviously be amazing if they could just add this to the API we are supposed to use too...

Software Developer | Owner of Tom IT - We build shopify apps
Marketplace Order Connector | Amazon bol.com & Walmart DSV
Order Related Documents | Print documents, Email document &Autoprint
Blog Product Spotlight | Add products to your blog articles!

OscarFabian
Not applicable
2 0 3

We're in 2029 and there's not such transfer API endpoint yet...

JamesSteyner
Shopify Partner
2 0 6

+1

 

we need it too

please

JesperUnna
Excursionist
11 0 9

+1 here, since we really really need a better way for our warehouse to print a picking list for our transfers. Printing the transfer page looks horribly and the products cannot be sorted.

Lots could be improved, but opening the API would be a great start.

Kromannian
Tourist
4 0 7

+1

This would be very useful for internal processes.

Reynaldo_Zabala
Tourist
8 0 6

writing to inventorylevel.incoming (and for that matter adding metafields to an inventoryLevel) are both a MUST HAVE for us. In the meantime we're simply ignoring transfers and just using metafields to do this. It is far from ideal and requires us to store backorder_qty and backorder_arrival_eta as metafields on both the product and variant depending on whether or not the product.hasonlydefaultvariant is set. If true we store those custom metafield values on the product and if not we store on the variant. As i said, far from ideal but it works for now. but also means that the transfers screen is useless for us...