Integration

API dokumentation

Adgang til webservice

Inden en kunde kan tilgå EazyProject webservicen, skal det aftales med EazyProject, som vil stå for aktivering af webservicen.

Authentication header

For at bruge webservicen skal en authentication header udfyldes.

Felterne i denne er:

  • Username
  • Password
  • CustomerNumber

Kode eksempel
Herunder er eksempler på kode, der viser, hvordan webservicen kaldes.

VB.NET
Eksempel på kode til at kalde GetProjects metoden

Tilføj en “Web Reference” i sit vb.net projekt
Her skal man i URL’en skrive sin EazyProject efterfulgt af /EazyProjectService.asmx

Gantt
Imports HentDataFraEazyProjectsAPI.EazyProjectWebService
Dim webservice As New EazyProjectService
Dim auth As AuthHeader = New AuthHeader
auth.CustomerNumber = “12345” ‘ Nummer rekvireres hos EazyProject
auth.Username = “Brugernavn” ‘ Brugernavn rekvireres hos EazyProject
auth.Password = “Password” ‘ Password rekvireres hos EazyProject
webservice.AuthHeaderValue = auth
‘ Henter alle projekter fra EazyProject
Dim alleProjekter = webservice.GetProjects(“”)

C#
Eksempel på kode til at kalde GetProjects metoden
Først skal man tilføje en “Web Reference” følg måde der bruges i VB.NET (se ovenstående billede og tekst)
using HentDataFraEazyProjectsAPI_Csharp.EazyProjectWebService;

var webservice = new EazyProjectService();
var auth = new AuthHeader();
auth.CustomerNumber = “12345”; // Nummer rekvireres hos EazyProject
auth.Username = “Brugernavn”; // Brugernavn rekvireres hos EazyProject
auth.Password = “Password”; // Password rekvireres hos EazyProject
webservice.AuthHeaderValue = auth;
var parameter = “”;
// Henter alle projekter fra EazyProject
var alleProjekter = webservice.GetProjects(ref parameter);

Servicefunktioner

I dette afsnit finder man metoderne i webservicen samt en kort beskrivelse af EazyProject webservice.

Login

Logon(ByVal username As String, ByVal password As String, ByRef status As String) As User

Med denne metode kan man tjekke, om brugeren eksisterer i EazyProject.

Tidsregistrering

CreateTimeRegistration(ByVal userId As Integer, ByVal regDate As Date, ByVal projectId As Integer, ByVal projectPhaseId As Integer, ByVal time As Double, ByVal commentary As String, ByRef status As String, ByVal approved As Boolean, thirdpartid As Integer, username As String)

Med denne metode kan man oprette en timeregistering i EazyProject.

CreateTimeRegistrations(timeRegistrations As List(Of TimeRegistration), ByRef status As String)
Med denne metode kan man oprette en række af timeregisteringer i EazyProject.

UpdateTimeRegistration(ByVal timeRegistrationId As Integer, ByVal time As Double, ByVal comment As String, ByRef status As String)
Med denne metode kan man opdatere en timeregistrering i EazyProject.

GetTimeRegistration(ByVal userId As Integer, ByVal regDate As Date, ByVal taskID As Integer, ByRef status As String) As TimeRegistration
Med denne metode kan man udtrække en tidsregistrering fra EazyProject.

GetTimeRegistrations(ByRef status As String) As List(Of TimeRegistration)

Med denne metode kan man udtrække alle tidsregistreringer i EazyProject.

GetTimeRegistrationsWithProjectId(ByRef status As String, projectid As Integer) As List(Of TimeRegistration)
Med denne metode kan man udtrække alle tidsregistreringer ved hjælp af et projekt-id i EazyProject.

GetTimeRegistrations_Where(ByRef status As String, startdate As Date, enddate As Date, withlog As Boolean) As List(Of TimeRegistration)
Med denne metode kan man udtrække en tidsregistrering inden for en start- og slutperiode. Hvis der ønskes log for hver tidsregistrering, er der mulighed for dette.

Kørsel

GetMilage(userId As Integer, regDate As Date, taskId As Integer, ByRef status As String) As MilageRegistration
Med denne metode kan man udtrække et kørselregistrering fra EazyProject.

CreateMilage(userId As Integer, regDate As Date, kilometers As Double, taskId As Integer, fromAddress As String, toAddress As String, bothWays As Boolean, purpose As String, registrationNumber As String, ByRef status As String)
Med denne metode kan man oprette en kørselregistrering fra EazyProject.

UpdateMilage(milageId As Integer, kilometers As Double, bothWays As Boolean, fromAddress As String, toAddress As String, purpose As String, registrationNumber As String, ByRef status As String)
Med denne metode kan man opdatere en kørselregistrering fra EazyProject.

Projekter

GetProject(projectId As Integer, ByRef status As String) As Project
Med denne metode kan man udtrække et projekt.

CreateProject(name As String, customerId As Integer, projectTypeId As Integer, projectStatusId As Integer, projectManagerId As Integer, startDate As Date, endDate As Date) As String
Med denne metode kan man oprette et projekt .

