Hvis du har oprettet en API-nøgle via trinnene i denne guide, er du klar til at lave API-kald med Kala.
API-dokumentation
Alle kald laves på https://app.kala.dk/webapiv2/{endpoint}, og svar returneres som JSON. Medmindre andet er angivet, skal api_key sendes som parameter. En ugyldig nøgle returnerer HTTP 401.
Standardværdier for sideinddelte lister er order=asc, page=0 og page_size=5000.
Status
Index
Kontrollerer, at API’et svarer.
GET https://app.kala.dk/webapiv2/Index
Parametre
int company
string apikey
Returnerer
{ "status": "API READY" }
Ping
Validerer API-nøglen.
GET https://app.kala.dk/webapiv2/Ping
Parametre
string api_key
Returnerer
{ "pong": "pong" }
Kunder
CustomersList
Returnerer en sideinddelt liste over virksomhedens kunder.
GET https://app.kala.dk/webapiv2/CustomersList
Parametre
string api_key
string order = "asc"
int page = 0
int page_size = 5000
Returnerer
[ { "id", "number", "company", "firstname", "lastname", "phone", "email", "cvr", "street_address", "zip" } ]
GetCustomer
Returnerer én kunde ud fra kundenummer. Ukendt kundenummer returnerer HTTP 404.
GET https://app.kala.dk/webapiv2/GetCustomer
Parametre
string api_key
string customerNumber
Returnerer
{ /* kundeobjekt */ }
CreateCustomer
Opretter en kunde.
POST https://app.kala.dk/webapiv2/CreateCustomer
Parametre
string api_key
string firstName
string lastName
string company
string phone
string address
string zip
string email
string cvr
string customerNo = ""
string description = ""
string ean = ""
Dictionary<string,string> additionalFields = null
Returnerer
{ "success", "message" }
UpdateCustomer
Opdaterer en eksisterende kunde. Kun felter, der sendes med, ændres.
PUT https://app.kala.dk/webapiv2/UpdateCustomer
Parametre
string api_key
string customerNo
string? firstName, lastName, company, phone, address, zip, email, cvr
string? newCustomerNo, description, ean
int? customerId
Dictionary<string,string>? additionalFields
Returnerer
{ "success", "message" }
Medarbejdere
ActiveEmployeesList
Returnerer en sideinddelt liste over aktive medarbejdere.
GET https://app.kala.dk/webapiv2/ActiveEmployeesList
Parametre
string api_key
string order = "asc"
int page = 0
int page_size = 5000
Returnerer
[ { "number", "name", "title", "image", "phone", "isAdmin", "isLeader", "settings": [ { "key", "value" } ] } ]
ActiveEmployee
Returnerer én aktiv medarbejder.
GET https://app.kala.dk/webapiv2/ActiveEmployee
Parametre
string api_key
int employeeNumber
Returnerer
{ "number", "name", "title", "image", "phone", "isAdmin", "isLeader", "settings": [ { "key", "value" } ] }
SetEmployeeSetting
Opretter eller opdaterer én medarbejderindstilling.
POST https://app.kala.dk/webapiv2/SetEmployeeSetting
Parametre
string api_key
int employeeNumber
string key
string value
string friendlyName
string type = "text"
Returnerer
{ "success", "message" }
SetEmployeeSettings
Opretter eller opdaterer flere medarbejderindstillinger.
POST https://app.kala.dk/webapiv2/SetEmployeeSettings
Parametre
string api_key
int employeeNumber
Dictionary<string, SettingData> settings
SettingData: { "FriendlyName", "Value", "Type" }
Returnerer
[ { "success", "message" } ]
GetMessageOfTheDay
Returnerer dagens besked for en medarbejder.
GET https://app.kala.dk/webapiv2/GetMessageOfTheDay
Parametre
string api_key
int employeeNumber
Returnerer
{ "msg": "..." }
Projekter og sager
ProjectsList
Returnerer de sager, medarbejderen har adgang til. Som standard vises kun uafsluttede sager. extraFields kan indeholde includeFinished, isArchived og/eller excludeHidden.
GET https://app.kala.dk/webapiv2/ProjectsList
Parametre
string api_key
int employeeNumber
string order = "asc"
int page = 0
int page_size = 5000
string extraFields = ""
Returnerer
[ { "id", "economyCaseNumber", "name", "company", "isArchived"?, "openTasks": [ { "id", "name", "description" } ] } ]
ProjectsListExtended
Returnerer en udvidet liste over de sager, medarbejderen har adgang til.
GET https://app.kala.dk/webapiv2/ProjectsListExtended
Parametre
string api_key
int employeeNumber
string order = "asc"
int page = 0
int page_size = 5000
Returnerer
[ { "id", "economyCaseNumber", "name", "returnDate", "customerId", "customersCompany", "totalHours", "company", "openTasks": [ { "id", "name", "description", "hours" } ] } ]
GetSimpleHourregistrationProject
Returnerer en enkel projektvisning til timeregistrering.
GET https://app.kala.dk/webapiv2/GetSimpleHourregistrationProject
Parametre
string api_key
int caseId
Returnerer
[ { "id", "economyCaseNumber", "name", "company", "openTasks": [ { "id", "name", "description" } ] } ]
CreateCase
Opretter en sag. Request sendes som JSON i body.
POST https://app.kala.dk/webapiv2/CreateCase
Parametre
string api_key
CreateCaseRequest request
Returnerer
{ "success", "message" }
UpdateCase
Opdaterer en sag. Request sendes som JSON i body.
PUT https://app.kala.dk/webapiv2/UpdateCase
Parametre
string api_key
UpdateCaseRequest request
Returnerer
{ "success", "message" }
ChangeCaseStatus
Ændrer status på en sag.
PUT https://app.kala.dk/webapiv2/ChangeCaseStatus
Parametre
string api_key
int caseId
string status
string color
int? workerNr
Returnerer
{ "success", "message" }
GetLiveReport
Returnerer URL’en til sagens live-rapport.
GET https://app.kala.dk/webapiv2/GetLiveReport
Parametre
string api_key
int caseId
Returnerer
"https://app.kala.dk/..."
GetLiveReportFromCaseNo
Returnerer URL’en til en live-rapport ud fra sagsnummer.
GET https://app.kala.dk/webapiv2/GetLiveReportFromCaseNo
Parametre
string api_key
string caseNo
Returnerer
"https://app.kala.dk/..."
Timeregistrering
HourRegsList
Returnerer timeregistreringer i en periode. Kan filtreres på økonomisagsnummer.
GET https://app.kala.dk/webapiv2/HourRegsList
Parametre
string api_key
DateTime startDate
DateTime endDate
string order = "asc"
int page = 0
int page_size = 5000
string? economyCaseNumber
Returnerer
[ { "id", "caseId", "caseName", "taskName", "workerId", "workerName", "date", "hours", "startTimeStamp", "endTimeStamp", "invoicedRegHours", "startLatitude", "endLatitude", "economySystemId", "sentToEconomy", "salarySystemId", "sentToSalary", "workType", "text", "company", "taskId", "taskSpecialPrice", "taskEst" } ]
HourRegsListExtended
Returnerer en udvidet liste over timeregistreringer i en periode.
GET https://app.kala.dk/webapiv2/HourRegsListExtended
Parametre
string api_key
DateTime startDate
DateTime endDate
string order = "asc"
int page = 0
int page_size = 5000
Returnerer
[ { /* felter fra HourRegsList */ "caseReturnDate", "customerId", "workerNumber" } ]
AddHours
Registrerer timer på en sag og eventuelt en opgave. Timer angives som decimaltal, fx 1,5 for 1 time og 30 minutter.
POST https://app.kala.dk/webapiv2/AddHours
Parametre
string api_key
int employeeNumber
DateTime date
int projectId
double hours
int? taskId
string? startClock
string? endClock
string? worktype
Returnerer
{ "success", "message" }
GetWorkerTimesheetData
Returnerer medarbejderens ugerapport for den uge, datoen ligger i, inklusive godkendelsesstatus og timeregistreringer. Datoer returneres i .NET-formatet /Date(ms)/.
GET https://app.kala.dk/webapiv2/GetWorkerTimesheetData
Parametre
string api_key
int workerNr
DateTime date
Returnerer
{ "reportStartDate", "reportEndDate", "submitted", "rejected", "locked", "canUnlock", "rejectReason", "isAccepted", "acceptedBy", "partiallyAccepted", "workerNr", "hourRegistrations": [ { "Id", "isAccepted", "caseName", "caseNumber", "hours", "workType", "date", "text" } ] }
Opgaver og checklister
GetCliItems
Returnerer checklistens elementer for en sag.
GET https://app.kala.dk/webapiv2/GetCliItems
Parametre
string api_key
int caseId
Returnerer
[ { /* checklist-element */ } ]
AddClItems
Tilføjer checklist-elementer til en sag.
POST https://app.kala.dk/webapiv2/AddClItems
Parametre
string api_key
int caseId
int workerNr = 0
List<ChecklistItemDto> clItems
Returnerer
{ "success", "message" }
UpdateClItems
Opdaterer checklist-elementer på en sag.
PUT https://app.kala.dk/webapiv2/UpdateClItems
Parametre
string api_key
int caseId
int workerNr = 0
List<ChecklistItemDto> clItems
Returnerer
{ "success", "message" }
MarkCliDone
Markerer et checklist-element som udført.
POST https://app.kala.dk/webapiv2/MarkCliDone
Parametre
string api_key
int cliId
Returnerer
{ "success": true, "status": "Sucess" }
GetPauseCase
Returnerer medarbejderens pausesag.
GET https://app.kala.dk/webapiv2/GetPauseCase
Parametre
string api_key
int employeeNumber
Returnerer
{ "caseId": 123 }
Kommentarer og filer
UploadFileToCase
Uploader en eller flere filer til en sag. Filer sendes som multipart-felter.
POST (multipart/form-data) https://app.kala.dk/webapiv2/UploadFileToCase
Parametre
string api_key
string caseEconomyNo
int workerNumber
file(s)
Returnerer
{ "success", "message" }
AddComment
Tilføjer en kommentar og eventuelle filer.
POST (multipart/form-data) https://app.kala.dk/webapiv2/AddComment
Parametre
string api_key
int workerNumber
int caseId
string text
string fileName = ""
int cliId = 0
bool? visiblePartners
bool? visibleCustomer
file(s)
Returnerer
{ "success", "message" }
AddCommentWithoutFiles
Tilføjer en kommentar uden filer. Ved succes returneres kommentarens id.
POST https://app.kala.dk/webapiv2/AddCommentWithoutFiles
Parametre
string api_key
string caseNr
string text
int workerNr
int cliId = 0
bool? visiblePartners
bool? visibleCustomer
Returnerer
12345
UpdateCommentWithFiles
Tilføjer filer til en eksisterende kommentar.
POST (multipart/form-data) https://app.kala.dk/webapiv2/UpdateCommentWithFiles
Parametre
string api_key
int Id
file(s)
Returnerer
{ "success", "message" }
Arbejdstyper, jobs og planlægning
GetCompanyWorkTypes
Returnerer virksomhedens arbejdstyper.
GET https://app.kala.dk/webapiv2/GetCompanyWorkTypes
Parametre
string api_key
Returnerer
[ { /* arbejdstype */ } ]
GetWorkerWorkTypes
Returnerer en medarbejders arbejdstyper.
GET https://app.kala.dk/webapiv2/GetWorkerWorkTypes
Parametre
string api_key
int workerNr
Returnerer
[ { /* arbejdstype */ } ]
GetAllJobs
Returnerer alle jobs for en medarbejder.
GET https://app.kala.dk/webapiv2/GetAllJobs
Parametre
string api_key
int workerNr
Returnerer
[ { /* job */ } ]
GetPlanningEvents
Returnerer planlægningsevents i en periode, eventuelt filtreret på medarbejder.
GET https://app.kala.dk/webapiv2/GetPlanningEvents
Parametre
string api_key
DateTime startDate
DateTime endDate
int? workerNr
Returnerer
[ { /* planlægningsevent */ } ]
Integrationer
SetupExternalSystem
Opsætter et eksternt system med de angivne globale indstillinger.
POST https://app.kala.dk/webapiv2/SetupExternalSystem
Parametre
string api_key
string system
List<GlobalSetting> settings
Returnerer
{ "success", "message" }