URL ids for https://app.shiphero.com/dashboard/products/details/XXXXXXXXXX

Hello,
How are the Ids in the above URL generated? In an order, I can find this using the legacy id. This doesn’t appear to be the case for the product page. I need to pull the URL of a product given its SKU.

@tomasw We are looking to provide links into ShipHero’s dashboard for products, as well. In our case, we need to provide access to the “Change SKU” feature since (I believe) this cannot be done through GraphQL.

As an example, our SKU BA9500-FBA has and id of UHJvZHVjdEluZm86MTIzMTAzNg==, a legacy_id of 1231036 and a dashboard URL of https://app.shiphero.com/dashboard/products/details/242049217.

It’s not clear to us where to get the 242049217 to generate the URL. Is it possible?

Hi @JFurr @david!
That is because the ID is taken from warehouse_products because it will be specific to each warehouse (as a product might exist in more than one warehouse).
So for example, if you want to know the ID (URL) of SKU BA9500-FBA you will need to do.

Get the warehouse_product ID with:

query {
  product(sku: "BA9500-FBA") {
    request_id
    complexity
    data {
      sku
      warehouse_products {
        id
        legacy_id
      }
    }
  }
}

For which you will have in return:

{
  "data": {
    "product": {
      "request_id": "5f71e221c2b70e8fe6673146",
      "complexity": 1,
      "data": {
        "sku": "BA9500-FBA",
        "warehouse_products": [
          {
            "id": "UHJvZHVjdDoyNDIwNDkyMTc=",
            "legacy_id": 242049217
          }
        ]
      }
    }
  }
}

And then you could use that legacy_id to go to https://app.shiphero.com/dashboard/products/details/242049217 or you could also use the ID “UHJvZHVjdDoyNDIwNDkyMTc=” which is actually Base64, so with any online decoder or any Base64 package it translates to Product:242049217

Let me know if that doesn’t help or I could explain better.
Thanks in advance!
Tom

Thanks @tomasw. Worked like a charm!

1 Like