Moje godziny (wersja zapoznawcza)
Śledzenie czasu i zarządzanie projektami, zadaniami, klientami i tagami przy użyciu selektorów dynamicznych. Ten łącznik uwidacznia punkty końcowe służące do tworzenia i znajdowania jednostek.
Ten łącznik jest dostępny w następujących produktach i regionach:
| Usługa | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | Wszystkie regiony usługi Power Automate z wyjątkiem następujących: - Rząd USA (GCC) - Rząd USA (GCC High) - China Cloud obsługiwane przez firmę 21Vianet - Departament Obrony USA (DoD) |
| Logic Apps | Standard | Wszystkie regiony usługi Logic Apps z wyjątkiem następujących: — Regiony platformy Azure Government — Regiony platformy Azure (Chiny) - Departament Obrony USA (DoD) |
| Power Apps | Premium | Wszystkie regiony usługi Power Apps z wyjątkiem następujących: - Rząd USA (GCC) - Rząd USA (GCC High) - China Cloud obsługiwane przez firmę 21Vianet - Departament Obrony USA (DoD) |
| Power Automate | Premium | Wszystkie regiony usługi Power Automate z wyjątkiem następujących: - Rząd USA (GCC) - Rząd USA (GCC High) - China Cloud obsługiwane przez firmę 21Vianet - Departament Obrony USA (DoD) |
| Kontakt | |
|---|---|
| Name | Moje godziny |
| adres URL | https://myhours.com |
| support@myhours.com |
| Metadane łącznika | |
|---|---|
| Publisher | Spica International |
| Witryna internetowa | https://myhours.com |
| Zasady ochrony prywatności | https://myhours.com/legal/personal-data-processing-addendum-for-my-hours-cloud-services |
| Kategorie | Produktywność |
Moje godziny — wprowadzenie do łącznika
Śledzenie czasu i zarządzanie projektami, zadaniami, klientami i tagami przy użyciu łącznika My Hours.
Authentication
Typ: Klucz interfejsu API (nagłówek)
Podczas tworzenia połączenia wprowadź pełną wartość w pojedynczym polu o nazwie Authorization przy użyciu tego dokładnego formatu:
Przykład:
apikey 123abcXYZ
Łącznik wysyła tę wartość jako Authorization nagłówek dla każdego żądania.
Gdzie uzyskać klucz: W ustawieniach konta Moje godziny. Utwórz lub skopiuj klucz interfejsu API. Zachowaj go w tajemnicy i obróć go, jeśli zostanie ujawniony.
Obsługiwane akcje
- Tworzenie klienta — utwórz nowego klienta.
- Znajdź klienta według nazwy — zwracają klientów, którzy są zgodni z podaną nazwą.
- Tworzenie projektu — tworzenie nowego projektu.
- Znajdź projekt według nazwy — znajdź projekt według nazwy.
- Dodaj zadanie do projektu — utwórz zadanie w wybranym projekcie.
- Znajdź zadanie według nazwy — znajdź zadanie projektu według nazwy i identyfikatora projektu.
- Utwórz tag — utwórz nowy tag (z kolorem szesnastkowym).
- Znajdź tag według nazwy — znajdź tag według nazwy.
- Utwórz dziennik czasu — utwórz nowy dziennik czasu.
- Pobieranie dzienników czasu — pobieranie szczegółowych dzienników aktywności/godziny dla zakresu dat.
Obsługiwane wyzwalacze
- Po utworzeniu nowego projektu — zostanie wyzwolony po wyświetleniu nowego projektu.
- Po utworzeniu nowego zadania — zostanie wyzwolony po wyświetleniu nowego zadania projektu.
- Po utworzeniu nowego dziennika czasu — zostanie wyzwolony, gdy pojawi się nowy dziennik czasu.
Uwagi dotyczące użycia i limity
-
Format autoryzacji — połączenie wymaga prefiksu
apikeyliterału, po którym następuje klucz. W przypadku pominięcia prefiksu lub dodania dodatkowych znaków żądania mogą zakończyć się niepowodzeniem z 400 lub 401. -
Formaty daty/godziny — daty to RRRR-MM-DD. Wartości daty/godziny to ISO 8601 (np.
2025-09-05T08:30:00Zprzesunięcie lokalne). -
Tworzenie dzienników czasu — podaj wartość
duration(sekundy) lub obiestartwartości iend. Podanie wszystkich trzech jest nieprawidłowe. - Selektory dynamiczne — pola Project, Task, Tag i User używają list dynamicznych; Upewnij się, że Twoje konto ma uprawnienia do odczytu tych jednostek lub listy mogą być puste.
-
Środowisko — obsługiwany jest tylko host produkcyjnego interfejsu API:
https://api2.myhours.com.
Obsługa błędów
Łącznik zwraca standardowe kody stanu HTTP:
| Code | Meaning | Typowe przyczyny |
|---|---|---|
| 200 | Powodzenie | Operacje odczytu/listy. |
| 201 | Created | Pomyślne operacje tworzenia. |
| 400 | Nieprawidłowe żądanie | Brakujące/nieprawidłowe dane wejściowe, nieprawidłowy format nagłówka, pola treści powodujące konflikt. |
| 500 | Błąd serwera | Tymczasowy problem z zapleczem lub nieoczekiwany błąd. |
Troubleshooting
- Sprawdź, czy wartość autoryzacji używa dokładnego
apikey YOUR_API_KEYformatu. - Sprawdź, czy wymagane pola są obecne i prawidłowe.
- W obszarze Utwórz dziennik czasu potwierdź, że przekazano
durationwartośćlub (startiend).
Dziennik zmian
- 1.0.0 — wstępne przesłanie do certyfikacji.
Support
- Witryna internetowa: https://myhours.com/
- Adres e-mail: support@myhours.com
Tworzenie połączenia
Łącznik obsługuje następujące typy uwierzytelniania:
| Wartość domyślna | Parametry tworzenia połączenia. | Wszystkie regiony | Nie można udostępniać |
Domyślny
Dotyczy: wszystkie regiony
Parametry tworzenia połączenia.
Nie jest to możliwe do udostępnienia połączenie. Jeśli aplikacja power zostanie udostępniona innemu użytkownikowi, zostanie wyświetlony monit o jawne utworzenie nowego połączenia.
| Name | Typ | Description | Required |
|---|---|---|---|
| Authorization | securestring | Autoryzacja dla tego interfejsu API | Prawda |
Limity ograniczania
| Nazwa | Wywołania | Okres odnowienia |
|---|---|---|
| Wywołania interfejsu API na połączenie | 100 | 60 sekund |
Akcje
| Dodawanie zadania do projektu |
Utwórz zadanie w wybranym projekcie. |
| Pobieranie dzienników czasu |
Uzyskaj szczegółowe dzienniki aktywności lub godziny dla zakresu dat. |
| Tworzenie dziennika czasu |
Utwórz dziennik czasu. Należy wypełnić pole "duration" lub pola "godzina rozpoczęcia" i "godzina zakończenia". W przypadku wypełnienia wszystkich trzech wystąpi błąd |
| Tworzenie klienta |
Utwórz nowy rekord klienta. |
| Utwórz projekt |
Utwórz nowy projekt. |
| Utwórz znacznik |
Utwórz nowy tag. |
| Znajdowanie tagu według nazwy |
Znajdź tag według jego nazwy. |
| Znajdź klienta według nazwy |
Zwracaj klientów, którzy są zgodni z podaną nazwą. |
| Znajdź projekt według nazwy |
Znajdź projekt według nazwy. |
| Znajdź zadanie według nazwy |
Znajdź zadanie projektu według nazwy i identyfikatora projektu. |
Dodawanie zadania do projektu
Utwórz zadanie w wybranym projekcie.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Identyfikator projektu
|
projectId | True | integer |
Identyfikator projektu. |
|
Nazwa listy
|
listName | string |
Nazwa listy zadań. |
|
|
Name
|
name | True | string |
Nazwa zadania. |
|
Description
|
description | string |
Description. |
Zwraca
- Body
- ProjectTask
Pobieranie dzienników czasu
Uzyskaj szczegółowe dzienniki aktywności lub godziny dla zakresu dat.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Data od
|
dateFrom | True | date |
Data rozpoczęcia w formacie RRRR-MM-DD. |
|
Data do
|
dateTo | True | date |
Data końcowa w formacie RRRR-MM-DD. |
Zwraca
Tworzenie dziennika czasu
Utwórz dziennik czasu. Należy wypełnić pole "duration" lub pola "godzina rozpoczęcia" i "godzina zakończenia". W przypadku wypełnienia wszystkich trzech wystąpi błąd
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Date
|
date | True | date |
Data w formacie RRRR-MM-DD. |
|
Godzina rozpoczęcia
|
start | date-time |
Godzina rozpoczęcia w formacie UTC lub lokalnym formacie ISO 8601. |
|
|
Godzina zakończenia
|
end | date-time |
Godzina zakończenia w formacie UTC lub lokalnym formacie ISO 8601. |
|
|
Czas trwania
|
duration | integer |
Czas trwania w sekundach. |
|
|
Description
|
Note | string |
Nuta. |
|
|
Identyfikator projektu
|
ProjectId | integer |
Identyfikator projektu. |
|
|
Identyfikator zadania
|
TaskId | integer |
Identyfikator zadania. |
|
|
Identyfikator tagu
|
TagId | integer |
Identyfikator tagu. |
Zwraca
- Body
- TimeLog
Tworzenie klienta
Utwórz nowy rekord klienta.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Name
|
Name | True | string |
Nazwa klienta. |
Zwraca
- Body
- Client
Utwórz projekt
Utwórz nowy projekt.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Name
|
name | True | string |
Nazwa projektu. |
|
ID klienta
|
clientId | integer |
Identyfikator klienta. |
|
|
Notatki
|
notes | string |
Notatki. |
|
|
Przypisany użytkownik
|
autoAssignUserId | integer |
Użytkownik przypisany do projektu. |
Zwraca
- Body
- Project
Utwórz znacznik
Utwórz nowy tag.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Nazwa tagu
|
name | True | string |
Nazwa tagu. |
|
Kolor szesnastkowy
|
hexColor | True | string |
Kolor szesnastkowy w |
Zwraca
- Body
- Tag
Znajdowanie tagu według nazwy
Znajdź tag według jego nazwy.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Nazwa tagu
|
tagName | True | string |
Nazwa tagu. |
Zwraca
- Body
- Tag
Znajdź klienta według nazwy
Zwracaj klientów, którzy są zgodni z podaną nazwą.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Nazwa klienta
|
clientName | True | string |
Nazwa klienta z dokładnym lub częściowym dopasowaniem. |
Zwraca
- response
- array of Client
Znajdź projekt według nazwy
Znajdź projekt według nazwy.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Nazwa projektu
|
projectName | True | string |
Nazwa projektu. |
Zwraca
- Body
- Project
Znajdź zadanie według nazwy
Znajdź zadanie projektu według nazwy i identyfikatora projektu.
Parametry
| Nazwa | Klucz | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
Nazwa zadania
|
projectTaskName | True | string |
Nazwa zadania. |
|
Identyfikator projektu
|
projectId | True | integer |
Identyfikator projektu. |
Zwraca
- Body
- ProjectTask
Wyzwalacze
| Po utworzeniu nowego dziennika czasu |
Wyzwalaj po utworzeniu nowego dziennika czasu. |
| Po utworzeniu nowego projektu |
Wyzwalaj po utworzeniu nowego projektu. |
| Po utworzeniu nowego zadania |
Wyzwalaj po utworzeniu nowego zadania projektu. |
Po utworzeniu nowego dziennika czasu
Po utworzeniu nowego projektu
Po utworzeniu nowego zadania
Definicje
TimeSlice
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
id
|
id | integer | |
|
duration
|
duration | integer | |
|
startTime
|
startTime | string | |
|
endTime
|
endTime | string | |
|
running
|
running | boolean | |
|
usunięta
|
deleted | boolean |
Attachment
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
fileName
|
fileName | string | |
|
fileUrl
|
fileUrl | string | |
|
id
|
id | integer |
Tag
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
nazwa
|
name | string | |
|
hexColor
|
hexColor | string | |
|
Archiwizowane
|
archived | boolean | |
|
dateArchived
|
dateArchived | string | |
|
id
|
id | integer |
Client
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
nazwa
|
name | string | |
|
contactName (nazwa kontaktu)
|
contactName | string | |
|
kontaktE-mail
|
contactEmail | string | |
|
kontaktNumer telefonu
|
contactPhone | string | |
|
address
|
address | string | |
|
customId
|
customId | string | |
|
customFieldValues
|
customFieldValues | string | |
|
id
|
id | integer |
Projekt
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
invoiceMethod
|
invoiceMethod | integer | |
|
tempo
|
rate | float | |
|
budgetType
|
budgetType | integer | |
|
budgetValue
|
budgetValue | integer | |
|
budgetAlertPercent
|
budgetAlertPercent | integer | |
|
Notatki
|
notes | string | |
|
zatwierdzony
|
approved | boolean | |
|
roundType
|
roundType | integer | |
|
roundInterval
|
roundInterval | integer | |
|
firstLogDate
|
firstLogDate | string | |
|
budgetTarget
|
budgetTarget | integer | |
|
budgetPeriodType
|
budgetPeriodType | string | |
|
startDate
|
startDate | string | |
|
data ukończenia
|
dueDate | string | |
|
dateCreated
|
dateCreated | string | |
|
createdByUserId
|
createdByUserId | integer | |
|
createdByUserName
|
createdByUserName | string | |
|
Rozliczanych
|
billable | boolean | |
|
customFieldValues
|
customFieldValues | string | |
|
clientId
|
clientId | integer | |
|
clientName
|
clientName | string | |
|
clientCustomId
|
clientCustomId | string | |
|
nazwa
|
name | string | |
|
Archiwizowane
|
archived | boolean | |
|
customId
|
customId | string | |
|
id
|
id | integer |
ProjectTask
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
nazwa
|
name | string | |
|
orderNo
|
orderNo | integer | |
|
opis
|
description | string | |
|
zakończono
|
completed | boolean | |
|
Archiwizowane
|
archived | boolean | |
|
startDate
|
startDate | string | |
|
data ukończenia
|
dueDate | string | |
|
tempo
|
rate | float | |
|
billableByDefault
|
billableByDefault | boolean | |
|
budgetValue
|
budgetValue | float | |
|
budgetSpent
|
budgetSpent | float | |
|
budgetSpentPercentage
|
budgetSpentPercentage | float | |
|
projectBudgetType
|
projectBudgetType | integer | |
|
projectTaskUserIds
|
projectTaskUserIds | array of integer | |
|
customFieldValues
|
customFieldValues | string | |
|
customId
|
customId | string | |
|
projectCustomId
|
projectCustomId | string | |
|
clientCustomId
|
clientCustomId | string | |
|
id
|
id | integer |
Dziennik czasu
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
nuta
|
note | string | |
|
date
|
date | string | |
|
duration
|
duration | integer | |
|
userName
|
userName | string | |
|
nazwa projektu
|
projectName | string | |
|
taskName
|
taskName | string | |
|
clientName
|
clientName | string | |
|
running
|
running | boolean | |
|
startTime
|
startTime | string | |
|
endTime
|
endTime | string | |
|
razy
|
times | array of TimeSlice | |
|
stan
|
status | integer | |
|
identyfikator projektu
|
projectId | integer | |
|
identyfikator zadania
|
taskId | integer | |
|
Rozliczanych
|
billable | boolean | |
|
wydatek
|
expense | float | |
|
userId
|
userId | integer | |
|
rozliczana szybkość
|
billableRate | float | |
|
billableAmount
|
billableAmount | float | |
|
laborRate
|
laborRate | float | |
|
laborCost
|
laborCost | float | |
|
customField1Name
|
customField1Name | string | |
|
customField2Name
|
customField2Name | string | |
|
customField3Name
|
customField3Name | string | |
|
customField1Value
|
customField1Value | string | |
|
customField2Value
|
customField2Value | string | |
|
customField3Value
|
customField3Value | string | |
|
tags
|
tags | string | |
|
durationInHours
|
durationInHours | float | |
|
id
|
id | integer | |
|
tagsData
|
tagsData | array of Tag | |
|
attachments
|
attachments | array of Attachment |
ActivityLogRow
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
logId
|
logId | integer | |
|
userId
|
userId | integer | |
|
date
|
date | string | |
|
teamsNames
|
teamsNames | string | |
|
userName
|
userName | string | |
|
userCustomId
|
userCustomId | string | |
|
clientId
|
clientId | integer | |
|
clientName
|
clientName | string | |
|
clientCustomId
|
clientCustomId | string | |
|
identyfikator projektu
|
projectId | integer | |
|
nazwa projektu
|
projectName | string | |
|
projectCustomId
|
projectCustomId | string | |
|
data rozpoczęcia projektu
|
projectStartDate | string | |
|
projectDueDate
|
projectDueDate | string | |
|
projectBudgetType
|
projectBudgetType | string | |
|
projectBudgetTarget
|
projectBudgetTarget | string | |
|
projectBudgetPeriodType
|
projectBudgetPeriodType | string | |
|
projectBudgetValue
|
projectBudgetValue | integer | |
|
taskListName
|
taskListName | string | |
|
identyfikator zadania
|
taskId | integer | |
|
taskName
|
taskName | string | |
|
taskCustomId
|
taskCustomId | string | |
|
data rozpoczęcia zadania
|
taskStartDate | string | |
|
taskDueDate
|
taskDueDate | string | |
|
taskCompleted
|
taskCompleted | boolean | |
|
userCustomFieldValues
|
userCustomFieldValues | string | |
|
projectCustomFieldValues
|
projectCustomFieldValues | string | |
|
clientCustomFieldValues
|
clientCustomFieldValues | string | |
|
taskCustomFieldValues
|
taskCustomFieldValues | string | |
|
tags
|
tags | string | |
|
tempo
|
rate | float | |
|
Rozliczanych
|
billable | boolean | |
|
inLockedPeriod
|
inLockedPeriod | boolean | |
|
billableAmount
|
billableAmount | float | |
|
kwota
|
amount | float | |
|
laborCost
|
laborCost | float | |
|
laborRate
|
laborRate | float | |
|
logDuration
|
logDuration | integer | |
|
logDurationBillable
|
logDurationBillable | integer | |
|
pracaDuration
|
laborDuration | integer | |
|
startEndTime
|
startEndTime | string | |
|
wydatek
|
expense | float | |
|
billableExpense
|
billableExpense | float | |
|
koszt
|
cost | float | |
|
nuta
|
note | string | |
|
stan
|
status | string | |
|
Identyfikator faktury
|
invoiceId | integer | |
|
Zafakturowane
|
invoiced | boolean | |
|
rozliczaneHours
|
billableHours | integer | |
|
billableHoursLogBillable
|
billableHoursLogBillable | integer | |
|
pracaHours
|
laborHours | integer | |
|
customField1
|
customField1 | integer | |
|
customField2
|
customField2 | integer | |
|
customField3
|
customField3 | integer | |
|
saldo
|
balance | integer | |
|
monthOfYear
|
monthOfYear | string | |
|
tydzieńNo
|
weekNo | integer | |
|
weekOfYear
|
weekOfYear | string | |
|
Zespołów
|
teams | array of string | |
|
running
|
running | boolean | |
|
startTime
|
startTime | string | |
|
endTime
|
endTime | string | |
|
razy
|
times | array of TimeSlice | |
|
tagsData
|
tagsData | array of Tag | |
|
attachments
|
attachments | array of Attachment | |
|
roundType
|
roundType | string | |
|
invoicedAmount
|
invoicedAmount | float | |
|
uninvoicedAmount
|
uninvoicedAmount | float |
ActivityReportResponse
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
body
|
body | array of ActivityLogRow |
TriggerLogsEnvelope
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
dzienniki
|
logs | array of TimeLog |
TriggerProjectsEnvelope
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
projects
|
projects | array of object | |
|
clientId
|
projects.clientId | integer | |
|
clientName
|
projects.clientName | string | |
|
clientCustomId
|
projects.clientCustomId | string | |
|
nazwa
|
projects.name | string | |
|
customId
|
projects.customId | string | |
|
id
|
projects.id | integer |
TriggerProjectTasksEnvelope
| Nazwa | Ścieżka | Typ | Opis |
|---|---|---|---|
|
projectTasks
|
projectTasks | array of object | |
|
identyfikator projektu
|
projectTasks.projectId | integer | |
|
listName
|
projectTasks.listName | string | |
|
listOrderNo
|
projectTasks.listOrderNo | integer | |
|
nazwa
|
projectTasks.name | string | |
|
orderNo
|
projectTasks.orderNo | integer | |
|
opis
|
projectTasks.description | string | |
|
tempo
|
projectTasks.rate | float | |
|
budgetValue
|
projectTasks.budgetValue | float | |
|
projectBudgetType
|
projectTasks.projectBudgetType | integer | |
|
customId
|
projectTasks.customId | string | |
|
billableByDefault
|
projectTasks.billableByDefault | boolean | |
|
projectCustomId
|
projectTasks.projectCustomId | string | |
|
clientCustomId
|
projectTasks.clientCustomId | string | |
|
id
|
projectTasks.id | integer |