In dit artikel leggen we uit hoe de Werkbon-taken kunnen opgehaald worden via onze EagleBe API om deze verder te verwerken in de Software naar keuze. 



Hoe werkt het conceptueel? 



- Een taak binnen EagleBe zal een eagleid, details over de inname (contactgegevens, adres inname en signalisatieplan), begin en einddatum (startDate/endDate), taakstatus (Task), werkbonstatus (New, Updated, Invalid) en timestamp (LastUpdate) mee krijgen.


Bij het creëren van een nieuwe taak, krijgt deze de werkbonstatus 'Nieuw' mee.  Bij het aanpassen van de werkbonstatus (naar nieuw (new), gewijzigd (updated) of ongeldig (invalid)) krijgt de taak vanuit EagleBe de timestamp mee van deze wijziging. 


- De Types taken zijn:


1) "To Place/To Collect" indien de gemeente zelf de borden laat plaatsen. Een taak zal dan op volgende manier worden opgebouwd:


"Task": "To place",

      "StartDate": "2020-02-25T00:00:00",

      "EndDate": "2020-03-02T00:00:00",


De startdatum verwijst naar de datum waarop de borden geplaatst moeten, en einddatum naar wanneer ze opgehaald moeten worden.


2) "To pick up/To Return" indien de aanvrager de borden gaat ophalen bij de technische dienst. Een taak zal dan op volgende manier worden opgebouwd:


"Task": "To pick up",

      "StartDate": "2020-02-25T00:00:00",

      "EndDate": "2020-03-02T00:00:00",


De startdatum verwijst naar de datum waarop de borden afgehaald worden, en einddatum naar wanneer ze teruggebracht moeten worden.



- Er kan een call gedaan worden via onze API om alle openstaande taken op te halen die aangemaakt zijn binnen EagleBe. Bij het uitvoeren van de call kan er een timestamp meegegeven worden. Door de timestamps te vergelijken van wanneer de call gedaan werd en de timestamp van de (eventueel gewijzigde taak) kan er opgespoord worden welke taken reeds opgehaald werden aan de hand van de call (en dus geëxporteerd), maar ook welke taken intussen gewijzigd of nieuw zijn:


Het is namelijk mogelijk dat de door jullie geëxporteerde/geïmporteerde taak gewijzigd is binnen EagleBe (wijziging van datum, signalisatie, verlenging, annuleren van de aanvraag, ...).







Indien de plaatsings - of ophaaldatum wijzigt, wijzigt de werkbonstatus naar 'Updated'. Bij het annuleren van de vergunning wordt dan de status gewijzigd naar 'Invalid' (telkens met bijhorende timestamp).


Op deze manier kunnen jullie taken binnen jullie systeem opsporen en wijzigen naar datum (indien 'Updated', door overschrijving van de datum), of taken annuleren indien 'Invalid'.



Verder wordt er per taak het adres van de inname, de contactgegevens en de te plaatsen/op te halen verkeersborden opgelijst. Deze laatste wordt onderverdeeld in enerzijds de code van het verkeersbord, en anderzijds de lambert-coördinaten van waar het verkeersbord moet geplaatst worden. Een voorbeeld van hoe dit eruit ziet, kan je hieronder terugvinden.




Hoe ga je aan de slag ?  



1) Navigeer naar https://app.eaglebe.com/api en selecteer volgende definitie:


(voor testen navigeer je naar https://beta.app.eaglebe.com/api)



2) Authorize 



Aan de hand van client_id en client_secret die we jullie bezorgen (lees hiervoor dit artikel). Scopes moet staan op 'EagleRead'


3) Aan de hand van de call /Tasks/WorkOrder/list kan je alle openstaande taken (op te halen/te plaatsen of af te halen/terug te brengen) voor de Werkbon-module ophalen. 



De parameters die je hierbij moet geven: De gewenste timestamp, een startpositie en het aantal resultaten die je wenst weer te geven. 


Taken die opgehaald worden aan de hand van de API zien er als volgt uit:


{

  "Tasks": [

    {

      "EagleId": 1004499,

      "Contact": {

        "Firstname": "Merkator",

        "Lastname": "admin",

        "Telephone": "0495557510",

        "Email": "administrator+knokkeheist@merkator.com"

      },

      "Address": "8300 Knokke-Heist, Antoine Bréartstraat 6",

      "Task": "To pick up",

      "StartDate": "2020-02-24T00:00:00",

      "EndDate": "2020-02-27T00:00:00",

      "Signalisation": [

        {

          "Code": "C3",

          "Location": [

            75340.10231371,

            227727.77612276

          ]

        },

        {

          "Code": "Nadar-C3-s",

          "Location": [

            75345.59008224,

            227722.04975955

          ]

        },

        {

          "Code": "C3",

          "Location": [

            75319.8214569,

            227745.67099641

          ]

        }

      ],

      "LastUpdate": "2020-02-27T08:45:37.360448",

      "Status": "Updated"

    },

    {

      "EagleId": 1004497,

      "Contact": {

        "Firstname": "Merkator",

        "Lastname": "admin",

        "Telephone": "0495557510",

        "Email": "administrator+knokkeheist@merkator.com"

      },

      "Address": "8300 Knokke-Heist, Antoine Bréartstraat 6",

      "Task": "To place",

      "StartDate": "2020-02-25T00:00:00",

      "EndDate": "2020-03-02T00:00:00",

      "Signalisation": [

        {

          "Code": "C3",

          "Location": [

            75340.10231371,

            227727.77612276

          ]

        },

        {

          "Code": "C3",

          "Location": [

            75319.8214569,

            227745.67099641

          ]

        },

        {

          "Code": "Nadar-C3-s",

          "Location": [

            75345.59008224,

            227722.04975955

          ]

        }

      ],

      "LastUpdate": "2020-02-28T07:33:51.226108",

      "Status": "Updated"

    }

  ],

  "NextRecord": 0

}