Companywebcast API Wiki
Navigation
Cwc API Home
PlayerSDK
Meta Service
Getting Started
Creating a client
Methods
Data Types
Understanding Webcast security
Management Service
Getting Started
Creating a client
Methods
Data Types
Quick Search
Advanced Search »
Back
History
Basis koppeling met Liveuitvaart.nl
{TOC} ==Project beschrijving== ===Doelstelling=== '''doel 1''' : Realiseer de mogelijkheid om vanuit Partner Applicatie webcasts aan te maken, zodat deze aangeboden worden via Liveuitvaart.nl.{BR} '''doel 2''' : Ontsluit de functionaliteit van Liveuitvaart.nl binnen de Partner Applicatie interface. ===Implementatie=== '''doel 1''' : :__Partner Applicatie__ ::Implementeert Single Sign On{BR} ::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 [image|Project schema|{UP}Liveuitvaart%2fproject_schematic_generic.jpg] '''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. ==Definities== ===Partner Applicatie=== Een applicatie van een Partner van Company Webcast, die wordt aangeschaft door Customers om uitvaart specifieke functionaliteit te ontsluiten. ===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.{BR} __Het aanmaken, bewerken en verwijderen van Customers is niet binnen de scope van deze koppeling.__ :Relevante Methods: ::[ManagementService_2.0_Methods.ashx#CustomerList_1|CustomerList] ::[ManagementService_2.0_Methods.ashx#CustomerGet_0|CustomerGet] :Relevante Types: ::[ManagementService_2.0_DataTypes.ashx#Customer|Customer] ::[ManagementService_2.0_DataTypes.ashx#CustomerSummary|CustomerSummary] ===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_8|Uitvaart Ondernemer]. ::''Contractor-Email'' :::Email adres van de [#Uitvaart_Ondernemer_8|Uitvaart Ondernemer]. Omdat de Management Service geen native ondersteuning heeft voor deze data types, gebruiken we [ManagementService_2.0_DataTypes.ashx#GenericItem|GenericItems] om de data aan een Webcast te plakken.{BR} Alle data die specifiek is voor de uitvaart applicaties wordt bewaard in deze GenericItems. {BR}{BR} Deze opzet is uitgewerkt in [LiveuitvaartCodeSample|management_sample.php]. ===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. ===Management Service=== Een SOAP 1.1 Web Service van Company Webcast.{BR} Hiermee worden Webcasts aangemaakt, gewijzigd en verwijderd.{BR}{BR} :WSDL : {BR} ::[https://services.companywebcast.com/management/2.0/managementservice.svc?wsdl|https://services.companywebcast.com/management/2.0/managementservice.svc?wsdl]{BR} :Documentatie:{BR} ::[http://api.companywebcast.com/ManagementService_2.0_Home.ashx|http://api.companywebcast.com/ManagementService_2.0_Home.ashx]{BR} :Code voorbeeld:{BR} ::[LiveuitvaartCodeSample|management_sample.php] ===management_sample.php=== Een in PHP geschreven voorbeeld dat alle in dit document benoemde methods, types en mechanismes demonstreert.{BR} [LiveuitvaartCodeSample|management_sample.php] ===Profile=== Een “template” op basis waarvan een Webcast gecreëerd wordt. {BR} Voor iedere Encoder die aanwezig is bij een Customer bestaat een Profile. Dat betekend dus 1 per aangesloten ruimte/kamer/zaal.{BR} De Title eigenschap van elk Profile beschrijft de ruimte, bv. “Noord zaal”, “Zuid zaal”. :Relevante Methods: ::[ManagementService_2.0_Methods.ashx#CustomerList_1|CustomerList] ::[ManagementService_2.0_Methods.ashx#CustomerGet_0|CustomerGet] ::[ManagementService_2.0_Methods.ashx#WebcastCreate_2|WebcastCreate] ::[ManagementService_2.0_Methods.ashx#WebcastGet_4|WebcastGet] :Relevante Types ::[ManagementService_2.0_DataTypes.ashx#Customer|Customer] ::[ManagementService_2.0_DataTypes.ashx#Profile|Profile] ::[ManagementService_2.0_DataTypes.ashx#Webcast|Webcast] ===Single Sign On=== Het mechanisme dat voorkomt dat gebruikers apart moeten inloggen voor zowel Partner Applicatie als Liveuitvaart.nl. {BR}{BR} Authorizatie voor Liveuitvaart.nl is een proces van 2 stappen:{BR}{BR} :'''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. {BR} ((( ::http://PartnerApplicatie.liveuitvaart.nl/api/users/auth/?login_name=[Username]&password=[Password]))) {BR} {BR} ::In de response op deze request komt een Json geformatteerd data objectje terug, dat de ''authToken'' property heeft.{BR}Dit is de authorizatie token die je nodig hebt in stap 2. {BR} ::Een voorbeeld van hoe je dit in PHP kan doen: {BR} <code PHP> $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); </code> :'''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 : {BR} ((( ::http://PartnerApplicatie.liveuitvaart.nl/users/login/?auth_token=[URLAuthorizationToken]&iframe=true ))) ((('''Let op!'''{BR}1. Geen van de hier beschreven code is feitelijk functioneel, pas nadat test accounts zijn verstrekt gaat dit werken.{BR}2. Een authorizatie token is slechts 1 uur geldig, waarna het niet meer geaccepteerd wordt door Liveuitvaart.nl.{BR}3. In de komende dagen zal SSL beschikbaar worden voor het Liveuitvaart.nl domein, de gebruikte Urls zullen dan via "https" te benaderen zijn.))){BR} ===Uitvaart Ondernemer=== Een organisatie die cliënten aanbrengt bij een Customer (“uitvaart centrum”).{BR} Uitvaart Ondernemers zijn relevant in deze koppeling omdat Liveuitvaart.nl mailing en rapportage functionaliteit rondom “uitvaart ondernemers” heeft.{BR}{BR} Uitvaart Ondernemers zijn geïmplementeerd in ''Contractor-Name'' en ''Contractor-Email'', zie [#Gedeeld_DataModel_4|Gedeeld DataModel].