Skontaktuj się z nami (+48) 12 446 66 66

To jest stara wersja strony!


Egito API

Opis jak zintegrować własną aplikację lub serwis z systemem http://egito.pl/

Integracje przez API

dostęp przez API zapewnia możliwości integracji z zewnętrznym oprogramowaniem. Bez względu na to czy będzie to program fakturowy, ERP, do mailingów czy formularz na stronie www należy wziąć pod uwagę kilka głównych punktów takiej integracji oraz podjąć decyzje wpływające na funkcjonowanie, koszty oraz utrzymanie takiej integracji:

  • Po pierwsze autoryzacja
  • Weryfikacja czy oba źródła zawierają wszystkie potrzebne dane (np. NIP dla programów do faktur)
  • Mapowanie danych z jednego źródła na pola w systemie egito
  • Przesłanie dodatkowych a niezbędnych dla utworzenia rekordu danych np. płeć dla leadów
  • Określenie strategii na duplikaty, błędne czy bzdurne dane oraz spam (w przypadku formularzy), nadrzędność sytemów w razie aktualizacji danych (jedno- i dwu-kierunkowe integracje aplikacji).

Autoryzacja

Autoryzacja poprzez OAUTH2 czyli by uzyskać access_token potrzebne są takie dane jak:

  • EGITO_NAME czyli to co występuje w adresie przed .egito.pl
  • API_ID generujemy po zgłoszeniu
  • API_SECRET generujemy po zgłoszeniu
  • EGITO_USERNAME login użytkownika wraz z nazwą aplikacji np. login@firma (uwaga: bez .pl)
  • EGITO_PASSWORD hasło użytkownika, który będzie łączył się przez API

API_TOKEN token oraz API_ID udostępniamy po zgłoszeniu na pomoc@egito.pl, prosimy o przesyłanie przez lub dołączenie w DW administratora danej aplikacji.

Ważne by zdecydować czy api ma logować się jako jeden z obecnych uzytkowników czy osobny np o nazwie Api Adlike z osobnym loginem i hasłem. Osobnemu użytkownikowi można określić zakres uprawnień by każda integracja API nie mogła być później użyta do np. wykasowania rekordów czy innego nadużycia i wyznaczyć tylko takie funkcje jakie to API ma móc faktycznie realizować.

accesstoken za pomocą POST:

https://EGITO_NAME.egito.pl/oauth/token?grant_type=password&client_id=MY_ID&client_secret=MY_SECRET&password=EGITO_PASSWORD&username=EGITO_USERNAME

Należy w nagłówku zapytania dodać parametr: Content-Type = x-www-form-urlencoded

To zapytanie zwraca access_token:

{
  "access_token": "a88c5bc3-4404-4d95-b5db-1a840b268ef2",
  "token_type": "bearer",
  "refresh_token": "7c88f185-cf22-4d0f-ba43-e791390fe674",
  "expires_in": 3317,
  "scope": "write read"
}

Przykład autoryzacji w php:

<$response = \Httpful\Request::post("https://EGITO_NAME.egito.pl/oauth/token?grant_type=password&client_id=" . API_ID . "&client_secret=" . API_SECRET . "&password=" . EGITO_PASSWORD. "&username=" . EGITO_USERNAME)
   ->addHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
   ->send();
 
$access_token = $response->body->access_token;>

Dostępne operacje

Po autoryzacji możliwe są operacje na rekordach z systemu:

  • CREATE- utworzenie nowego rekordu
  • GET - pobranie rekordu/ów
  • UPDATE - aktualizacja danych rekordu
  • LIST- lista rekordów danego typu (i spełniających dodatkowe kryteria)

Przykładowe utworzenie nowego rekordu Lead:

response.php
<$access_token = $response->body->access_token;
$response = \Httpful\Request::post("https://EGITO_NAME.egito.pl/services/restapi/json/Lead/create")
    ->body(http_build_query(array(
        'name' => $_POST['name'],
        'surname' => $_POST['surname'],
        'companyName' => $_POST['companyName'],
        'sourceId' => DICTIONARY_ID,
        'mainPhoneNumber.suffix' => $_POST['phone'],
        'mainPhoneNumber.prefix' => '1',
    )))
    ->addHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
    ->addHeader('Authorization', 'Bearer ' . $access_token)
    ->send();
 
$leadId = $response->body->id;>

Przykładowe URL

Słowniki

W formularzach (i w bazie danych) w Egito używane są id słowników dla zapisania wartości list wyboru. Aby poznać jakie wartości lista może przyjąc (i jakie należy wysyłać w zapytaniu) należy znając nazwę pola wywołać poniższe zapytanie: https://EGITO_NAME.egito.pl/services/restapi/json/SelectDictionary/list?type=TYP_SLOWNIKA gdzie TYP_SLOWNIKA to jego kod np industry, lead.source lub relationshipType.

Do pobrania

Zamieszczona paczka ZIP zawiera przykłady zastosowania biblioteki httphul w PHP do autoryzacji oraz tworzenia rekordów (Lead, Kontrehent z Kontaktem, Oferta dla kontrahenta).

POBIERZ plik z przykładami w ZIP

Wtyczka Wordpress:

Plugin służący do integracji formularzy contact-form-7 w Wordpress

Pobierz wersję 2.2 na dysk i następnie zainstaluj jako plugin/wtyczkę w Wordpress.

Po aktywacji wtyczki pojawi się osobna sekcja w menu gdzie pierwsza zakładka dotyczy autoryzacji:

  • EGITO_NAME czyli to co występuje w adresie przed .egito.pl
  • API_ID generujemy po zgłoszeniu
  • API_SECRET generujemy po zgłoszeniu
  • EGITO_USERNAME login użytkownika wraz z nazwą aplikacji (uwaga: tutaj bez @EGITO_NAME na końcu, sam login)
  • EGITO_PASSWORD hasło użytkownika, który będzie łączył się przez API

Druga zakładka pozwala zdefiniować jakie dane z formularza i w jakis sposób będą użyte. Np. tworzenie nowego Leada z podanego w formularzu imienia, nazwiska i email; Wyświetlenie produktów spełniających kryteria podane w formularzu z podaneim dostępności; Automatyczne generowanie ofert i wysyłanie ich po kalkulacji w formularzu. itp.