Best API for Inventory Change Log

Hi all,

Trying to solve a basic problem of allowing our operators to easily see inventory moves on Bins. We use “Transfer Entire Location” alot in our operation. We also are unlike most businesses in that we are a consignment business with not much depth to our skus, and ALOT of singular skus. So, the Inventory change log view in Shiphero is sadly not much help at all because the load time is unbearable with all of the data that’s behind it.

That side, What I want to do is pull inventory changes (mainly Bin transfers, i.e. “Bin transfer of 1 items to bin 117-086-B”) from Shiphero and write the data to our Salesforce instance. What would be easiest would be able to query by a given Inventory Location and fetch the change history of that location. Is this possible and could someone point me to the best API In Shiphero to use?

Hey @FrankatLindas,

Thanks for reaching out and Welcome to our Developer Community!

We actually have an inventory_changes query that you can call.
Below is an example of the query and the available filters:

{
  inventory_changes(
    sku: "string"
    warehouse_id: "string"
    location_id: "string"
    location_name: "string"
    date_from: "_____"
    date_to: "_____"
    customer_account_id: "string"
  ) {
    request_id
    complexity
    data(sort: "string", before: "string", after: "string", first: 1, last: 1) {
      pageInfo
      edges
    }
  }
}

If needed you access our full schema and docs here: Getting Started – Developer Resources | ShipHero

Please let me know if you have any questions or concerns!

Best,
RayanP

@sh-agent Thanks for the info. Is Sku a requirement for this input? Can I query by just location?

Relatedly, is there anyway for me to take the “Transfer Entire Location” function on the app and basically tap into that via API? I have a bunch of cases where I just want to transfer Location A into Location B

Hey @FrankatLindas,

You’re welcome!

SKU is not a required filter for the query. This query has no required filters, but if you want to query by dates, you must include both the date_from and date_to filters.

Using our inventory_transfer mutation you’re able to achieve that functionality. Below is an example query:

mutation {
  inventory_transfer(
    data: {
      sku: "string"
      warehouse_id: "string"
      quantity: 1
      location_from_id: "string"
      location_to_id: "string"
    }
  ) {
    request_id
    complexity
    ok
  }
}

All the fields in this example are required but optionally you could include the reason:“string” or the customer_account_id:“string” if you’re a 3PL.

Please let me know if you have any further questions or concerns!

Best,
RayanP