/
Webservices

Webservices

Algemeen

De Easyflex webservices bieden een set van operaties aan waarmee informatie uit het Easyflex systeem kan worden opgevraagd en/of worden gewijzigd. De operaties zijn voornamelijk gericht op het raadplegen en bewerken van gegevens welke betrekking hebben op relaties en flexwerkers. De algemene gegevens en de gegevens over de uitzendorganisatie zelf zijn alleen te raadplegen. De Easyflex webservices kunnen geïmplementeerd worden binnen een website om op deze manier flexwerkers en relaties (gebruikers) toegang te verlenen tot de voor hen relevante gegevens. De intercedent realiseert dit door voor de betreffende flexwerker of relatie een gebruikersaccount aan te maken waarbij een gebruikersnaam en wachtwoord wordt gegenereerd. Met deze toegangsgegevens kan vervolgens worden ingelogd om gegevens op te vragen of te bewerken. Koppeling met webservices is niet mogelijk tussen Easyflex Lite en uw eigen website.

Inloggen

Om er voor te zorgen dat een flexwerker of relatie alleen toegang heeft tot de voor hem/haar relevante gegevens, is het nodig dat zij inloggen met de aan hen persoonlijk toegekende gebruikersnaam en wachtwoord. Bij een aanroep naar de inlogoperatie worden de inloggegevens gecontroleerd en wordt bij een succesvolle inlogpoging een sessiecode afgegeven waarmee de gebruiker voor een bepaalde tijd (10 minuten) toegang wordt verleend. Bij iedere aanroep (request) waarvoor een sessiecode vereist is wordt steeds een nieuwe sessiecode teruggemeld. Deze sessiecode dient dan weer gebruikt te worden bij een volgende aanroep. Alleen op deze manier blijft de gebruiker ingelogd. Uit veiligheidsoverwegingen dient er na een onderbreking van10 minuten opnieuw te worden ingelogd. Hierdoor wordt voorkomen dat gebruikers oneindig lang ingelogd blijven of dat gebruikers toegang kunnen krijgen tot de gegevens van een andere gebruiker.

Overzicht operaties

De Easyflex webservice-operaties zijn onderverdeeld in vier categorieën:

  1. Algemeen
    Deze gegevens van algemene aard zijn door Easyflex samengesteld, zijn niet klant gebonden en zijn beschikbaar voor raadpleging. Voorbeelden hiervan zijn functies, branches, vaardigheden en opleidingen,
  2. Werkmaatschappij
    Dit zijn klant gerelateerde gegevens welke kunnen worden opgevraagd. Voorbeelden hiervan zijn locatiegegevens, bedrijfslogo (afbeelding) en communicatiegegevens. Ook kan een zoekactie worden uitgevoerd op de beschikbare vacatures van de klant.
  3. Flexwerkers
    Voor flexwerkers is het mogelijk algemene gegevens in te zien zoals: persoonsgegevens, opleidingen, werkervaringen, beschikbaarheid en verhinderdata.
    Ook is het mogelijk urendeclaraties op te vragen en in te vullen. 
    Loonspecificaties en jaaropgaven kunnen worden gedownload in PDF formaat.
  4. Relaties
    Voor relaties is het mogelijk hun bedrijfsgegevens zoals factuur- en meldadressen, kostenplaatsen, contactpersonen e.d. te raadplegen. Urendeclaraties van de bij hen werkende flexwerkers kunnen worden geraadpleegd en worden ingevuld. Facturen kunnen worden gedownload in PDF formaat.
    Relaties hebben de mogelijkheid extra gebruikers aan te maken zodat medewerkers van de relatie toegang kunnen krijgen tot de voor hen relevante gegevens.

Datamodel

Hieronder treft u het datamodel aan met de objecten die met de verschillende operaties kunnen worden opgevraagd. Alle relaties zijn “1-op-1” relaties, tenzij deze zijn aangegeven met een *. In dat geval betreft het een “1-op-0-of-meer” relatie.

