Så hämtar du Groweo®-kontakter till Salesforce via API
Med Groweos GET API kan du hämta kontakter från Groweo® Contacts till Salesforce och skapa eller uppdatera motsvarande Contact- eller Lead-poster.
Integrationen fungerar genom att Salesforce hämtar data från Groweo med GET-anrop. Groweo skickar inte automatiskt kontakter till Salesforce och API kan inte användas för att skapa, redigera eller radera kontakter i Groweo.
I den här guiden går vi igenom ett sätt att bygga integrationen med Salesforce External Credentials, Named Credentials och Apex.
Obs: Salesforce-miljöer och konfigurationer kan skilja sig åt. Låt gärna en Salesforce-administratör eller utvecklare granska implementationen.
Innan du börjar
Du behöver:
- en Groweo API-token
- behörighet att konfigurera External Credentials och Named Credentials i Salesforce
- behörighet att skapa ett Permission Set
- behörighet att arbeta med Apex om API-anropet implementeras med Apex.
1. Hämta din Groweo API-token
Be din kontaktperson på Groweo eller Groweos kundsupport om en API-token.
Endpointen för kontakter är:
GET https://engine.groweo.com/engine/api/client-api/contacts
Du kan till exempel hämta de första 50 kontakterna med:
?page=1&limit=50&populateModuleData=true
API-token skickas i HTTP-headern:
x-client-api-token: <API_TOKEN>
Testa anropet exempelvis med Postman eller cURL innan du konfigurerar Salesforce.
Spara inte API-token direkt i Apex eller annan källkod.
2. Skapa en External Credential i Salesforce
Gå till:
Setup
→ Named Credentials
→ External Credentials
→ New
Exempel:
Label: Groweo API Credential
Name: Groweo_API_Credential
Authentication Protocol: Custom
Skapa därefter en Principal, till exempel:
Parameter Name: Groweo
Identity Type: Named Principal
Lägg till en authentication parameter:
Name: ApiToken
Value: <GROWEO API TOKEN>
3. Lägg till HTTP-headern som Groweo kräver
Skapa en custom header:
x-client-api-token
med värdet:
{!$Credential.Groweo_API_Credential.ApiToken}
Använd de faktiska API-namnen från din Salesforce-miljö om de skiljer sig från exemplet.
4. Skapa en Named Credential
Gå till:
Setup
→ Named Credentials
→ Named Credentials
→ New
Exempel:
Label: Groweo API
Name: Groweo_API
URL: https://engine.groweo.com
External Credential: Groweo API Credential
Stäng av Generate Authorization Header, eftersom Groweo använder x-client-api-token för autentisering.
5. Ge integrationsanvändaren rätt behörigheter
Skapa ett Permission Set, till exempel:
Groweo API Access
Ge åtkomst till den Principal som används av Groweo External Credential och tilldela Permission Set till användaren som kör integrationen.
Beroende på Salesforce-konfigurationen kan ytterligare credential-relaterade behörigheter behövas.
6. Testa API-anropet med Apex
När Named Credential är konfigurerad kan endpointen anropas via:
callout:Groweo_API/engine/api/client-api/contacts
API-token behöver inte finnas i Apex-koden. Salesforce lägger till den konfigurerade headern via External Credential.
7. Kontrollera JSON-svaret och definiera fältmappningen
Börja med att kontrollera det faktiska JSON-svaret från din Groweo-miljö.
En möjlig mappning är:
| Data i Groweo | Salesforce |
|---|---|
| kontaktens unika identifierare | Groweo ID |
| förnamn | First Name |
| efternamn | Last Name |
| e-postadress | |
| telefonnummer | Phone |
Tabellen är ett exempel på en möjlig mappning och beskriver inte Groweos dokumenterade response-schema.
Kontrollera därför alltid de faktiska fältnamnen och JSON-strukturen innan du bygger mappningen.
8. Spara Groweo-ID i Salesforce
Om Groweos API-svar innehåller en stabil unik identifierare för kontakten kan du skapa ett Salesforce-fält, exempelvis:
Groweo_ID__c
och konfigurera det som:
Type: Text
Unique: true
External ID: true
Då kan Salesforce upsert användas för att uppdatera en befintlig post eller skapa en ny.
Använd inte automatiskt e-postadressen som permanent identifierare, eftersom den kan ändras.
9. Hantera paginering
Groweos API använder paginering:
?page=1&limit=50
Integrationen behöver därför hämta alla relevanta sidor, inte bara den första.
Bestäm exakt hur den sista sidan identifieras utifrån det faktiska API-svaret från Groweo.
10. Schemalägg synkroniseringen
Om kontakterna ska hämtas automatiskt kan Scheduled Apex kombineras med Queueable Apex.
Flödet kan exempelvis vara:
Scheduled Apex
↓
Queueable Apex
↓
Groweo GET API
↓
JSON-hantering
↓
fältmappning
↓
Salesforce upsert
Så fungerar integrationen
GROWEO®
│
│ GET
▼
Contacts API
│
x-client-api-token
│
▼
Salesforce External Credential
│
▼
Salesforce Named Credential
│
▼
Apex
│
fältmappning
▼
Contact / Lead
│
External ID
▼
upsert
Groweo fungerar som källa för kontaktdata. Salesforce initierar hämtningen och skapar eller uppdaterar poster enligt integrationslogiken.