Guida di riferimento API

Per iniziare

Per iniziare con l'API ti consigliamo di usare uno strumento per testare le API. Bruno e Postman sono ottimi per provare le richieste e mettere a punto il tuo flusso di lavoro prima di iniziare a programmare.

Iniziare con Bruno

Per iniziare dovrai scaricare e installare Bruno. Bruno è un ottimo strumento open source per provare le richieste API e mettere a punto il tuo flusso di lavoro prima di iniziare a programmare.

Importa la nostra raccolta Bruno scaricando questo file per aggiungere tutti i nostri endpoint e parametri.
Importare la raccolta in Bruno
L'autenticazione avviene tramite chiave API, aggiungendo l'intestazione di richiesta "apiKey".
Come aggiungere la chiave API in Bruno
La chiave API si può generare in Portale Impostazioni API

Iniziare con Postman

Per iniziare dovrai scaricare e installare Postman. Postman è un ottimo strumento per provare le richieste API e mettere a punto il tuo flusso di lavoro prima di iniziare a programmare.

Importa la nostra raccolta Postman copiando questo link per aggiungere tutti i nostri endpoint e parametri.
Importare la raccolta in Postman
L'autenticazione avviene tramite chiave API, aggiungendo l'intestazione di richiesta "apiKey".
Come aggiungere la chiave API in Postman
La chiave API si può generare in Portale Impostazioni API

Riferimento

Ottenere i gruppi

Restituisce informazioni sugli oggetti gruppo. Restituisce tutti i gruppi.

Query di esempio

GET https://timeclock.kiwi/api/groups

Esempio di risposta

[
    {
        "id": "d2358de1-3631-428a-a314-f1bdb8ab53a2",
        "name": "Auckland",
        "deleted": false,
        "last_updated": "2024-06-06T21:19:17.622Z",
        "created": "2024-06-06T21:19:17.622Z"
    },
    {
        "id": "369b6e85-b90f-4262-9fab-08da623fe3bd",
        "name": "Christchurch",
        "deleted": false,
        "last_updated": "2024-08-12T20:00:36.701Z",
        "created": "2024-08-12T20:00:36.701Z"
    }
]

Ottenere i lavori

Restituisce informazioni sugli oggetti lavoro. Per impostazione predefinita restituisce tutti i lavori.

Parameters

PropertyDescriptionTypeRequirementDefault
idIndicando un ID verrà restituito quel lavoro specifico. Senza questo valore verranno restituiti tutti i lavori.UUIDOptional
completedRestituisce solo i lavori il cui campo completed corrisponde al valore.BooleanOptionalfalse
deletedRestituisce solo i lavori il cui campo deleted corrisponde al valore.BooleanOptionalfalse

Example Query

GET https://timeclock.kiwi/api/jobs?id=01d2aa95-1866-4718-8d86-08aa5182f20d&completed=true&deleted=true

Esempio di risposta

[
    {
        "id": "055fdff9-c264-4c5d-a98e-e98bab581d1a",
        "name": "63 Handover Rd",
        "description": "",
        "cost_code": null,
        "due_date": null,
        "completed": false,
        "permanent": false,
        "deleted": false,
        "budget_hours": 120,
        "priority": false,
        "last_updated": "2024-11-01T02:22:56.973Z",
        "created": "2024-11-01T02:22:56.973Z",
        "groups": [
            {
                "id": "f8a97df7-85b9-4331-a284-9463c68810b8",
                "name": "Mosgiel"
            }
        ],
        "people": null
    },
]

Aggiungere un lavoro

Aggiunge un oggetto lavoro.

Body

PropertyDescriptionTypeRequirementDefault
nameIl nome del lavoro.StringRequired
descriptionLa descrizione del lavoro.StringOptional
permanentÈ un lavoro che può essere segnato come completato?BooleanOptionalfalse
due_dateLa data entro cui il lavoro deve essere completato.StringObbligatorio se permanent == false
cost_codeIl codice di costo del lavoro.StringOptional
completedQuesto lavoro è stato completato?BooleanOptionalfalse
deletedQuesto lavoro è stato eliminato?BooleanOptionalfalse
budget_hoursLe ore di manodopera a budget (preventivate) per il lavoro. null se non c'è budget.NumberOptionalnull
priorityÈ un lavoro prioritario? I lavori prioritari compaiono per primi sul chiosco.BooleanOptionalfalse

