Webhooks

Et webhook i Heyloyalty-regi bruges til at kommunikere ændringer af medlemsdatabasen - herunder tilmeldinger, opdateringer og afmeldinger. Webhooket sættes op til at pege på en URL/et link, som typisk fører hen til din egen server eller det sted, du ønsker at modtagene dataene, når der sker et event/aktivitet i Heyloyalty. Se events længere nede på siden. 

  1. Vælg ’Lister’ i topmenuen.
     
  2. Tryk på blyanten (’Rediger liste’) ud for den liste, hvortil du gerne vil opsætte et webhook.
     
  3. Vælg fanen ’Webhooks’.
     
  4. Indtast den ’URL’, som dataene skal sendes til. 
     
  5. Tryk ’Gem webhook’, når du er færdig.

Opsætning af webhook er særlig relevant, hvis du benytter de tilmeldings-, opdaterings- og afmeldingssider, som findes i Heyloyalty.

Hvis du har sat et webhook op, og et nyt medlem opretter sig via tilmeldingsformularen lavet i Heyloyalty, så sendes dataene til det link/den URL, du har opsat i webhooket. 
Webhooket bruges altså med andre ord til at synkronisere Heyloyaltys database med din egen database. 

Dataformatet, der skal anvendes, er JSON-format. 
 

Webhook events

Der er en række events, som dit webhook aktiveres af:

  • Opdater medlem
  • Frameld medlem
  • Tilmeld medlem
  • Opdater kodeord
  • Klik (når et medlem klikker i en e-mail)
  • Åben (når et medlem åbner en e-mail)
  • Soft bounce (når en e-mail pga. en midlertidig fejl ikke lander i medlemmets indbakke, fx hvis deres indbakke er fyldt)
  • Hard bounce (når en e-mail adresse ikke findes - fx hvis den er slettet)

Et event kan altså være, når et medlem på din liste bliver opdateret. Har du fx sendt en opdateringskampagne til dine medlemmer og bedt dem om at udfylde flere data om dem selv, deres interesseområder, evt. ændre en adresse osv., vil det være et event.
 

Webhook output - Den mere tekniske forklaring

Hvis der været en event i et felt, sendes dataene. Det gælder både standard- og customfelter.

Vi sender et POST request til den URL, der indtastes, med et data felt, der indeholder JSON.

I det JSON er der en "signature"-nøgle, der er et md5 hash af API secret'en og værdien af "_id" nøglen, som er vores medlems id.
"type" kan være create, update og delete

Se eksempler herunder:
 

Eksempel 1: Tilmeld medlem med custom felter

{"member_id":"aacd0c54-fb21-46c5-823c-a1bb1703d713","list_id":1,"type":"subscribe","signature":"a96cb5a5d8e45af7310adbfe14aab9e0","member":{"list_id":1,"status":{"status":"active","email":null,"mobile":null},"fields":{"firstname":"John","lastname":"Doe","email":"johndoe@loyalitetsbureuet.dk","mobile":"000000","birthdate":"1973-06-26T00:00:00+0000","address":"Loyalitetsvej 1","postalcode":8200,"country":{"id":53,"value":"Danmark"},"sko":[{"id":5835,"value":"43"}],"bluse":[{"id":2,"value":"L"},{"id":4,"value":"s"}],"sent_mail":0,"sent_sms":0,"open_rate":0,"imported":false,"created_at":"2015-03-04T06:46:45+0000","updated_at":"2015-03-04T06:46:45+0000","created_by":null,"created_from":{"type":"internal"},"_id":"aacd0c54-fb21-46c5-823c-a1bb1703d713"}}

Eksempel 2: Opdater medlem med custom felter

{"member_id":"aacd0c54-fb21-46c5-823c-a1bb1703d713","list_id":1,"type":"update","signature":"a96cb5a5d8e45af7310adbfe14aab9e0","member":{"list_id":1,"status":{"status":"active","email":null,"mobile":null},"fields":{"postalcode":8260,"email":"johndoe@loyalitetsbureauet.dk","address":"loyaltyvej","birthdate":"1973-06-26T00:00:00+0000","lastname":"Jensen","firstname":"John","mobile":"00000000","country":{"value":"Danmark","id":53},"sko":[{"id":5835,"value":"43"}],"bluse":[{"id":2,"value":"L"},{"id":4,"value":"s"}],"sent_mail":0,"sent_sms":0,"open_rate":0,"imported":false,"created_at":"2015-03-04T06:46:45+0000","updated_at":"2015-03-04T07:36:36+0000","created_by":null,"created_from":{"type":"internal"},"_id":"aacd0c54-fb21-46c5-823c-a1bb1703d713","updated_from":[{"type":"internal","updated_at":"2015-03-04T07:36:36+0000"}]}}

Eksempel 3: Opdater med shop

{"member_id":"e8760a00-18de-437b-8b31-0539ccd3ea41","list_id":1,"type":"update","signature":"4ae32890ce58e23492f1e12e348e0dd2","member":{"list_id":1,"status":{"status":"active","email":null,"mobile":null},"fields":{"shop":[{"value":"Min butik","id":1}],"postalcode":8200,"address":"loyalitetsvej","email":"johndoe@loyalitetsbureauet.dk","lastname":"Doe","firstname":"John","mobile":"00000000"},"sent_mail":0,"sent_sms":0,"open_rate":0,"imported":true,"created_at":"2015-03-02T09:04:25+0000","updated_at":"2015-03-04T07:55:51+0000","created_by":null,"_id":"e8760a00-18de-437b-8b31-0539ccd3ea41","created_from":{"type":"import"},"updated_from":[{"type":"internal","updated_at":"2015-03-04T07:55:51+0000"}]}}

Eksempel 4: Frameld medlem

{"member_id":"aacd0c54-fb21-46c5-823c-a1bb1703d713","list_id":1,"type":"unsubscribe","signature":"a96cb5a5d8e45af7310adbfe14aab9e0","member":{"list_id":1,"status":{"status":"removed","email":null,"mobile":null},"fields":{"postalcode":8200,"email":"Johndoe@loyalitetsbureauet.dk","address":"Loyaltyvej","birthdate":"1973-06-26T00:00:00+0000","lastname":"Jensen","firstname":"John","mobile":"52335040","country":{"value":"Danmark","id":53},"sko":[{"id":5835,"value":"43"}],"bluse":[{"id":2,"value":"L"},{"id":4,"value":"s"}]},"sent_mail":0,"sent_sms":0,"open_rate":0,"imported":false,"created_at":"2015-03-04T06:46:45+0000","updated_at":"2015-03-04T07:41:40+0000","created_by":null,"created_from":{"type":"internal"},"_id":"aacd0c54-fb21-46c5-823c-a1bb1703d713","updated_from":[{"type":"internal","updated_at":"2015-03-04T07:36:36+0000"}],"deleted_from":{"type":"internal"}}}

Til test kan http://requestb.in anbefales.

Stadig i tvivl - så er du velkommen til at kontakte os her.

Next entry: Butikker

Previous entry: Formularer