# Authentication when adding a Shipping Carrier

**URL:** <https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371>\
**Category:** GraphQL API\
**Created:** [June 15, 2021, 2:27pm UTC](https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371 "2021-06-15T14:27:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![epedder](https://sea2.discourse-cdn.com/flex020/user_avatar/community.shiphero.com/epedder/32/363_2.png) [@epedder](https://community.shiphero.com/u/epedder)\
**Post date:** [June 15, 2021, 2:27pm UTC](https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371/1 "2021-06-15T14:27:29Z")

</div>

To register a Generate Label Webhook the instructions are to send the Endpoint URL (see [Webhooks – Developer Resources | ShipHero](https://developer.shiphero.com/webhooks#generate-label-webhook)). It isn’t clear how authentication is handled though. Is there any further documentation on how the customer can identify their account or credentials when using our webhook?

---

<div class="post-metadata">

**Author:** ![tomasw](https://sea2.discourse-cdn.com/flex020/user_avatar/community.shiphero.com/tomasw/32/248_2.png) [@tomasw](https://community.shiphero.com/u/tomasw)\
**Post date:** [June 16, 2021, 5:09pm UTC](https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371/2 "2021-06-16T17:09:21Z")

</div>

Hi @epedder!

Something like this? [Webhooks – Developer Resources | ShipHero](https://developer.shiphero.com/webhooks#webhook_verification)

Thanks in advance!  
Tom

---

<div class="post-metadata">

**Author:** ![epedder](https://sea2.discourse-cdn.com/flex020/user_avatar/community.shiphero.com/epedder/32/363_2.png) [@epedder](https://community.shiphero.com/u/epedder)\
**Post date:** [June 16, 2021, 5:15pm UTC](https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371/4 "2021-06-16T17:15:03Z")

</div>

Hi @tomasw,

Thanks for the response. Unfortunately I don’t _think_ it solves the problem. It allows us to confirm that a specific user sent the request but not _which_ user sent the request.

---

<div class="post-metadata">

**Author:** ![epedder](https://sea2.discourse-cdn.com/flex020/user_avatar/community.shiphero.com/epedder/32/363_2.png) [@epedder](https://community.shiphero.com/u/epedder)\
**Post date:** [November 18, 2021, 4:55pm UTC](https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371/5 "2021-11-18T16:55:05Z")

</div>

Maybe I’m missing something obvious or perhaps this is a language issue, but I would be surprised if we (a shipping label provider) are the first to ask this question.

You (ShipHero) provide a “Generate Label Webhook”. Except unlike other webhooks we cannot install it via API - it must be done by [support@shiphero.com](mailto:support@shiphero.com). All you ask for is the Endpoint URL and the transmission to that URL does not contain any information that lets us (the label vendor) identify who wants the label. So perhaps the identifier needs to be in the URL itself. But does that mean instead of acting as a general carrier like, say, FedEx, we need a unique URL for every ShipHero customer? And that request needs to go to [support@shiphero.com](mailto:support@shiphero.com)? If that’s the case - why not say so? I’ve asked our ShipHero contact and they pointed me to the community forum.

---

<div class="post-metadata">

**Author:** ![tomasfd](https://avatars.discourse-cdn.com/v4/letter/t/5daacb/32.png) [@tomasfd](https://community.shiphero.com/u/tomasfd)\
**Post date:** [November 19, 2021, 1:39pm UTC](https://community.shiphero.com/t/authentication-when-adding-a-shipping-carrier/1371/6 "2021-11-19T13:39:20Z")

</div>

Hello @epedder!  
Thanks for reaching out.

Most, if not all, of the shipping label providers, use a specific link for each customer. Their URLs are usually something like this: `https://shippinglabelprovider.com/shiphero/customername`

But I believe there’s a way for your team to work around this if you prefer to use a single URL. If you check the payload in [this link](https://developer.shiphero.com/webhooks#generate-label-webhook), you will see that in line 43, there’s a field named `account_id`. This field returns the unique identifier for each account in ShipHero. Even child accounts from 3PLs get their unique ID.  
If you poll this field when the webhooks reach your endpoint, you would be able to query the corresponding secret to solve the HMAC and probably trigger anything customer-specific on your end.

Please let me know if this does not help.  
Have a great day!  
Tomas
