Skip to content

Commit 9492aa0

Browse files
authored
Merge pull request #89 from umbraco/feature/v10/hubspot-multi-value-fields
Add HubSpot specific string return values.
2 parents de0e22b + 347aa82 commit 9492aa0

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Umbraco.Forms.Core.Data.Helpers;
2+
using Umbraco.Forms.Core.Persistence.Dtos;
3+
4+
namespace Umbraco.Forms.Integrations.Crm.Hubspot.Extensions;
5+
6+
public static class RecordFieldExtensions
7+
{
8+
public static string ValuesAsHubspotString(this RecordField recordField, bool escaped = true)
9+
{
10+
if (!recordField.HasValue())
11+
{
12+
return string.Empty;
13+
}
14+
15+
if (!escaped)
16+
{
17+
return string.Join(";", recordField.Values.ToArray());
18+
}
19+
20+
return string.Join(";", recordField.Values.ConvertAll((object input) => JsonHelper.EscapeStringValue(input.ToString())).ToArray());
21+
}
22+
}

src/Umbraco.Forms.Integrations.Crm.Hubspot/Services/HubspotContactService.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public async Task<CommandResult> PostContactAsync(Record record, List<MappedProp
160160
var recordField = record.GetRecordField(Guid.Parse(fieldId));
161161
if (recordField != null)
162162
{
163-
var value = recordField.ValuesAsString(false);
163+
var value = recordField.ValuesAsHubspotString(false);
164164

165165
propertiesRequestV1.Properties.Add(new PropertiesRequestV1.PropertyValue(mapping.HubspotField, value));
166166
propertiesRequestV3.Properties.Add(mapping.HubspotField, value);
@@ -218,7 +218,8 @@ public async Task<CommandResult> PostContactAsync(Record record, List<MappedProp
218218
}
219219
else
220220
{
221-
_logger.LogError("Error creating a HubSpot contact.");
221+
var responseContent = await response.Content.ReadAsStringAsync();
222+
_logger.LogError($"Error creating a HubSpot contact: {responseContent}");
222223
return CommandResult.Failed;
223224
}
224225
}

src/Umbraco.Forms.Integrations.Crm.Hubspot/Umbraco.Forms.Integrations.Crm.Hubspot.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<PackageIconUrl></PackageIconUrl>
1212
<PackageProjectUrl>https://github.com/umbraco/Umbraco.Forms.Integrations/tree/main-v10/src/Umbraco.Forms.Integrations.Crm.Hubspot</PackageProjectUrl>
1313
<RepositoryUrl>https://github.com/umbraco/Umbraco.Forms.Integrations</RepositoryUrl>
14-
<Version>3.2.0</Version>
14+
<Version>3.3.0</Version>
1515
<Authors>Umbraco HQ</Authors>
1616
<Company>Umbraco</Company>
1717
<PackageTags>Umbraco;Umbraco-Marketplace</PackageTags>

0 commit comments

Comments
 (0)