<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: X-HubSpot-Signature for CRM Extensions in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/355130#M34864</link>
    <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/72929"&gt;@Willson&lt;/a&gt;&amp;nbsp;any update?&lt;/P&gt;</description>
    <pubDate>Fri, 17 Jul 2020 03:50:47 GMT</pubDate>
    <dc:creator>sketchy</dc:creator>
    <dc:date>2020-07-17T03:50:47Z</dc:date>
    <item>
      <title>X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/352765#M34615</link>
      <description>&lt;P&gt;I'm running a HubSpot application, I can't verify the `X-HubSpot-Signature` for the GET requests in a CRM Extension.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm unsure how to treat the query string that is sent with the request.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The original data fetch request makes a request like the following;&lt;/P&gt;&lt;PRE&gt;GET https://example.com/demo-tickets?userId=12345&amp;amp;userEmail=testuser@example.com&amp;amp;associatedObjectId=78912&amp;amp;associatedObjectType=COMPANY&amp;amp;portalId=9999999&amp;amp;domain=testcompany.com&lt;/PRE&gt;&lt;P&gt;I would assume the signature would be&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;XXXGEThttps://example.com/demo-tickets?userId=12345&amp;amp;userEmail=testuser@example.com&amp;amp;associatedObjectId=78912&amp;amp;associatedObjectType=COMPANY&amp;amp;portalId=9999999&amp;amp;domain=testcompany.com&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;XXX = the client secret.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried this method and the X-HubSpot-Signature doesn't match.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is anyone else having this problem?&lt;/P&gt;</description>
      <pubDate>Wed, 08 Jul 2020 07:19:32 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/352765#M34615</guid>
      <dc:creator>sketchy</dc:creator>
      <dc:date>2020-07-08T07:19:32Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353146#M34660</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/136416"&gt;@sketchy&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is correct, providing an example, the source string being used be structured as follows:&lt;/P&gt;
&lt;PRE&gt;'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy[{"eventId":1,"subscriptionId":12345,"portalId":62515,"occurredAt":1564113600000,"subscriptionType":"contact.creation","attemptNumber":0,"objectId":123,"changeSource":"CRM","changeFlag":"NEW","appId":54321}]'&lt;/PRE&gt;
&lt;P&gt;The above is done using the process of concatenating the&amp;nbsp;&lt;SPAN&gt;string together to yield:&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;Client secret&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;http method&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;URI&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;request body&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have you ran through &lt;A href="https://developers.hubspot.com/docs/api/webhooks/validating-requests" target="_blank" rel="noopener"&gt;our Docs on signature validation&lt;/A&gt; to ensure you're correctly following the steps required?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps!&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jul 2020 10:23:27 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353146#M34660</guid>
      <dc:creator>Willson</dc:creator>
      <dc:date>2020-07-09T10:23:27Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353389#M34679</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/72929"&gt;@Willson&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've got it working fine for the POST requests that contain a body, but still can't get it working for a GET request.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As an example;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;clientSecret:&amp;nbsp;aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
