Moduł służy do podłączenia integracji z wFirma za pomocą oAuth2.
GET /rest/wfirma_oauth2
HTTP/1.1 200 OK
{
"results": [
{
"WfirmaOauth2": {
"id": "4",
"company_id": "73884",
"name": "Jan Łukaszewicz",
"lump_tax_rate": "8.5"
}
}
]
}
id - identyfikator integracji company_id - identyfikator firmy z wFirma tax_rate - wartość stawki ryczałtu (dotyczy firm z tą formą opodatkowania)
POST /rest/wfirma_oauth2
Za pomocą przesłanego kodu autentykacji Respondo wymieni go na tokeny dostępu access_token i refresh_token, które zapisze w bazie danych.
{
"WfirmaOauth2": {
"auth_code": "auth-code-from-wfirma"
}
}
HTTP/1.1 200 OK
{
"id": "1",
"customer_id": "1",
"company_id": "1",
"name": "Moja Firma",
"modified": "2023-12-05 02:13:70",
"modified": "2023-12-05 02:13:70"
}
W sytuacji, gdy integrowane konto ma więcej niż jedną aktywną firmę, zwrócona zostanie lista firm wraz z identyfikatorami.
HTTP/1.1 300 Multiple Choices
{
"status": "error",
"errorMessage": "Wybierz firmę z którą chcesz połączyć 5 ways.",
"companies": {
"1": {
"company_id": "1",
"name": "Moja firma"
},
"2": {
"company_id": "2",
"name": "Firma kolegi"
}
}
}
PUT /rest/wfirma_oauth2/{id}
W przypadku zwrócenia listy firm należy przesłać jeden z otrzymanych identyfikatorów, aby zakończyć integrację. Nie jest możliwe przełączenie na inną firmę po wybraniu firmy ani zmiany nazwy integracji. W tym celu należy usunąć integrację i utworzyć nową.
{
"WfirmaOauth2": {
"company_id": "2",
"name": "własna nazwa integracji"
}
}
HTTP/1.1 200 OK
{
"status": "OK"
}
W przypadku, gdy wybrana firma prowadzi ewidencję zryczałtowaną, zwrócona zostanie informacja z listą stawek ryczałtu oraz stawka domyślna z wFirmy.
HTTP/1.1 300 Multiple Choices
{
"status": "error",
"errorMessage": "Wybierz stawkę ryczałtu na potrzeby fakturowania.",
"lump_tax_rates": [
"3",
"5.5",
"8.5",
"10",
"12",
"12.5",
"14",
"15",
"17"
],
"default_lump_tax_rate": "3"
}
W firmach z taką ewidencją należy dodatkowo przesłać wartość stawki w polu tax_rate wraz z company_id i opcjonalnie nazwą name.
PUT /rest/wfirma_oauth2/{id}
{
"WfirmaOauth2": {
"company_id": "73884",
"lump_tax_rate": "12.5"
}
}
HTTP/1.1 200 OK
{
"status": "OK"
}
W przypadku, gdy integrowane konto wFirma posiada tylko jedną firmę z ewidencją inną niż ryczałt, integracja zakończy się na jednym żądaniu, po wysłaniu samego auth_code.
W przypadku, gdy konto posiada również jedną firmę z ewidencją zryczałtowaną, zostanie zwrócona lista firm z jedną pozycją.
Należy wybrać tę firmę i w kolejnym kroku, gdy zostanie zwrócona lista stawek, przesłać odpowiednią stawkę.
DELETE /rest/wfirma_oauth2/{id}
Trwale usuwa integrację z wFirma.