2013-04-25 27 views
5

Tworzę aplikację internetową, która używa twilio i wydaje mi się, że mam problem.Twilio: Jak zmapować odpowiedź SMS na oryginalną wiadomość SMS

System składa się z 3 podmiotami:

  • Fizyczny klient
  • serwerze fizycznym
  • Nasza aplikacja internetowa

Gdy klient tworzy nową "pracę" za pośrednictwem formularza , wszystkie szczegóły zlecenia będą wysyłane w tekście do wielu różnych serwerów. Gdy którykolwiek z serwerów odpowie na tę wiadomość tekstową, musimy mieć możliwość powiązania jego odpowiedzi z konkretną "pracą", na którą odpowiedział. Problem polega na tym, że nie mogę wymyślić, jak to zrobić, nie kupując numeru dla każdej pracy i po prostu przypisując każdy numer do pracy. Jeśli to możliwe, chciałbym użyć tylko jednego numeru, ponieważ zakup tysięcy numerów jest całkowicie marnotrawny i niemożliwy.

Odpowiedz

8

Cookies are the best way to handle a conversation, ale ponieważ nie można stwierdzić, na którą wiadomość tekstową odpowiada serwer, może to być trudne. Jeśli wyślesz 2 zadania serwera i zdecydują się odpowiedzieć na pierwsze zadanie, nie masz możliwości o tym wiedzieć.

Chyba masz dwie sensowne sposoby robienia tego:

  • dać każdemu praca kodu referencyjnego (2 lub 3 cyfry, aby to łatwe), które serwer może odpowiedzieć. Jest to najbardziej niezawodny sposób na zrobienie tego.
  • Użyj wielu - ale nie wielu - numerów telefonów. Tak więc w ciągu jednego dnia lub kilku godzin serwer wysyła tylko jedno zadanie na numer. Następnie możesz oddać do recyklingu pulę liczb i ponownie użyć ich po upływie limitu czasu pracy. To zależy raczej od tego, jakie są twoje oczekiwania.
+0

ah tak, myślałem o tym. Wygląda na to, że mogę po prostu nadać każdemu miejscu pracy id. Dziękuję Ci. – user2158382

+1

+1 za pomysł na pulę numerów telefonów. Lubię to! –

5

Dobrze według Twilio, odpowiedź jest użycie ciasteczek:

http://www.twilio.com/docs/quickstart/php/sms/tracking-conversations

Podobnie jak w aplikacjach internetowych, plik cookie jest małym plikiem, że aplikacja może przechowywać na serwerach Twilio do śledzenia informacji, takich jak nazwa użytkownika lub konto. W przypadku Twilio SMS, pliki cookie są ograniczone do "konwersacji" między dwiema stronami - możesz mieć unikalny plik cookie dla każdej pary numerów Do/Z telefonu. Na przykład możesz przechowywać unikatowy plik cookie dla wszystkich wiadomości wysyłanych między 415-555-2222 i 415-555-1111, które będą inne niż pliki cookie używane między 415-555-3333 i 415-555-1111.

+0

To zadziała, jeśli nie będziesz musiał śledzić wielu rozmów między 2 liczbami. Powiedz, jeśli 415-555-2222 i 415-555-1111 wymieniają wiadomości o 2 różnych osobach. –

+0

Nie jestem pewien, gdzie jest ustawiony plik cookie. Jeśli przeszukasz stronę "cookie", termin nie pojawia się nigdzie w kodzie. czego mi brakuje? –

1

wpadłem na to niedawno, i znalazłem artykuł, który wyjaśnia całkiem dobrze używając pojęcia basen że @xmjw wspomniany

How users can send text messages to each other over Twilio

Choć aplikacja jest inna koncepcja tutaj jest swego rodzaju podobnie. Dla każdego, kto mógłby natknąć się na to pytanie i potrzebować innych rozwiązań.

W moim rozwiązaniu działałem, generując unikalne kody odpowiedzi. Następnie w odpowiedzi mogłem zapytać o kod odpowiedzi i numer od, aby odnieść się do oryginalnego tekstu. W moim przypadku był to jednak człowiek po obu stronach. Gdyby jedna strona była zautomatyzowana jak serwer, mógłbyś przeanalizować tekst pod kątem kodu, a następnie zwrócić go z tym kodem. Wtedy wystarczy SELECT * FROM messages WHERE code = ?.

Powiązane problemy