To działająca system CRM do automatyzacji biznesu z dostawą wody. CRM jest używane do pracy z klientami, zamówieniami, dostawami, towarami, płatnościami, menedżerami, kurierami oraz wewnętrznymi procesami biznesowymi.
Potrzebne jest opracowanie API dla systemu CRM oraz przygotowanie architektury dla zewnętrznych integracji.
Celem projektu:
stworzyć skalowalny system integracji, aby w przyszłości CRM mogło współpracować z:
- systemami płatności;
- systemami księgowymi;
- serwisami faktur podatkowych;
- elektronicznym obiegiem dokumentów;
- gospodarką magazynową;
- usługami bankowymi;
- SMS;
- Telegram;
- telefonią;
- innymi zewnętrznymi serwisami.
Ważne:
nie chodzi tylko o "wbudowanie" jednej integracji, ale o stworzenie odpowiedniej architektury API oraz warstwy integracyjnej dla dalszej skalowalności systemu.
Architektura, która jest potrzebna
Pożądana logika:
CRM → API CRM → warstwa integracyjna → zewnętrzne serwisy.
Integracje nie powinny być sztywno wbudowane w CRM.
Trzeba stworzyć architekturę tak, aby w przyszłości można było oddzielnie podłączać:
- nowe systemy płatności;
- nowe systemy księgowe;
- gospodarkę magazynową;
- SMS;
- Telegram;
- inne serwisy bez przeróbek rdzenia CRM.
Główne zadania
1. Audyt techniczny CRM
Przed rozpoczęciem prac należy:
- zbadać aktualne CRM;
- określić stos technologii;
- ocenić architekturę;
- ocenić strukturę bazy danych;
- określić aktualne encje;
- sprawdzić, czy istnieje już API;
- określić słabe punkty;
- ocenić ryzyka;
- zaproponować optymalną architekturę API oraz warstwy integracyjnej.
2. Formowanie listy niezbędnych informacji
Po analizie CRM wykonawca ma:
- określić, jakich informacji brakuje;
- przygotować usystematyzowaną listę tego, co potrzebne od zamawiającego;
- opisać, jakie dostępności i dane są potrzebne do realizacji API oraz integracji.
3. Projektowanie API CRM
Trzeba stworzyć API do pracy z:
Klientami
- osoby fizyczne;
- osoby prawne;
- imię i nazwisko / nazwa firmy;
- NIP / REGON;
- kontakty;
- adresy dostawy;
- status płatnika VAT.
Zamówieniami
- numer zamówienia;
- data;
- towary;
- ilość;
- cena;
- VAT;
- sumy;
- statusy;
- dostawa;
- odpowiedzialni menedżerowie.
Towarami
- nazwa;
- artykuł;
- cena;
- jednostki miary;
- stawki VAT;
- kategorie.
Płatnościami
- kwota;
- status;
- data;
- sposób płatności;
- ID transakcji;
- błędy płatności.
Dokumentami
- faktury;
- akty;
- dokumenty wydania;
- faktury VAT;
- statusy dokumentów;
- błędy;
- linki do dokumentów.
Danymi magazynowymi
- stany;
- odpisy;
- ruch towarów;
- zwroty opakowań;
- statusy magazynowe.
4. Realizacja API
Trzeba zrealizować lub przygotować strukturę REST API.
Pożądane:
- wersjonowanie API;
- JSON;
- znormalizowane odpowiedzi;
- obsługa błędów;
- logowanie;
- skalowalna struktura.
5. Webhooki i callbacki
CRM powinna:
## Wysyłać zdarzenia:
- client.created
- client.updated
- order.created
- order.updated
- order.paid
- order.cancelled
- order.delivered
- payment.created
- payment.success
- payment.failed
- document.created
- document.status_changed
- stock.updated
Przyjmować callback / webhook:
- udana płatność;
- błąd płatności;
- tworzenie dokumentu;
- rejestracja dokumentu;
- błąd dokumentu;
- aktualizacja stanów magazynowych;
- inne statusy.
6. Integracja z systemami płatności
API musi być przygotowane do integracji z:
- LiqPay;
- PrivatBank;
- WayForPay;
- Fondy;
- Stripe;
- innymi serwisami płatniczymi.
Logika:
klient płaci → system płatności zwraca callback → CRM aktualizuje status zamówienia i płatności.
7. Integracja z systemem księgowym
W wyniku pracy musi być zrealizowana przynajmniej jedna działająca integracja z systemem księgowym.
Pożądana opcja:
- Wczasie;
- lub M.E.Doc;
- lub BAS.
Ostateczny wybór zostanie określony po analizie CRM oraz procesów biznesowych.
8. Co ma działać w pierwszej integracji
Trzeba zrealizować przynajmniej:
- przesył klienta;
- przesył zamówienia;
- przesył towarów;
- przesył płatności;
- przesył statusu płatności;
- tworzenie dokumentu;
- uzyskanie statusu dokumentu;
- zwrot statusu do CRM;
- logowanie błędów oraz udanych operacji.
Pożądane:
- wsparcie VAT;
- osób prawnych;
- faktur;
- dokumentów wydania;
- faktur VAT.
9. Integracja z gospodarką magazynową
API musi być przygotowane do przyszłej integracji z systemami magazynowymi.
Trzeba przewidzieć:
- stany;
- ruch towarów;
- odpisy;
- zwroty opakowań;
- aktualizację stanów;
- synchronizację magazynu.
10. Autoryzacja i bezpieczeństwo
Trzeba zrealizować:
- klucze API lub OAuth;
- oddzielne klucze dla integracji;
- role i prawa dostępu;
- HTTPS;
- logowanie zapytań API;
- środowisko testowe i produkcyjne;
- ochronę danych osobowych;
- możliwość wycofania kluczy API.
11. Dokumentacja
Trzeba przygotować:
- dokumentację Swagger / OpenAPI lub kolekcję Postman;
- przykłady zapytań;
- przykłady odpowiedzi;
- opis błędów;
- opis webhooków;
- instrukcję do podłączenia nowych integracji.
Ważne warunki
Wszystkie prace muszą być wykonywane na testowej kopii CRM lub środowisku stagingowym.
System produkcyjny nie może ucierpieć podczas rozwoju.
Bez zgody nie można:
- przeprowadzać rzeczywistych płatności;
- tworzyć rzeczywistych faktur VAT;
- wysyłać rzeczywistych SMS-ów lub e-maili;
- zmieniać produkcyjnej bazy danych.
Co potrzebne od wykonawcy
Przy odpowiedzi na projekt proszę wskazać:
- jakie doświadczenie macie w tworzeniu API;
- doświadczenie w integracjach z CRM / ERP / SaaS;
- doświadczenie w integracjach z systemami płatności;
- doświadczenie w integracjach z BAS / M.E.Doc / Wczasie;
- jaką architekturę proponujecie;
- jaki system księgowy rekomendujecie do pierwszej integracji i dlaczego akurat ten;
- jakie dane są potrzebne do startu;
- orientacyjną ocenę czasową;
- orientacyjną cenę;
- możliwe ryzyka;
- przykłady podobnych projektów.
Co będzie dostarczone przez zamawiającego
Po analizie CRM wykonawca ma stworzyć listę niezbędnych informacji.
- przykłady klientów;
- przykłady zamówień;
- przykłady płatności;
- przykłady towarów;
- przykłady dokumentów;
- opis procesów biznesowych;
Oczekiwany rezultat
Po zakończeniu pracy powinno być:
- działające API CRM;
- dokumentacja API;
- webhooki;
- obsługa callbacków;
- logowanie integracji;
- testowe klucze API;
- przygotowana architektura do skalowania;
- przynajmniej jedna działająca integracja z systemem księgowym;
- możliwość dalszego podłączania systemów płatności, magazynowych i innych serwisów bez przeróbek CRM.