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

Egito API

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

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.