Dodawanie zamówień przez API
Jak wgrywać do SalesCRM zamówienia z innego systemu: drugiego sklepu, marketplace’u, systemu partnera albo sprzedaży na evencie?
Zamówienie dodane przez API trafia do panelu tak samo jak zamówienie dodane ręcznie przyciskiem Nowe zamówienie. Na liście zamówień ma źródło „ręczne”, a dalej obsługujesz je jak każde inne: zmieniasz status, wysyłasz, wystawiasz fakturę.
Integracja wysyła zamówienie sama, więc nie musisz przepisywać danych klienta i produktów. Gdy zamówienie jest już opłacone, klient od razu dostaje pliki, dostęp do kursu i fakturę, jak po zakupie w koszyku.
1. Utwórz klucz API z zakresem write_orders
Do dodawania zamówień potrzebny jest osobny zakres write_orders. Twoje dotychczasowe klucze go nie mają, a klucz z zakresem write_data nie utworzy zamówienia.
1. Wejdź w Integracje → API REST i kliknij „Zarządzaj kluczami API”.
2. Kliknij „Utwórz nowy klucz” i nazwij go nazwą integracji, np. Sklep partnera.
3. Zaznacz zakres write_orders. Przy nowym kluczu jest domyślnie odznaczony. Jeśli integracja ma też czytać zamówienia albo listy dostaw i płatności, zaznacz dodatkowo read.
4. Zapisz i od razu skopiuj klucz. Ze względów bezpieczeństwa pokazujemy go tylko raz. Przekaż go osobie, która konfiguruje integrację, w menedżerze haseł, nie mailem.
write_data.2. Zamówienie opłacone czy nieopłacone
Integracja przy każdym zamówieniu mówi, czy jest już opłacone.
- Opłacone – SalesCRM robi wszystko to, co po zakupie w koszyku: wysyła pliki elektroniczne i nadaje dostęp do kursów, wysyła maile zakupowe i maile o zmianie statusu, uruchamia webhooki, przedłuża subskrypcję. Fakturę wystawia według ustawienia „Automatyczne wystawianie faktur przy płatnościach automatycznych”.
- Nieopłacone – zamówienie czeka na liście jak każde nieopłacone. Rozliczysz je później w panelu albo przez API, tak jak dziś.
Integracja może też wyłączyć wybrane automaty dla danego zamówienia, np. maile o zmianie statusu, sekwencje, automatyczną fakturę albo webhooki. To te same pola wyboru, które widzisz w formularzu ręcznego zamówienia.
3. Bez duplikatów
Integracja może dołączyć do zamówienia jego numer ze swojego systemu (pole external_id). Jeśli to samo zamówienie przyjdzie drugi raz, np. po błędzie sieci, SalesCRM nie założy kopii, tylko odeśle zamówienie, które już ma. Klient nie dostanie podwójnych maili ani dwóch faktur. Poproś osobę od integracji, żeby zawsze przekazywała ten numer.
4. Co musi przyjść w zamówieniu
- e-mail klienta,
- co najmniej jeden produkt z Twojego sklepu i ilość (cenę można podać, domyślnie liczy się aktualna cena produktu),
- sposób dostawy i sposób płatności z Twojego sklepu.
Adres dostawy jest potrzebny tylko wtedy, gdy wysyłasz paczkę. Przy e-booku czy kursie można go pominąć. Gdy nie przyjdą osobne dane do faktury, faktura idzie na dane z adresu dostawy. Pełna lista pól, przykład i kody błędów są w dokumentacji API.
5. Bezpieczeństwo klucza
Klucz z zakresem write_orders pozwala dodać zamówienie jako już opłacone. Kto go ma, może więc wydać pliki, dostęp do kursu albo wystawić fakturę bez płatności. Dawaj go tylko zaufanym integracjom i twórz osobny klucz dla każdej z nich.
Żeby odwołać klucz, wejdź w Integracje → API REST → „Zarządzaj kluczami API” i kliknij „Odwołaj” przy kluczu. Przestaje działać od razu. Więcej o kluczach i ich zakresach w artykule Publiczne REST API.