UpdateProject(project As Project) As String
Med denne metode kan man opdatere et projekt.

GetProjectsIncludePhases(ByRef status As String, ByRef includePhases As Boolean) As List(Of Project)
Med denne metode kan man udtrække en komplet liste af projekter samt tilhørende opgaver.

GetProjects(ByRef status As String) As List(Of Project)
Med denne metode kan man udtrække en liste af projekter.

GetProjectsWhereMember(userId As Integer, ByRef status As String) As List(Of Project)
Med denne metode kan man udtrække en liste af projekter, hvor projektmedlemmet er tilknyttet.

SearchProjects(searchString As String, projectTypeId As Integer, projectStatusId As Integer, ByRef status As String) As List(Of Project)
Med denne metode kan man søge i projekter i EazyProject. En søgetekst angives i et af parametrene til metoden. Denne søgestreng bruges til at søge i projektnummer, projektnavn, kundenavn og beskrivelse i projekterne.

ProjectManning(userId As Integer, projectId As Integer, taskId As Integer, hours As Double, ByRef status As String) As String
Med denne metode kan man bemande et projekt.

Projektopgave

GetProjectTasks(projectId As String, ByRef status As String) As List(Of ProjectPhase)
Med denne metode kan man udtrække alle projektopgaver, der tilhører et projekt.

UpdateProjectTasks(projectId As Integer, ProjectPhase As List(Of ProjectPhase), ByRef status As String)
Med denne metode kan man opdatere en eller flere projektopgaver under et projekt.

GetProjectTaskNames(ByRef status As String) As List(Of PhaseName)
Med denne metode kan man udtrække en komplet liste af opgavenavne under et projekt.

Projekttype

GetProjectTypes(ByRef status As String) As List(Of ProjectType)
Med denne metode kan man udtrække alle projekttyper.

Projektstatus

GetProjectStatusList(ByRef status As String) As List(Of ProjectStatus)
Med denne metode kan man udtrække en komplet liste af projektstatus’er.

Kunder

GetCustomer(customerId As Integer, ByRef status As String) As Customer
Med denne metode kan man udtrække en kunde.

CreateCustomer(name As String, ByRef status As String)
Med denne metode kan man oprette en kunde.

GetCustomers(ByRef status As String) As List(Of Customer)
Med denne metode kan man udtrække en komplet liste af kunder.

SearchCustomers(searchString As String, ByRef status As String) As List(Of Customer)
Med denne metode kan man søge i projekter i EazyProject. En søgetekst angives i et af parametrene til metoden. Denne søgestreng bruges til at søge i kundenavn, kundetelefon, kundenummer, kontaktperson og kundeadresse i kunderne i EazyProject.

Kundetype

GetCustomerTypes(ByRef status As String) As List(Of CustomerType)
Med denne metode kan man udtrække en liste af kundetyper i EazyProject.

Bruger

GetUsers(ByRef status As String) As List(Of User)
Med denne metode kan man udtrække en liste af brugere i EazyProject.

Flex

GetUserFlexBalance (userId As Integer, perDate As Date) As Decimal
Med denne metode kan man hente en flex status på en specifik bruger pr. en given dato.

GetUsersFlexBalanceSentToBluegarden () As List(Of User)
Med denne metode kan man hente flex saldo pr. medarbejder – ud fra det der er sendt, via Bluegarden integrationen.

Projektdimension

GetProjectDimensions(dimensionNo As Integer, ByRef status As String) As List(Of ProjectDimension)
Med denne metode kan man udtrække en komplet liste af projektdimensioner i EazyProject.

Valuta

GetCurrencies(ByRef status As String) As List(Of Currency)
Med denne metode kan man udtrække en komplet liste af valutaer i EazyProject.

Risikostatus

GetRiskStatusList(ByRef status As String) As List(Of RiskStatus)
Med denne metode kan man udtrække en komplet liste af Risiko status’er i EazyProject.

Timetype

GetHourTypes(ByRef status As String) As List(Of HourType)
Med denne metode kan man udtrække en komplet liste af timetyper i EazyProject.

Faktura

GetInvoice(invoiceId As Integer, ByRef status As String) As Invoice
Med denne metode kan man udtrække en faktura.

GetInvoices(ByRef status As String) As List(Of Invoice)
Med denne metode kan man udtrække en komplet liste af fakturaer.

SearchInvoices(searchText As String, ByRef status As String) As List(Of Invoice)
Med denne metode kan man søge efter en bestemt faktura.

CreateInvoice(invoice As Invoice, ByRef status As String)
Med denne metode kan man oprette en faktura.

Planlægning

GetPlans(userId As Integer, planDate As Date, ByRef status As String) As List(Of Plan)
Med denne metode kan man udtrække en komplet liste af planer.

Planlægning Pro

GetPlanningPlannedHours(projectId As Integer, taskId As Integer, userId as Integer, ByRef status As String) As Decimal
Med denne metode kan man udtrække antal planlagte timer på et projekt, på en opgave/alle opgaver, på en bruger/alle brugere. For at få tallet på alle opgaver eller alle brugerne skal man angive 0 i taskId eller userId.

