= Opis przypadków użycia API = === Zastanowić się co z poniższych zaimplementować jako API a co pozostawić do edycji za pomocą formularza WWW === == 1. Dane klienta (formularz www?) == * migrujemy klientów do nowego systemu z ostatniego roku (z ogłoszeniami z ostatniego roku...) * zachowujemy ID klienta * edycja klienta i jego danych potrzebnych w systemie www przez formularz www widoczny pod CTB * dodawanie klienta przez formularz www - dodajemy tylko w nowym systemie! * wyszukiwanie freetext'owe klienta + wyszukiwanie po ID oraz kolekcji ID * rabat, kredyt kupiecki - ustalić gdzie to trzymać == 2. Abonamenty (formularz www, poza dodaniem do gazety?) == * dodanie i edycja abonamentu za pomocą formularza www - nie jest to operacja zbyt częsta, więc można za pomocą formularza www. * ważne aby to poprawnie zsynchronizować w CTB aby było widoczne do przypomnień o kończącym się abo oraz do fakturowania. * dodawanie ogłoszenia do gazety na podstawie ogłoszenia abonamentowego - opisać workflow. == 3. Ogłoszenia (API?) == === a) zapytanie o cenę === * handlowiec tworzy nowe ogłoszenie, w między czasie CTB wysyła zapytanie o cenę dla tego ogłoszenia, podając tylko parametry cenotwórcze tego ogłoszenia, API zwraca cenę za to co jest w request. === b) dodanie nowego ogłoszenia === * gdy klient akceptuje to wówczas wysyła ostateczny zestaw ogłoszeń wraz ze wszystkimi danymi ogłoszenia (parametrami i wartościami), na tej podstawie jest tworzone zamówienie i automatem jest realizowane === c) wznowienia === * gdy wznawiamy to CTB wysyła ID ogłoszenia po naszej stronie - my robimy update danych (jeśli to konieczne) oraz tworzymy zamówienie wraz ze szczegółami odpowiadającymi danym cenotwórczym tego ogłoszenia. * zdefiniować czy zawsze wysyłamy wszystkie dane, czy tylko te które się zmieniły dla wznowień. === d) info o zamówieniu === * po dodaniu nowych, wznowieniu starych, jako response metody zatwierdzającej zamówienie zwracamy info o zamówieniu i jego szczegółach * na podstawie tego response system CTB ma okazję do update / insert danych bilingowych do fakturowania == 4. Snapshot do gazety == * system ogłoszeń do gazety byłby odpowiedzialny za wywołanie metody zwracającej listę wszystkich aktualnych ogłoszeń mających ukazać się w gazecie przed zamknięciem gazety * do zrobienia metoda zwracająca wszystkie aktualne ogłoszenia gazetowe wraz z wszystkimi info potrzebnymi systemowi gazetowemu * system gazetowy nie przechowuje już krotności - przechowuje jeden rekord (snapshot) dla każdego ogłoszenia na wydanie - dzięki temu jedno i to samo ogłoszenie może inną treść gazetową w różnych wydaniach gazetowych bez potrzeby korekty po stronie systemu gazetowego