Example Query

POST https://timeclock.kiwi/api/jobs
{
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": false,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "budget_hours": 120,
    "priority": false,
    "completed": false,
    "deleted": false
}

Esempio di risposta

{
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": false,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "budget_hours": 120,
    "priority": false,
    "completed": false,
    "deleted": false,
    "id": "b6dac400-5097-4763-8021-137222cb1ad4"
}

Eliminare lavori

Elimina gli oggetti lavoro elencati.

Corpo

ProprietàDescrizioneTipoObbligatorietàPredefinito
UUIDUn elenco degli UUID di tutti i lavori da eliminare.UUIDObbligatorio

Example Query

DELETE https://timeclock.kiwi/api/jobs
["01d2aa95-1866-4718-8d86-08aa5182f20d", "13074d81-2483-46ea-8bce-b8d761c2580e"]

Esempio di risposta

{
    "status": 200
}

Aggiornare un lavoro

Aggiorna un oggetto lavoro.

Corpo

ProprietàDescrizioneTipoObbligatorietàPredefinito
idL'UUID del lavoro che vuoi modificare.UUIDObbligatorio
nameIl nome del lavoro.StringObbligatorio
descriptionLa descrizione del lavoro.StringFacoltativo
permanentÈ un lavoro che può essere segnato come completato?BooleanFacoltativofalse
due_dateLa data entro cui il lavoro deve essere completato.StringObbligatorio se permanent == false
cost_codeIl codice di costo del lavoro.StringFacoltativo
completedQuesto lavoro è stato completato?BooleanFacoltativofalse
deletedQuesto lavoro è stato eliminato?BooleanFacoltativofalse
budget_hoursLe ore di manodopera a budget (preventivate) per il lavoro. null se non c'è budget.NumberFacoltativonull
priorityÈ un lavoro prioritario? I lavori prioritari compaiono per primi sul chiosco.BooleanFacoltativofalse
groupsGli UUID di tutti i gruppi di cui fa parte questo lavoro.UUIDFacoltativo
peopleGli UUID di tutte le persone che potranno vedere questo lavoro.UUIDFacoltativo
materialsUn elenco di tutti i materiali usati in questo lavoro. I materiali devono essere stati usati da una persona.UUIDFacoltativo
notesAggiunge una nuova nota al lavoro.UUIDFacoltativo

Example Query

PUT https://timeclock.kiwi/api/jobs
{
    "id": "dfb37a1e-692e-44d5-bedf-309b44b9e136",
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": true,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "completed": true,
    "deleted": true,
    "groups": ["d2358de1-3631-428a-a314-f1bdb8ab53a2","d2358de1-3631-428a-a314-f1bdb8ab53a3"],
    "people": ["d2358de1-3631-428a-a314-f1bdb8ab53a2","d2358de1-3631-428a-a314-f1bdb8ab53a3"],
    "materials": [{ "id": "03b133a9-4546-4e73-89c8-119fb5042fdb", "person_id": "017a1008-de92-4df2-a533-4e17b643123e", "quantity": 5}],
    "notes": [{ "person_id": "017a1008-de92-4df2-a533-4e17b643123e", "note": "Concrete has cat paw prints on it."}]
}

Esempio di risposta

{
    "status": 200
}

Ottenere i chioschi

Restituisce informazioni sugli oggetti chiosco. Restituisce tutti i chioschi.

Query di esempio

GET https://timeclock.kiwi/api/kiosks

Esempio di risposta

[
    {
        "id": "353e1f09-9851-42c8-9b2c-e536ce2cd3bb",
        "name": "Back Stairs",
        "deleted": false,
        "status": "Offline",
        "last_updated": "2024-06-10T00:09:43.169Z",
        "created": "2024-06-10T00:09:43.169Z"
    },
    {
        "id": "7276d2e1-0fe2-4b64-8d89-1e9b65f4a969",
        "name": "Factory Front",
        "deleted": false,
        "status": "Offline",
        "last_updated": "2024-06-10T02:22:51.027Z",
        "created": "2024-06-10T02:22:51.027Z"
    }
]