GetPlanningEstimatedHours(projectId As Integer, taskId As Integer, userId as Integer, ByRef status As String) As Decimal
Med denne metode kan man udtrække antal estimerede timer på et projekt, på en opgave/alle opgaver, på en bruger/alle brugere. For at få tallet på alle opgaver eller alle brugerne skal man angive 0 i taskId eller userId.

Booking

HentLokaleTyper(id As Integer) As List(Of LokaleType)
Med denne metode kan man udtrække en liste lokaletyper.

HentLokationer(id As Integer, kode As String) As List(Of Lokation)
Med denne metode kan man udtrække en bestemt lokale ved hjælp af id.

HentLokaler(filter As LokaleFilter) As List(Of Lokale)
Med denne metode kan man udtrække en liste af lokaler ved hjælp af en klasse ved navn lokalefilter.

HentLedigeLokaler(filter As LokaleFilter, start As DateTime, slut As DateTime, bruger As String) As List(Of Lokale)
Med denne metode kan man udtrække en liste af ledige lokaler ved hjælp af en klassen lokalefilter, start og slutdato, samt bruger.

HentArrangementer(filter As ArrangementsFilter) As List(Of Arrangement)
Med denne metode kan man en liste af arrangementer ved hjælp af en klasse ved navn arrangementfilter.

OpretArrangement(item As Arrangement) As SvarKode
Med denne metode kan man oprette et arrangement ved hjælp af en klasse ved navn arrangement.

OpdaterArrangement(item As Arrangement) As SvarKode
Med denne metode kan man opdatere arrangement ved hjælp af en klasse ved navn arrangement.

SletArrangement(arrangementID As Integer) As Integer
Med denne metode kan man udtrække en komplet lokaletyper.

Serviceklasser

I dette afsnit finder man klasserne, der bliver brugt i webservicen i webservice.

Project

  • Id (integer)
  • Name (string)
  • Customer (Customer)
  • Type (ProjectType)
  • Status (ProjectStatus)
  • StartDate (DateTime)
  • EndDate (DateTime)
  • Manager (User)
  • Dimension1 (ProjectDimension)
  • Dimension2 (ProjectDimension)
  • Dimension3 (ProjectDimension)
  • BudgetKr (double)
  • BudgetHours (double)
  • FixedPrice (boolean)
  • UserField1 (string)
  • UserField2 (string)
  • UserField3 (string)
  • UserField4(string)
  • UserField5 (string)
  • Description (string)
  • ContactCompany (string)
  • ContactPerson (string)
  • ContactAddress (string)
  • ContactZipCode (string)
  • ContactCity (string)
  • ContactPhone (string)
  • NextAction (string)
  • CurrentPhase (PhaseName)
  • ProjectNumberText (string)
  • Currency (Currency)
  • CreatedDate (DateTime)
  • DefaultInvoiceDescription (string)
  • Manager2 (User)
  • Ean (string)
  • RiskStatus (RiskStatus)
  • CostOverhead (double)
  • Phases (List of(ProjectPhase))
  • Members (List of(ProjectMember))

Customer

  • Id (integer)
  • Name (string)
  • Number (string)
  • Address (string)
  • Zipcode (string)
  • City (string)
  • Country (string)
  • ContactPerson (string)
  • Email (string)
  • Telephone (string)
  • Cellphone (string)
  • Fax (string)
  • Status (ProjectStatus)
  • Type (CustomerType)
  • Ean (string)
  • Cvr (string)
  • Discount (double)
  • Responsible (User)
  • Contacts (List of(CustomerContact))

ProjectType

  • Id (integer)
  • ProjectStatus
  • Id (integer)
  • NameDk (string)
  • NameUk (string)
  • ProjectDimension
  • Description (string)
  • AltOrder (integer)

PhaseName

  • Id (integer)
  • Name (string)
  • Status (ProjectStatus)
  • Description (string)
  • Color (string)

Currency

  • Id (string)
  • Name (string)
  • RateAgainstDKR (double)
  • Status (ProjectStatus)
  • DefaultTax (double)
  • RiskStatus
  • Id (string)
  • Description (string)
  • Icon (string)

ProjectPhase

  • Id (integer)
    Name (PhaseName)
    StartDate (DateTime)
    EndDate (DateTIme)
    Description (string)
    BudgetKr (double)
    BudgetHours (double)
    HourType (HourType)
    Task (string)
    Position (integer)
    Responsible (User)
    CustomerType

HourType

  • Id (integer)
  • Name (string)
  • Price (double)
  • Language (string)
  • Status (ProjectStatus)
  • CostPrice (double)
  • MaterialNumber (string)
  • Factor (double)
  • Color (string)

Registration

  • Id (integer)
  • ProjectPhaseId (integer)
  • UserId (Integer)
  • RegDate (Date)
  • (Optional) ThirdPartId (integer)

TimeRegistration (er en nedarvning af Registration)

  • Hours (Double)
  • Comment (String)
  • ProjectId (integer)
  • Approved (Boolean)
Vi søger nye medarbejdere indenfor salg og udvikling