[Sugester - Baza Wiedzy ](https://pomoc.sugester.pl.md) / [API i integracje](https://pomoc.sugester.pl/api-i-integracje.md)

# [Sugester API](https://pomoc.sugester.pl/2231134-sugester-api.md)

<h2>Co to jest API?</h2>

<p>API to zestaw reguł, który umożliwia przesyłanie danych między aplikacjami (np. między sklepem internetowym a systemem Sugester). Dzięki temu systemy mogą wysyłać i odbierać między sobą dane bez konieczności wdrażania skomplikowanych integracji.</p>



<h2><strong>Czym jest API w Sugesterze?</strong></h2>

<p>Nasze otwarte API pozwala zintegrować zewnętrzne aplikacje z Sugesterem. Dzięki niemu można np. dodawać do Sugestera klientów, tworzyć zadania czy wysyłać maile za pośrednictwem innego programu (pełną listę można znaleźć na np. <a href="https://github.com/sugester/API" target="_blank">https://github.com/sugester/API</a>).<br>
<br>
Polecamy też sprawdzić naszą stronę <a href="https://sugester.pl/api" target="_blank">Api systemu Sugester</a>.</p>

<h2><strong>Kto może korzystać z API Sugestera?</strong></h2>

<p>Każdy kto ma założone konto w Sugesterze i ma wiedzę techniczną może korzystać z API Sugestera. Aktywne konto w Sugesterze jest potrzebne, by uzyskać klucz dostępu i by rozpocząć integrację Sugestera z innymi systemami.</p>

<h2><strong>Jak uzyskać klucz API?</strong></h2>

<p>Aby uzyskać swój API token, należy się zalogować na swoje konto w Sugesterze i przejść do menu <b>Ustawienia -&gt; API</b>.<br>
Korzystając z tokena będzie można wywołać API nie podając za każdym razem swojego loginu hasła.<br>
<br>
<span style="background-color:#ffff33;">API token jest powiązany z kontem konkretnego użytkownika, a nie całym kontem w Sugesterze.</span></p>
<img src="https://s3.eu-west-1.amazonaws.com/attachments.intum.net/31076/0c2e807bb3e1c9f39048f123998ca1dfcc9156ee">


<h2><strong>Co można zrobić dzięki API Sugestera?</strong></h2>
<br>
Poniżej przykłady wywołania:
<ul>
	<li>dodanie klienta</li>
	<li>pobranie danych klienta</li>
	<li>aktualizacja danych klienta</li>
	<li>skasowanie klienta</li>
	<li>dodanie kontaktu</li>
	<li>pobranie danych kontaktu</li>
	<li>aktualizacja danych kontaktu</li>
	<li>usunięcie kontaktu</li>
	<li>dodanie zadania</li>
	<li>pobranie listy zadań</li>
	<li>dodanie interesu</li>
	<li>dodanie nowej sugestii</li>
	<li>dodanie konta partnerskiego</li>
</ul>
<br>
<br>
 
<h3>Specyfikacja obiektów</h3>

<p>Specyfikację dotyczącą API znajdziesz, wchodząc w <strong>Ustawienia&gt;API</strong>. Nie jest ona kompletna. Pełny opis każdego obiektu w Sugesterze możesz uzyskać dopisując .json lub na końcu adresu URL, pod którym jest dostępny. Przykładowo żeby zobaczyć specyfikację obiektu "klient", zamień jego URL z:</p>

<div style="position: relative;"><pre class="language-javascript" tabindex="0"><code class="language-javascript">https://nazwakonta.sugester.pl/app/clients/123456</code></pre></div>
<br>
na
<div style="position: relative;"><pre class="language-javascript" tabindex="0"><code class="language-javascript">https://nazwakonta.sugester.pl/app/clients/123456.json</code></pre></div>



<p><strong>Dodawanie klientów - duplikaty:</strong><br>
<br>
Jeśli chcesz, aby Sugester sprawdzał duplikaty klientów przy ich zakładaniu via API musisz przez API przekazać parametry:<br>
<br>
[client][try_update]: true <br>
lub<br>
[client][external_ids]:{'twojprogram':id_z_twojego_programu}<br>
<br>
Pierwszy przypadek jest łatwiejszy.<br>
Wtedy system będzie szukał i łączył po klientów po(w kolejności):<br>
<br>
external_id external_ids (jak podasz jak wyżej)<br>
NIP<br>
email (system będzie też patrzył na kontakty)<br>
telefon(po kontaktach też)<br>
telefon komórkowy(po kontaktach też)<br><br>Specyfikacja obiektów:</p>

<div style="position: relative;"><pre class="language-css" tabindex="0"><code class="language-css">{ "id": id posta "title": tytuł "content": treść "kind": rodzaj sugestii ('suggestion', 'error', 'question', 'praise', 'private'), "user_id": id usera "points": liczba punktów "nick": nick usera "votes_cache": ilość oddanych głosów "comments_cache": ilość oddanych komentarzy "forum_id": id forum "category_id": id category "created_at": czas utworzenia "updated_at": czas ostatniej modyfikacji "ip": ip z którego oddano post "agent": info o przeglądarce "response": odpowiedź główna "response_user_id": id osoby która odpowiedziała "referrer": refferer "responsible_id": id przypisanej osoby "last_action_status": status ("created"), "email": email nadawcy "uid": token użytkownika, "spam_kind": rodzaj spamu, "answer": odpowiedz, "answered": czy jest odpowiedz, "duplicate_from_id": id duplikatu, "abstract": abstrakt, "status_id": id status, "view_count": ilość wyświetleń, "tags": tagi, "facebook_likes": ilość like facebokoowych, "min_votes_to_start": ilość głosów do rozpoczęcia prac, "use_html": czy html, "email_to": adres email do, "email_cc": adres email cc, "email_bcc": adres email bcc, "spam_score": scoring spamowy, "spam_report": info o spamie, "closed": czy zamkniete (true/false), "scheduled_at": przypisana data wykonania, "task_kind": rodzaj zadania ('feedback', 'email', 'task', 'help', 'chat', 'phone', 'lead', 'error', 'idea'), "priority": priorytet, "title_note": null, "user_spam_report": zgłoszenie spamu, "client_id": id klienta, "project_id": id projektu, "help_link": klucz linka pomocy, "help_content": treść pomocy, "post_id": id postu nadrzędnego, "www": strona www dodajacego post, "private": czy prywatny (true/false), "unread": czy nie przeczytany (true/false), "email_recipient": do kogo jest dany post (uzywane w helpdesk/mail), "email_reply_to": reply to (uzywane w helpdesk/mail) }</code></pre></div>
