Integratie SalesDash
Flows
Hieronder de algemene flows van de koppeling, elke stap wordt verder uitgelegd
Onboard flow

Status verandering flow

Onboard flow
Wanneer iemand start met de koppeling moet deze geonboard worden. Het belangrijkste onderdeel hiervan is de geschiedenis van het bedrijfsprofiel importeren in Salesdash. Hiervoor worden twee endpoints vanuit Reuzenpanda geleverd:
- history endpoint, voor het ophalen van de geschiedenis veranderingen
- status endpoint, de geschiedenis bevat status veranderingen met als identifier een ID, Salesdash heeft de naam per status nodig, dit endpoint leverd de overige status data.
History endpoint
Dit wordt gedaan met de volgende request.
Endpoint: POST https://backend.reuzenpanda.nl/contact-service/api/v1/:company-profile-id/history (opens in a new tab)
company-profile-id: Id van betreffende bedrijf in Reuzenpanda (wordt verzorgt tijden onboarding)
In de response is de history terug te vinden, dit is een lijst van backlogitems met de betreffende history (veranderingen van status en uitvoerder).
- De "id" is de backlogId
- In de history is de data in de metadata afhankelijk van de type verandering Voorbeeld data:
{
"history": [
{
"id": "84677333-817e-48aa-aefd-4a0331512126",
"backlogId": "ea19da5d-83c0-451e-a2a7-257fd75eece2",
"summary": "2",
"companyProfileId": [
"fafb201c-f3b5-4a98-9c50-013ca5c359f6"
],
"history": [
{
"id": "b43d4763-4867-4613-a331-3bb27a02b750",
"backlogItemId": "84677333-817e-48aa-aefd-4a0331512126",
"startTimestamp": 1723637273030,
"endTimestamp": 1723637274371,
"type": "STATUS_CHANGED",
"metaData": {
"propertyValue": {
"_id": "8f4bfe4c-4dea-45a3-b33e-9e09a4884b12",
"type": "STATUS"
}
}
},
{
"id": "ec575545-7a54-4f93-9c49-24976b46fe62",
"backlogItemId": "84677333-817e-48aa-aefd-4a0331512126",
"startTimestamp": 1723637274371,
"endTimestamp": 1723637274874,
"type": "STATUS_CHANGED",
"metaData": {
"propertyValue": {
"_id": "8f4bfe4c-4dea-45a3-b33e-9e09a4884b12",
"type": "STATUS"
}
}
},
{
"id": "98d215dc-da79-4758-b9a7-f2799474067b",
"backlogItemId": "84677333-817e-48aa-aefd-4a0331512126",
"startTimestamp": 1723637274874,
"endTimestamp": 1724057062479,
"type": "STATUS_CHANGED",
"metaData": {
"propertyValue": {
"_id": "8f4bfe4c-4dea-45a3-b33e-9e09a4884b12",
"type": "STATUS"
}
}
}
]
},
{
"id": "5c5bc784-64c2-4f34-86e7-2257d090e70f",
"backlogId": "3be78ade-c9cf-4de2-a2e9-4cc5e976d528",
"summary": "casper",
"companyProfileId": [
"fafb201c-f3b5-4a98-9c50-013ca5c359f6"
],
"history": [
{
"id": "efab1110-a5be-48db-aaab-d71fd56929c3",
"backlogItemId": "5c5bc784-64c2-4f34-86e7-2257d090e70f",
"startTimestamp": 1723456773669,
"endTimestamp": 1723456773789,
"type": "USER_CHANGED",
"metaData": {
"propertyValue": {
"_id": "e0c5eed6-3197-426e-8c21-091416cba5b0",
"type": "USER"
}
}
},
{
"id": "392da359-00a5-4bb3-9847-a267219d38dd",
"backlogItemId": "5c5bc784-64c2-4f34-86e7-2257d090e70f",
"startTimestamp": 1723456773789,
"endTimestamp": 0,
"type": "USER_CHANGED",
"metaData": {}
}
]
}
]
}Status endpoint
Dit wordt gedaan met de volgende request.
Endpoint: POST https://backend.reuzenpanda.nl/contact-service/api/v1/:company-profile-id/history/statuses (opens in a new tab)
company-profile-id: Id van betreffende bedrijf in Reuzenpanda (wordt verzorgt tijden onboarding)
In de response zijn de statuses te vinden, dit is de lijst van alle statuses onder het bedrijfsprofiel
- De "id" is de status id
- Label is de naam Voorbeeld data:
{
"statuses": [
{
"id": "5cfb583b-d436-4606-a684-fbdee8fbb231",
"backlog_id": "ea19da5d-83c0-451e-a2a7-257fd75eece2",
"label": "Afspraak ingepland",
"color": "#F5C0FF",
"standard": false,
"status_category": null
},
{
"id": "cf5270bf-d3dd-4e03-b258-8258269cf1f3",
"backlog_id": "41fa6d34-88a3-4e4c-86db-7cc7347635fe",
"label": "Afspraak ingepland",
"color": "#F5C0FF",
"standard": false,
"status_category": null
}
]
}Status verandering flow
Deze flow is relevant voor wanneer deals van status veranderen binnen Reuzenpanda
Deal status aanpassing in Reuzenpanda
Een deal wordt binnen de pipeline verplaatst naar een nieuwe status (Dit kan ook cross-pipelines zijn)
Webhook wordt gecalled vanuit Reuzenpanda naar SalesDash
Reuzenpanda called de betreffende webhook (ingesteld tijdens onboarding) van SalesDash. De webhook call zal de data bevatten van de betreffende deal.
Voorbeeld data:
{
"id": 360861786,
"timestamp": 1754384328,
"eventName": "CRM_BACKLOG_ITEM_STATUS_CHANGE",
"payload": {
"id": "b9427bd3-f831-4a59-ba24-dc74b4ae4b2e",
"backlog_id": "49e6215f-d7c8-4959-8430-9a821524bb73",
"summary": "1",
"description": "Naam: 1",
"fields": {
"address": null,
"cf_lead_value": {
"isoCurrency": "EUR",
"type": "currency"
}
},
"labels": {
"result": null
},
"status_label": "Afspraak ingepland",
"status_id": "deabc4d2-4605-4506-9b6c-a27c209ded20",
"assignee_id": "ba568723-4f15-405d-bb4e-82cf7a86e45a",
"assignee": {
"type": "USER",
"id": "ba568723-4f15-405d-bb4e-82cf7a86e45a"
},
"status": {
"type": "STATUS",
"id": "deabc4d2-4605-4506-9b6c-a27c209ded20"
},
"free_fields": [
{
"label": "address",
"value": null
},
{
"label": "_internalConfigurator",
"value": true
},
{
"label": "cf_lead_value",
"value": {
"isoCurrency": "EUR",
"type": "currency"
}
}
],
"item_subject": {
"type": "LEAD_CONFIGURATION",
"id": "b52467dd-3c0a-4134-831c-4f274bce5bef"
},
"technical_labels": [
{
"timestamp": 1753793932756,
"type": "ITEM_ACTIVE"
},
{
"timestamp": 1753793932756,
"type": "ITEM_UNREAD"
}
],
"rank": "0|i000tj:",
"timestamp_created": 1753793932757,
"timestamp_updated": 1754384328128
},
"metadata": {
"status_id": "deabc4d2-4605-4506-9b6c-a27c209ded20",
"old_status_id": "0795afba-12cd-47f3-84e5-7f23f5be0c29",
"board_id": "a452aba7-2562-410b-a734-d53e550211de",
"item_type": "DEALS",
"lead_configuration_id": "b52467dd-3c0a-4134-831c-4f274bce5bef",
"company_profile_id": "a9f1e5cf-8769-4f4b-b10e-a685927b3439",
"backlog_id": "49e6215f-d7c8-4959-8430-9a821524bb73",
"internal_configuration": true
}
}Authorizatie naar Reuzenpanda
Vanuit Reuzenpanda krijgt SalesDash de credentials voor de betreffende klant. Met deze credentials kan je inloggen als API gebruiker.
Dit wordt gedaan met de volgende request.
Endpoint: POST https://backend.reuzenpanda.nl/authentication-service/login-api (opens in a new tab)
email: (email uit credentials)
password: (password uit credentials)
Uit de login request volgt een session_key. Bij het uitvoeren van verzoeken naar de Reuzenpanda backend is een geldige session_key vereist, deze sleutel is 24 uur geldig.
Stel de X-AUTHORIZATION header in met de waarde van de session_key.
Voorbeeld (HTTP request):
GET / HTTP/1.1
Host: backend.reuzenpanda.nl
X-AUTHORIZATION: jouw_session_key
Content-Type: application/jsonOphalen users in Reuzenpanda
Voor het ophalen van gebruikers behorende tot een profiel kan het volgende endpoint worden gebruikt.
Endpoint: POST https://backend.reuzenpanda.nl/company-profile-service/get-users-for-company-profile?id=:company-profile-id (opens in a new tab)
company-profile-id: Id van betreffende bedrijf in Reuzenpanda (wordt verzorgt tijden onboarding)
Voorbeeld response:
[
{
"id": "ef65c979-98be-4a59-abb3-8c13a14e4390",
"name": "Casper Torén",
"email": "casper@reuzenpanda.nl"
},
{
"id": "e62ffdab-cdd5-4db1-8de2-7ec6b7a59a7a",
"name": "Max Lenaers",
"email": "max@reuzenpanda.nl"
}
]Data wordt verwerkt in SalesDash
Hiermee zou de status verandering binnen SalesDash verwerkt moeten kunnen worden.