Axivox Przewodnik użytkownika
Powrót do strony

Zapytanie Odoo

Odpytuje twoje Odoo w trakcie połączenia i zapisuje odpowiedź w zmiennych: status zamówienia, saldo, datę spotkania, aby następnie kierować połączenie.

W skrócie

WyjściaOK i Błąd
PolaInstancja Odoo, Timeout, Model, Metoda, Args (JSON), Kwargs (JSON), oraz tabela ekstrakcji Zmienna i Ścieżka JSON
Proponowany timeout2, 3, 5 albo 8 s, domyślnie 5 s
Rzeczywiście stosowany timeoutmaksymalnie 8 sekund
Metoda proponowana przy tworzeniusearch_read
Bezpiecznik5 kolejnych niepowodzeń na tym samym serwerze otwiera obwód na 30 sekund
Próba przed wdrożeniemprzycisk Testuj, który rzeczywiście odpytuje twoje Odoo

Tekst pomocy wyświetlany w oknie to: „Wywołuje execute_kw(model, metoda, args, kwargs) na Odoo. args/kwargs = JSON ze zmiennymi {{zmienna}} ({{caller_e164}} = formaty E.164 dzwoniącego). Wyodrębnia odpowiedź JSON do zmiennych. Wyjście „Błąd”, jeśli Odoo zawiedzie albo przekroczy timeout.”

Jak to działa

To najbardziej techniczny moduł z całego zestawu. Tam gdzie Odoo, rozpoznanie kontaktu odpowiada na jedno, gotowe pytanie, ten moduł zadaje dowolne pytanie twojemu Odoo. W zamian trzeba wiedzieć, gdzie w Odoo znajduje się informacja.

Cztery pola pytania

PoleCo to jestPrzykład
Modelwewnętrzna nazwa tabeli Odoo, którą się odpytujeres.partner dla kontaktów
Metodato, o co pytasz tę tabelęsearch_read, aby wyszukać, a potem odczytać
Args (JSON)argumenty, w praktyce filtr wyszukiwania[[["phone_sanitized","in","{{caller_e164}}"]]]
Kwargs (JSON)opcje nazwane: jakie pola odczytać, ile wierszy{"fields":["name","user_id"],"limit":1}

Nazwę modelu można odczytać w Odoo, włączając tryb deweloperski, albo zapytać osobę, która administruje twoim Odoo. To jedyny punkt tej strony, którego nie da się wymyślić samemu.

JSON w jednym zdaniu

Args i Kwargs zapisuje się w formacie JSON, w którym nawiasy kwadratowe [ ] wyznaczają listę, nawiasy klamrowe { } zbiór nazwanych pól, a każdy tekst jest ujęty w cudzysłów prosty. Zapomniany przecinek albo niedomknięty nawias klamrowy wystarczą, aby zapytanie się nie powiodło.

Zmienne w pytaniu

Wpisz {{moja_zmienna}} w dowolnym miejscu Args albo Kwargs. Przydatny niuans: zmienna ujęta w cudzysłów, jak "{{caller_e164}}", jest zastępowana swoją wartością w formacie JSON, razem z cudzysłowem. Lista pozostaje więc listą, co pozwala napisać filtr typu „telefon jest wśród tych zapisów”.

Ekstrakcja

Dolna tabela wiąże Ścieżkę JSON z nazwą Zmiennej. Poziomy oddziela się kropkami; listy liczy się od zera. search_read odpowiada listą, więc ścieżka pierwszego wyniku zaczyna się od 0.: 0.name oznacza nazwę pierwszego znalezionego kontaktu.

Ścieżka pozostawiona pusta zwraca całą odpowiedź. To niezbędne dla metod, które odpowiadają liczbą albo słowem bez struktury dookoła, jak liczenie: bez tego zmienna pozostałaby pusta, a warunek, który ją sprawdza, byłby zawsze fałszywy.

Bezpiecznik

Podobnie jak w Zapytaniu API, po 5 kolejnych niepowodzeniach wobec tego samego serwera, moduł przestaje go odpytywać przez 30 sekund i natychmiast bierze wyjście Błąd, bez zapytania. Pierwszy sukces zeruje licznik.

Co należy uzupełnić

