Companywebcast API Wiki


Edit

Project beschrijving

Edit

Doelstelling

doel 1 : Realiseer de mogelijkheid om vanuit Partner Applicatie webcasts aan te maken, zodat deze aangeboden worden via Liveuitvaart.nl.
doel 2 : Ontsluit de functionaliteit van Liveuitvaart.nl binnen de Partner Applicatie interface.

Edit

Implementatie

doel 1 :
Partner Applicatie
Implementeert Single Sign On
Consumeert Management Service
Maakt Webcasts aan
Wijzigt Webcasts
Implementeert Gedeeld DataModel

Liveuitvaart.nl
Implementeert Single Sign On
Consumeert Management Service
Wijzigt Webcasts (soms)
Implementeert Gedeeld DataModel

Project schema

doel 2 :
Doel 2 kan pas gerealiseerd worden na de succesvolle afronding van doel 1.
Liveuitvaart.nl wordt in een IFRAME geladen binnen Partner Applicatie.
Liveuitvaart.nl doet een inspanning om visueel aan te sluiten op Partner Applicatie.
Liveuitvaart.nl verbergt overlappende functionaliteit.

Edit

Definities

Edit

Partner Applicatie

Een applicatie van een Partner van Company Webcast, die wordt aangeschaft door Customers om uitvaart specifieke functionaliteit te ontsluiten.

Edit

Customer

Een uitvaart centrum dat Partner Applicatie in gebruikt heeft. Elke Customer heeft minimaal 1 Profile.

Accounts in de context van een Customer geven enkel toegang tot de webcasts van die specifieke Customer.


Het aanmaken, bewerken en verwijderen van Customers is niet binnen de scope van deze koppeling.

Relevante Methods:
CustomerList
CustomerGet

Relevante Types:
Customer
CustomerSummary

Edit

Gedeeld DataModel

Het data model dat Liveuitvaart.nl en Partner Applicatie beide moeten naleven om gegevens succesvol uit te kunnen wisselen.

Dit zijn de koppeling specifieke eigenschappen die beide applicaties moeten uitwisselen:

NextOfKin-Saluation
Aanhef van de nabestaande. bv. : "Beste".
NextOfKin-Initials
Initialen van de nabestaande. bv. : "M.J.J."
NextOfKin-Preposition
Tussenvoegsel van de nabestaande. bv. : "van der"
NextOfKin-LastName
Achternaam van de nabestaande. bv. : "Brouns"
NextOfKin-Email
Email adres van de nabestaande. bv. : "mjj@mail.com"
Deceased-Name
Naam van de overledene. bv. : "Wifred Wijlen"
Deceased-DateOfBirth
Geboortedatum van de overledene.
Deceased-DateOfDeath
Datum van overleiden.
Contractor-Name
Naam van de Uitvaart Ondernemer.
Contractor-Email
Email adres van de Uitvaart Ondernemer.

Omdat de Management Service geen native ondersteuning heeft voor deze data types, gebruiken we GenericItems om de data aan een Webcast te plakken.
Alle data die specifiek is voor de uitvaart applicaties wordt bewaard in deze GenericItems.

Deze opzet is uitgewerkt in management_sample.php.

Edit

Liveuitvaart.nl

Een web applicatie van Company Webcast. Geïnteresseerden kunnen via deze site live en ondemand kijken naar een uitvaart, ook is er een uitgebreide management omgeving gericht op Customers en Uitvaart Ondernemers.

Edit

Management Service

Een SOAP 1.1 Web Service van Company Webcast.
Hiermee worden Webcasts aangemaakt, gewijzigd en verwijderd.

WSDL :
https://services.companywebcast.com/management/2.0/managementservice.svc?wsdl
Documentatie:
http://api.companywebcast.com/ManagementService_2.0_Home.ashx
Code voorbeeld:
management_sample.php

Edit

management_sample.php

Een in PHP geschreven voorbeeld dat alle in dit document benoemde methods, types en mechanismes demonstreert.
management_sample.php

Edit

Profile

Een “template” op basis waarvan een Webcast gecreëerd wordt.
Voor iedere Encoder die aanwezig is bij een Customer bestaat een Profile. Dat betekend dus 1 per aangesloten ruimte/kamer/zaal.
De Title eigenschap van elk Profile beschrijft de ruimte, bv. “Noord zaal”, “Zuid zaal”.

Relevante Methods:
CustomerList
CustomerGet
WebcastCreate
WebcastGet

Relevante Types
Customer
Profile
Webcast

Edit

Single Sign On

Het mechanisme dat voorkomt dat gebruikers apart moeten inloggen voor zowel Partner Applicatie als Liveuitvaart.nl.

Authorizatie voor Liveuitvaart.nl is een proces van 2 stappen:

Stap 1: haal een authorizatie token op
Roep de volgende URL aan in de PHP applicatie, waarbij [Username] en [Password] zijn vervangen door de klant specifieke Liveuitvaart.nl Account gegevens, verstrekt door Company Webcast.

http://PartnerApplicatie.liveuitvaart.nl/api/users/auth/?login_name=[Username]&password=[Password]


In de response op deze request komt een Json geformatteerd data objectje terug, dat de authToken property heeft.
Dit is de authorizatie token die je nodig hebt in stap 2.

Een voorbeeld van hoe je dit in PHP kan doen:

$r = file_get_contents('http://PartnerApplicatie.liveuitvaart.nl/api/users/auth/?'. 'login_name='.urlencode($Username).'&password='.urlencode($Password)); $AuthorizationToken = json_decode($r)->authToken; $URLAuthorizationToken = urlencode($AuthorizationToken);

Stap 2: open de Liveuitvaart.nl management applicatie in een webbrowser
Laad de volgende URL in een IFRAME of Browser window, waarbij [URLAuthorizationToken] is vervangen door de in Stap 1 opgehaalde token :

http://PartnerApplicatie.liveuitvaart.nl/users/login/?auth_token=[URLAuthorizationToken]&iframe=true

Let op!
1. Geen van de hier beschreven code is feitelijk functioneel, pas nadat test accounts zijn verstrekt gaat dit werken.
2. Een authorizatie token is slechts 1 uur geldig, waarna het niet meer geaccepteerd wordt door Liveuitvaart.nl.
3. In de komende dagen zal SSL beschikbaar worden voor het Liveuitvaart.nl domein, de gebruikte Urls zullen dan via "https" te benaderen zijn.

Edit

Uitvaart Ondernemer

Een organisatie die cliënten aanbrengt bij een Customer (“uitvaart centrum”).
Uitvaart Ondernemers zijn relevant in deze koppeling omdat Liveuitvaart.nl mailing en rapportage functionaliteit rondom “uitvaart ondernemers” heeft.

Uitvaart Ondernemers zijn geïmplementeerd in Contractor-Name en Contractor-Email, zie Gedeeld DataModel.