method: GET
url:&amp;nbsp;https://www.domain.com/crmExtension?associatedObjectId=1&amp;amp;associatedObjectType=CONTACT&amp;amp;portalId=1&amp;amp;userEmail=email%40domain.com&amp;amp;userId=1
body: null&lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV&gt;I have tried the following to get the signature to match, but none work&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeGEThttps://www.domain.com/crmExtension?associatedObjectId=1&amp;amp;associatedObjectType=CONTACT&amp;amp;portalId=1&amp;amp;userEmail=email%40domain.com&amp;amp;userId=1

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeGEThttps://www.domain.com/crmExtension?associatedObjectId=1&amp;amp;associatedObjectType=CONTACT&amp;amp;portalId=1&amp;amp;userEmail=email%40domain.com&amp;amp;userId=1null

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeGEThttps://www.domain.com/crmExtension

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeGEThttps://www.domain.com/crmExtension{"associatedObjectId":1,"associatedObjectType":"CONTACT","portalId:1,"userEmail":"email%40domain.com","userId":1}

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeGEThttps://www.domain.com/crmExtension[{"associatedObjectId":1,"associatedObjectType":"CONTACT","portalId:1,"userEmail":"email%40domain.com","userId":1}]&lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV&gt;The documentation doesn't mention how to handle querystring parameters, are they considered to be part of the URI?&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It seems no matter what I try with the GET request for a CRM Extension I can't get the signature to validate.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 10 Jul 2020 00:49:31 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353389#M34679</guid>
      <dc:creator>sketchy</dc:creator>
      <dc:date>2020-07-10T00:49:31Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353436#M34686</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/136416"&gt;@sketchy&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In order to check this from my end, would you be able to provide me with the App Id?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jul 2020 09:47:40 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353436#M34686</guid>
      <dc:creator>Willson</dc:creator>
      <dc:date>2020-07-10T09:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353720#M34711</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/72929"&gt;@Willson&lt;/a&gt;&amp;nbsp;, the App ID is 216281&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jul 2020 23:06:37 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/353720#M34711</guid>
      <dc:creator>sketchy</dc:creator>
      <dc:date>2020-07-12T23:06:37Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/355130#M34864</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/72929"&gt;@Willson&lt;/a&gt;&amp;nbsp;any update?&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jul 2020 03:50:47 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/355130#M34864</guid>
      <dc:creator>sketchy</dc:creator>
      <dc:date>2020-07-17T03:50:47Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/355199#M34873</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/136416"&gt;@sketchy&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Apologies for the delay here! I have confirmed with our team that the request validation for CRM Extensions currently uses our v2 method.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A href="https://legacydocs.hubspot.com/docs/faq/v2-request-validation" target="_blank" rel="noopener"&gt;This is outlined here.&lt;/A&gt; Are you able to test and confirm the results using the examples provided in the docs?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Specifically&amp;nbsp;for a GET request:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Client secret :&amp;nbsp;yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy&lt;/LI&gt;
&lt;LI&gt;HTTP Method: GET&lt;/LI&gt;
&lt;LI&gt;URI:&amp;nbsp;&lt;A href="https://www.example.com/webhook_uri" target="_blank"&gt;https://www.example.com/webhook_uri&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Source String:&lt;BR /&gt;&lt;CODE&gt;yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyyGEThttps://&lt;A href="http://www.example.com/webhook_uri" target="_blank"&gt;www.example.com/webhook_uri&lt;/A&gt;&lt;/CODE&gt;&lt;BR /&gt;The resulting hash would be:&lt;BR /&gt;&lt;CODE&gt;eee2dddcc73c94d699f5e395f4b9d454a069a6855fbfa152e91e88823087200e&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Being sure to include the query parameters as part of the URI as mentioned previously. If you're more comfortable, you can DM me with the details of your testing so we have specifics to work with from your end.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Thanks!&lt;CODE&gt;&lt;/CODE&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jul 2020 09:47:22 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/355199#M34873</guid>
      <dc:creator>Willson</dc:creator>
      <dc:date>2020-07-17T09:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/356654#M35052</link>
      <description>&lt;P&gt;Thanks Matt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem I've run into is AWS Lambda appears to parse and reorder the querystring parameters. So my signature wasn't validated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How that I've seen the raw request I'm able to validate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jul 2020 05:08:56 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/356654#M35052</guid>
      <dc:creator>sketchy</dc:creator>
      <dc:date>2020-07-23T05:08:56Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/677614#M55646</link>
      <description>&lt;P&gt;Where did you find the raw request? And which of your strings above was correct when reordered?&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2022 01:18:04 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/677614#M55646</guid>
      <dc:creator>AChong1</dc:creator>
      <dc:date>2022-08-09T01:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: X-HubSpot-Signature for CRM Extensions</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/787041#M63500</link>
      <description>&lt;P&gt;I faced this for days, even the accepted answer did not work, because it is just copy paste from documentation.&lt;/P&gt;&lt;P&gt;My problem was with the URL. I was taking the URL as provided by Request object by Java, but it was slightly different (encoded) from the URL sent by HubSpot.&lt;/P&gt;&lt;P&gt;To figure out the URL sent by HubSpot, go to your App &amp;gt; Monitoring &amp;gt; CRM Extensions. This is where I found the correct URL and it solved the issue for me.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2023 03:07:27 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/X-HubSpot-Signature-for-CRM-Extensions/m-p/787041#M63500</guid>
      <dc:creator>svamja</dc:creator>
      <dc:date>2023-04-27T03:07:27Z</dc:date>
    </item>
  </channel>
</rss>

