Startmomenten ============= Changelog --------- 2.0.0 **Breaking change**: the ``datetime`` field no longer accepts a seconds component other than zero. The seconds component may be omitted or ``:00``. Create ------ .. http:post:: /api2/startmomenten Maak een nieuw startmoment **Voorbeeld request**: .. sourcecode:: http POST /api2/startmomenten HTTP/1.1 Host: demo.recras.nl Accept: application/json { "startmomentgroep_id": 1, "datetime": "2019-01-01 12:00:00", "percentage_materiaal_online_boeking": null, } **Voorbeeld response**: .. sourcecode:: http HTTP/1.1 201 Created Content-Type: application/json Location: /api2/startmomenten/42 { "id": 42, "startmomentgroep_id": 1, "datetime": "2019-01-01 12:00:00", "percentage_materiaal_online_boeking": null, } :json int startmomentgroep_id: **Verplicht** Het ID van de startmomentgroep :json datetime datetime: **Verplicht** De ISO8601-datum van de startmoment :statuscode 201: Startmoment gemaakt :statuscode 406: Fout in de invoer :statuscode 403: Gebruiker heeft het recht ``editStartmomenten`` niet Create batch ------------ .. http:post:: /api2/startmomenten/batch Maak meerdere nieuwe startmoment in een keer **Voorbeeld request**: .. sourcecode:: http POST /api2/startmomenten/batch HTTP/1.1 Host: demo.recras.nl Accept: application/json { "startmomentgroep_id": 1, "datum_begin": "2019-01-01", "datum_eind": "2019-01-31", "interval": "1:0", "tijdbegin": "2019-01-01T10:00:00.000Z", "tijdeind": "2019-01-01T15:00:00.000Z", "percentage_materiaal_online_boeking": null, "weekdagen": [1, 2, 3, 4, 5], } **Voorbeeld response**: .. sourcecode:: http HTTP/1.1 201 Created Content-Type: application/json Location: /api2/startmomenten/batch :json int startmomentgroep_id: **Verplicht** Het ID van de startmomentgroep :json date datum_begin: **Verplicht** De ISO8601-datum van het eerste startmoment :json date datum_eind: **Verplicht** De ISO8601-datum van het laatste startmoment :json string interval: **Verplicht** Interval tussen de startmomenten, in notatie ``uren:minuten`` :json datetime tijdbegin: **Verplicht** De ISO8601-tijd van het eerste startmoment op elke dag :json datetime tijdeind: **Verplicht** De ISO8601-tijd van het laatste startmoment op elke dag :json array weekdagen: **Verplicht** Op welke weekdagen startmomenten worden toegevoegd. 0 = zondag, 1 = maandag, etc. :statuscode 201: Startmoment gemaakt :statuscode 406: Fout in de invoer :statuscode 403: Gebruiker heeft het recht ``editStartmomenten`` niet Read ---- .. http:get:: /api2/startmomenten De startmomenten in Recras :query objectnaam embed: Kommagescheiden lijst van objecten om in de resultatenlijst op te nemen. Mogelijke objectnamen zijn ``TaribaseArrangement``, ``Producten``. Zie ook `_arrangementen ` en `_ProductenList ` **Voorbeeld request**: .. sourcecode:: http GET /api2/startmomenten HTTP/1.1 Host: demo.recras.nl Accept: application/json **Voorbeeld response**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json [ { "id": 42, "startmomentgroep_id": 1, "datetime": "2019-01-01 12:00:00", "percentage_materiaal_online_boeking": null, }, ] :statuscode 200: OK .. http:get:: /api2/startmomenten/(int:id) Een specifiek startmoment **Example request**: .. sourcecode:: http GET /api2/startmomenten/42 HTTP/1.1 Host: demo.recras.nl Accept: application/json **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json { "id": 42, "startmomentgroep_id": 1, "datetime": "2019-01-01 12:00:00", "percentage_materiaal_online_boeking": null, } :statuscode 200: OK :statuscode 404: Geen startmoment met dit ``id`` Update ------ .. http:put:: /api2/startmomenten/(int:id) **Voorbeeld request**: .. sourcecode:: http PUT /api2/startmomenten/42 HTTP/1.1 Host: demo.recras.nl Accept: application/json { "id": 42, "startmomentgroep_id": 1, "datetime": "2019-01-01 12:30:00", "percentage_materiaal_online_boeking": 80, } **Voorbeeld response**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json { "id": 42, "startmomentgroep_id": 1, "datetime": "2019-01-01 12:30:00", "percentage_materiaal_online_boeking": 80, } :json int id: ID-nummer, mag niet veranderd worden :statuscode 200: Startmoment aangepast :statuscode 406: Fout in de invoer :statuscode 403: Gebruiker heeft het recht ``editStartmomenten`` niet Delete ------ .. http:delete:: /api2/startmomenten/(int:id) **Voorbeeld request**: .. sourcecode:: http DELETE /api2/startmomenten/42 HTTP/1.1 Host: demo.recras.nl **Voorbeeld response**: .. sourcecode:: http HTTP/1.1 200 OK :statuscode 200: Startmoment verwijderd :statuscode 403: Gebruiker heeft het recht ``editStartmomenten`` niet Delete batch ------------ .. http:delete:: /api2/startmomenten/batch **Voorbeeld request**: .. sourcecode:: http DELETE /api2/startmomenten/batch HTTP/1.1 Host: demo.recras.nl { "startmomentgroep_id": 1, "datum_begin": "2019-01-01", "datum_eind": "2019-01-31", "weekdagen": [1, 2, 3, 4, 5], } **Voorbeeld response**: .. sourcecode:: http HTTP/1.1 200 OK :statuscode 200: Startmomenten verwijderd :statuscode 403: Gebruiker heeft het recht ``editStartmomenten`` niet Error codes ----------- With the *Create* or *Update* actions, these endpoint specific error messages may be encountered: ERR_SECONDS_MUST_BE_ZERO The seconds component of the timestamp must be zero.