Sequence

Hieronder treft u als voorbeeld een sequencediagram aan van een gebruiker die inlogt en zijn persoonsgegevens teruggemeld krijgt.



  1. De gebruiker (in het voorbeeld een flexwerker) bezoekt de website. De website stuurt de inlogpagina terug omdat de gebruiker nog niet heeft ingelogd. Dit kan bijvoorbeeld gecontroleerd worden aan de hand van een cookie die opgeslagen wordt op de client.
  2. De inlogpagina wordt teruggestuurd. Hierin bevindt zich meestal een formulier met een aantal invoervelden voor de gebruikersnaam en het wachtwoord.
  3. De gebruiker heeft de gegevens ingevuld en probeert in te loggen door bijvoorbeeld op de knop te drukken waardoor het formulier met gebruikersnaam en wachtwoord verzonden wordt.
  4. De website ontvangt de gebruikersnaam en het wachtwoord en probeert in te loggen met deze gegevens. Hij roept de webservice-operatie 'wm_inloggen_verify' aan.
  5. De webservice heeft de inloggegevens gecontroleerd en correct bevonden. Er is een sessiecode afgegeven waarmee de ingelogde gebruiker 10 minuten toegang wordt verleend tot zijn gegevens.
  6. De sessiecode wordt opgeslagen op de website. Dit kan bijvoorbeeld met PHP in een sessievariabele, maar dit kan ook als cookie opgeslagen worden bij de gebruiker.
  7. De website laat na het inloggen standaard de persoonsgegevens zien van de ingelogde gebruiker. Hiervoor roept hij 'fw_persoonsgegevens' aan met de zojuist verkregen sessiecode.
  8. De webservice heeft de persoonsgegevens opgezocht en levert de data. Tevens is er een nieuwe sessiecode afgegeven.
  9. De oude sessiecode moet vervangen worden door de nieuwe sessiecode om te voorkomen dat de eindgebruiker automatisch wordt uitgelogd.
  10. Met de verkregen persoonsgegevens genereert de website een HTML pagina met bijvoorbeeld een tabel of een lijst van gegevens.
  11. De gegenereerde pagina wordt teruggemeld aan de eindgebruiker. Deze ziet nu zijn persoonlijke gegevens zoals deze in de database van Easyflex zijn vastgelegd.

Hieronder treft u als voorbeeld een sequencediagram aan van het verloop van een declaratie. Het betreft een declaratie die door de flexwerker en inlener digitaal aangeleverd moet worden. 
Als eerste vult de flexwerker zijn uren in, daarna de relatie. Dit is slechts een voorbeeld, de volgorde zou ook andersom kunnen. Het kan ook zo zijn dat de relatie of flexwerker de declaratie helemaal niet digitaal hoeft in te vullen. In dit geval zal de declaratie niet zichtbaar zijn voor de relatie / flexwerker.



  1. De flexwerker vult zijn gewerkte uren / kort verzuim / opgenomen feestdagen in.
    (fw_declaratie_regel_insert / fw_declaratie_regel_update / fw_declaratie_regel_delete)
  2. De flexwerker meldt de declaratie gereed.
    (fw_declaratie_update; fw_declaratie_gereedmelding = 1)
    De status van de declaratie is nu “wacht op accordering inlener”
  3. De inlener bevraagt de uren die door de flexwerker zijn ingevuld. (fw_declaratie_regels)
    De inlener zou de uren kunnen gebruiken als basis voor zijn urendeclaratie, hij zou ook de uren in een keer over kunnen nemen (rl_declaratie_regels_copy) en daarna kunnen aanpassen.
  4. De inlener vult de uren in waarop de flexwerker heeft gewerkt.
    (rl_declaratie_regel_insert / rl_declaratie_regel_update / rl_declaratie_regel_delete)
  5. De inlener meldt de declaratie gereed.
    (rl_declaratie_update; rl_declaratie_gereedmelding = 1)
    De status van de declaratie is nu “In behandeling”