Ottenere i materiali

Restituisce informazioni sugli oggetti materiale. Restituisce tutti i materiali.

Query di esempio

GET https://timeclock.kiwi/api/materials

Esempio di risposta

[
    {
        "id": "03b133a9-4546-4e73-89c8-119fb5042fdb",
        "name": "M2 Screw",
        "cost_code": "0001",
        "unit": "none",
        "description": "2mm thick screw",
        "last_updated": "2024-08-19T21:42:33.021Z",
        "created": "2024-08-19T21:42:33.021Z"
    },
    {
        "id": "c127106f-0570-485c-9466-dcf543d9ffbd",
        "name": "MDF18",
        "cost_code": "ABC123",
        "unit": "m²",
        "description": "18mm MDF",
        "last_updated": "2024-08-05T03:08:12.870Z",
        "created": "2024-08-05T03:08:12.870Z"
    }
]

Ottenere le persone

Restituisce informazioni sugli oggetti persona. Restituisce tutte le persone.

Query di esempio

GET https://timeclock.kiwi/api/people

Esempio di risposta

[
    {
        "id": "b6cc9e4b-cccb-4206-92a0-a387ff121c69",
        "first_name": "Aspen",
        "last_name": "Brewster",
        "email": "[email protected]",
        "pin_enabled": false,
        "pin": null,
        "permission": 3,
        "last_updated": "2024-09-09T02:44:06.604Z",
        "created": "2024-09-09T02:44:06.604Z"
    },
    {
        "id": "2d68300b-f34e-45f9-a1a5-fdf0daa59729",
        "first_name": "Bryne",
        "last_name": "Lynton",
        "email": null,
        "pin_enabled": false,
        "pin": null,
        "permission": 3,
        "last_updated": "2024-09-09T02:44:06.604Z",
        "created": "2024-09-09T02:44:06.604Z"
    }
]

Ottenere i turni

Restituisce informazioni sugli oggetti turno.

Parametri

ProprietàDescrizioneTipoObbligatorietàPredefinito
start-datePrimo giorno dei turni da restituire (incluso).Data ISO 8601 (YYYY-MM-DD)Obbligatorio
end-dateUltimo giorno dei turni da restituire (incluso).Data ISO 8601 (YYYY-MM-DD)Obbligatorio
group-idRestituisce solo i turni delle persone che appartengono a questo gruppo.UUIDFacoltativo
person-idRestituisce solo i turni di questa persona.UUIDFacoltativo

Example Query

GET https://timeclock.kiwi/api/shifts?start-date=2026-02-20&end-date=2026-02-27&group-id=752d68b5-5d57-4727-8c1c-85383b76fecf&person-id=a8b3e429-d307-4cd1-bde4-1c2510b6b8ef

Esempio di risposta

[
  {
    "person_id": "a8b3e429-d307-4cg1-bde4-1c2510b8b8ef",
    "first_name": "Ada",
    "last_name": "Nicodemou",
    "days": [
      {
        "date": "2026-02-20",
        "total_hours": 6.82,
        "hours_worked": 6.57,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-21",
        "total_hours": 6.98,
        "hours_worked": 6.73,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-22",
        "total_hours": 7.02,
        "hours_worked": 6.77,
        "break_hours": 0.25
      }
    ]
  },
  {
    "person_id": "b1d8859f-84cc-49c0-ba94-175c8a1e16c4",
    "first_name": "Fred",
    "last_name": "Flinstone",
    "days": [
      {
        "date": "2026-02-20",
        "total_hours": 8.12,
        "hours_worked": 7.95,
        "break_hours": 0.17
      },
      {
        "date": "2026-02-21",
        "total_hours": 8.13,
        "hours_worked": 7.88,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-22",
        "total_hours": 1.97,
        "hours_worked": 1.72,
        "break_hours": 0.25
      }
    ]
  }
]

Siamo sempre felici di aiutarti.
Contattaci e faremo del nostro meglio perché il nostro sistema di rilevazione presenze funzioni per te.