Interfejs SOAP

Informacje dla firm

Uwierzytelnianie

Wszystkie firmy zarządzające muszą uwierzytelnić się za pomocą tokenu dostępu o ograniczonym czasie ważności (token oAuth Bearer). W tym celu za pośrednictwem portalu (w zakładce „Ustawienia importu danych”) otrzymujesz dane użytkownika serwisu (ID i sekret). Dzięki tym danym firma może za pośrednictwem interfejsu zażądać tokenu dostępu o ograniczonym czasie ważności. Token dostępu musi być następnie przekazany do interfejsu zdarzeń jako token nośnikowy w nagłówku uwierzytelniającym podczas komunikacji HTTP z interfejsem.

Jeśli firma zarządza kilkoma innymi firmami, token dostępu musi być utworzony wyłącznie dla identyfikatora CareFlex firmy zarządzającej. Wszystkie pozostałe zgłoszenia dotyczące różnych identyfikatorów CareFlex są zgłaszane przy użyciu tokenu dostępu firmy zarządzającej. W związku z tym do zarządzania wszystkimi firmami przypisanymi do głównego identyfikatora CareFlex potrzebna jest tylko jedna kombinacja użytkownika usługi/klucza tajnego użytkownika usługi.

Autoryzacja

Wszystkie przedsiębiorstwa muszą podczas zgłoszenia przekazać zarówno token API, jak i identyfikator CareFlex. Wraz ze
zgłoszeniem należy przesłać identyfikator CareFlex (przedsiębiorstwa uprawnionego do świadczeń) oraz token API (przedsiębiorstwa dokonującego zgłoszenia).
Token API można wygenerować w portalu przedsiębiorstwa w sekcji „CRM” / „Ustawienia importu danych”. Istnieje tylko jeden token API dla wszystkich podmiotów zarządzanych przez dane przedsiębiorstwo.

Poprawność identyfikatora CareFlex ID w połączeniu z tokenem API nie jest sprawdzana podczas wysyłania wiadomości, ale można ją zweryfikować po pomyślnym zaimportowaniu wysłanej wiadomości do portalu za pomocą funkcji informacji zwrotnej.

Funkcje interfejsu

  • Zgłoszenie zdarzenia kadrowego z danymi podstawowymi lub bez
  • Powiązanie SOAP: NewIncident
  • Uwaga: W jednym żądaniu można przesłać do 100 zdarzeń HR.
  • Komunikat o braku danych
  • Powiązanie SOAP: NoIncident
  • Opis: To żądanie należy wysłać, jeśli w bieżącym miesiącu nie wystąpiły żadne zdarzenia kadrowe.

Przykład komunikacji

Zapytanie o token dostępu

POST EP1 (patrz wyżej)
z treścią JSON:
{
"grant_type":"password",
"username":"<user_id (użytkownik usługi)>",
"password":"<user_secret (użytkownik usługi)>"
}
oraz nagłówkami:
"Content-Type: application/json"


Odpowiedź zawiera token dostępu ważny przez 12 godzin

{
"access_token":"P7kmfo8HXItLLOReHq65o4%§ggg45dYhSm5ODc",
"token_type":"Bearer",
"expires_in":43200,
                "created_at":1589887223
}


Token dostępu jest używany jako token na okaziciela podczas komunikacji z interfejsem

POST EP2 (patrz wyżej)
z nagłówkami SOAP:
„Authorization: Bearer
P7kmfo8HXItLLOReHq65o4%§ggg45dYhSm5ODc” „Content-Type: text/xml;charset=UTF-8”


Pusta wiadomość

REQUEST
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:car="http://n4.de/careflex">
<soapenv:Header/>
<soapenv:Body>
<car:NoIncidentRequest>
<careflexId>09ce3580d84bf090</careflexId>
<apitoken>maL0HMDszA2b9PKiqCAZRGh0ZDpVjmvc</apitoken>
<createdAt>2020-08-24</createdAt>
</car:NoIncidentRequest>
</soapenv:Body>
</soapenv:Envelope>

RESPONSE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns3:NoIncidentResponse xmlns:ns3="http://n4.de/careflex"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Przykłady ładowności

Powiadomienia z danymi podstawowymi i bez nich

REQUEST
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://n4.de/careflex/2.0">
<soapenv:Header/>
<soapenv:Body>
<ns:NewIncidentRequest>
<careflexId>09ce3580d84bf087</careflexId>
<apitoken>88ea9396-386f-4130-bd00-1dd34e5636bd</apitoken>
<incidentList>
<plainIncident>
<employeeId>4711</employeeId>
<validFrom>2020-04-24</validFrom>
<createdAt>2020-04-24</createdAt>
<type>RST</type>
</plainIncident>
<neuIncident>
<employeeId>4811</employeeId>
<validFrom>2020-04-24</validFrom>
<createdAt>2020-04-24</createdAt>
<type>NEU</type>
<employee>
<title>Prof. Dr.</title>
<firstName>Thomas</firstName>
<lastName>Mustermann</lastName>
<birthday>1979-01-15</birthday>
<sex>m</sex>
<address>
<street>Musterstraße</street>
<houseNumber>9</houseNumber>
<addressSuffix>c/o Max Hauptmieter</addressSuffix>
<zipCode>01234</zipCode>
<city>Musterstadt</city>
<country>DE</country>
</address>
<job>
<employmentSite>Oddział 1</employmentSite>
<employmentStatus>T</employmentStatus>
<startOfEmployment>2020-04-24</startOfEmployment>
<personnelNumber>123654789</personnelNumber>
<management>true</management>
</job>
<contact>
<emailBusiness>
thomas.mustermann@musterfirma.de
</emailBusiness>
<mobileBusiness>0123 12345678</mobileBusiness>
<landlineBusiness>030 12345678</numerStacjonarny>
</kontakt>
</pracownik>
</nowyZgłoszenie>
<zwykłeZgłoszenie>
<idZewnętrzny>IdentyfikatorKlienta-4711-2345</idZewnętrzny>
<idPracownika>35801170498</identyfikatorPracownika> <ważnyOd>2020-04-24</ważnyOd>


<utworzono>2020-04-24</utworzono> <typ>RST</typ>
</zwykłeZgłoszenie>
</listaZgłoszeń>
</ns:NowyŻądanieZgłoszenia>
</soapenv:Body>
</soapenv:Envelope>

RESPONSE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns3:NewIncidentResponse xmlns:ns3="http://n4.de/careflex/2.0">
<importId>550a80b5-de70-4078-860e-c03d75b1dc49</importId>
<incidentResponseList>
<incident>
<rowNumber>0</rowNumber>
<incidentId>
3b2d4888-a25c-4c8b-9818-aa6b428bd2de
</incidentId>
<employeeId>4711</employeeId>
<type>RSTxxx</type>
</incident>
<incident>
<rowNumber>1</rowNumber>
<incidentId>
3615b6af-e2f2-4dcf-a945-d9ad8546228b
</incidentId>
<employeeId>4811</employeeId>
<type>NEU</type>
<incidentError>
<code>422</code>
<message>Weryfikacja nie powiodła się: Zawartość pola „type” jest nieprawidłowa z następującego powodu: nieprawidłowa wartość</message>
</incidentError>
</incident>
<incident>
<rowNumber>2</rowNumber>
<incidentId>
3b2d4888-a25c-4c8b-9818-aa6b428bd2df
</incidentId>
<externalId>Identyfikator klienta-4711-2345</externalId>
<employeeId>35801170498</employeeId>
<type>RST</type>
</incident>
</incidentResponseList>
</ns3:NewIncidentResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Scroll to top