PoleCzego się oczekujeJeśli zostawisz puste
Instancja OdooOdoo do odpytania, spośród zadeklarowanych w Integracje, OdooInstancja domyślna, instancja rozpoznawania zadeklarowana dla twojej instalacji
Timeoutczas oczekiwania, ograniczony do 8 s maksymalnie przy wykonaniu5 s
Modelnazwa modelu Odoo, na przykład res.partnerwyjście Błąd zostaje użyte, bez wysłania jakiegokolwiek zapytania
Metodametoda do wywołania, wstępnie uzupełniona search_readwyjście Błąd zostaje użyte, bez wysłania jakiegokolwiek zapytania
Args (JSON)argumenty, w poprawnym JSONpusta lista
Kwargs (JSON)opcje nazwane, w poprawnym JSONbrak opcji
Zmienna ekstrakcjinazwa, pod którą zapisać odczytaną wartośćlinia zostaje zignorowana
Ścieżka JSON ekstrakcjiścieżka do wartości, na przykład 0.namecała odpowiedź zostaje zapisana w zmiennej

Przyciski okna to Dodaj ekstrakcję, Testuj, Anuluj i Zapisz.

Jak to zrobić krok po kroku

  1. Sprawdź, czy twoje Odoo jest podłączone, w Integracje, Odoo, i czy instancja jest tam aktywna.
  2. Zidentyfikuj w Odoo model i pola, które niosą poszukiwaną informację. Poproś o pomoc osobę administrującą twoim Odoo, jeśli to konieczne.
  3. Umieść moduł Zapytanie Odoo i połącz poprzedni węzeł z jego wejściem.
  4. Otwórz go, wybierz Instancję Odoo i ustaw Timeout na najkrótszy czas: dwie do trzech sekund, dzwoniący czeka na linii.
  5. Wpisz Model i Metodę.
  6. Napisz Args (JSON) i Kwargs (JSON), ograniczając liczbę odczytywanych wierszy przez "limit":1, gdy jeden wystarcza.
  7. Kliknij Dodaj ekstrakcję i powiąż Ścieżkę JSON z nazwą Zmiennej.
  8. Kliknij Testuj, uzupełnij zmienne próbne, a następnie Uruchom. Popraw, aż uzyskana wartość będzie prawidłowa.
  9. Kliknij Zapisz, a następnie połącz OK z dalszym ciągiem, a Błąd z rozwiązaniem zapasowym, które obsługuje połączenie bez tej danej.
  10. Kliknij Zapisz, a następnie Zastosuj zmiany w górnym pasku.
  11. Zadzwoń pod swój numer i sprawdź trasę połączenia, pomagając sobie modułem Debugowanie, który zapisuje wyodrębnione zmienne.

Jeśli coś nie działa

Wyjście Błąd zostaje użyte natychmiast, bez wysłania jakiegokolwiek zapytania. Trzy przyczyny. Model albo Metoda jest pusta. Wybrana instancja Odoo już nie istnieje albo nie jest już aktywna. Albo bezpiecznik jest otwarty, po pięciu kolejnych niepowodzeniach, na trzydzieści sekund.

Zapytanie się nie powodzi, mimo że JSON wydaje mi się poprawny. Musi pozostać poprawny po podstawieniu zmiennych, i to właśnie tam powstaje większość błędów. Kliknij Testuj: ekran wyświetla rzeczywiście wysłane zapytanie, args i kwargs po podstawieniu. Aby zmienna została zastąpiona swoją wartością JSON, ujmij ją w cudzysłów: "{{caller_e164}}".

Wyodrębniona zmienna pozostaje pusta, mimo że odpowiedź zawiera daną. Ścieżka nie pasuje. search_read odpowiada listą: zacznij od 0. dla pierwszego elementu. Metoda, która odpowiada samą liczbą, wymaga za to ścieżki pustej. Kolumna Uzyskana wartość próby sygnalizuje puste ekstrakcje.

Próba prosi mnie o potwierdzenie przed wysłaniem. Żądana metoda zapisuje w Odoo, zamiast tylko odczytywać. Próba wykonuje się naprawdę na twoim produkcyjnym Odoo: potwierdź tylko, jeśli akceptujesz ten zapis.

Połączenie kończy się, gdy Odoo odpowiada źle. Wyjście Błąd nie jest z niczym połączone. Ten moduł nie ma automatycznego rozwiązania zapasowego modułu rozpoznawania kontaktu: połącz Błąd, przynajmniej ze zwyczajowym powitaniem.

Jak powstaje plan połączeń, wyjaśnione na obrazach

Zobacz stronę Plany numeracji