HubSpot: Difference between revisions

From Starfish ETL
Jump to navigation Jump to search
Line 2: Line 2:
While the HubSpot API documentation states that you should pass Dates to the HubSpot API in Unix format, https://legacydocs.hubspot.com/docs/faq/how-should-timestamps-be-formatted-for-hubspots-apis, the Starfish HubSpot connector will do this conversion for you.  You do need to be sure to pass that date in a specific format and at midnight.  See the following examples.
While the HubSpot API documentation states that you should pass Dates to the HubSpot API in Unix format, https://legacydocs.hubspot.com/docs/faq/how-should-timestamps-be-formatted-for-hubspots-apis, the Starfish HubSpot connector will do this conversion for you.  You do need to be sure to pass that date in a specific format and at midnight.  See the following examples.


Using API v3, for a date only field, you need to explicitly set the date to midnight UTC
Using API v3, for a date only field, you need to explicitly set the date to midnight UTC.  VBScript:
<syntaxhighlight lang="VBScript">
<syntaxhighlight lang="VBScript">
Function ScriptedField
Function ScriptedField
Line 9: Line 9:
</syntaxhighlight>
</syntaxhighlight>


C#:
<syntaxhighlight lang="C#">
<syntaxhighlight lang="C#">
object ScriptedField()
object ScriptedField()

Revision as of 00:42, 27 January 2023

Date Fields

While the HubSpot API documentation states that you should pass Dates to the HubSpot API in Unix format, https://legacydocs.hubspot.com/docs/faq/how-should-timestamps-be-formatted-for-hubspots-apis, the Starfish HubSpot connector will do this conversion for you. You do need to be sure to pass that date in a specific format and at midnight. See the following examples.

Using API v3, for a date only field, you need to explicitly set the date to midnight UTC. VBScript:

Function ScriptedField
  ScriptedField=FormatDate("@@ORG:date_entered@@", "yyyy-MM-ddT00:00:00Z")
End Function

C#:

object ScriptedField()
{
    string strDte = ConvertObj2String(Starfish.OriginData["INVOICE_SENT_DATE_C"]);
    
    if (!string.IsNullOrEmpty(strDte))
    {
        DateTime dte = Convert.ToDateTime(strDte);
        strDte = dte.ToString("yyyy-MM-dd 00:00:00Z");
    }
    
	return strDte;
}

Updating Contacts

When updating contacts, if you are matching on email address, you must be sure NOT to pass in a blank email address. HubSpot will not know which contact to update and will update a random contact with incorrect data. You can either exclude blank emails from your origin or check the "Skip if Blank" checkbox on the email address field. I prefer to do both.