Błąd dostarczenia wiadomości SMS w C# SMS API

Raporty dostarczenia SMS dla nieudanych wiadomości są obsługiwane w ten sam sposób w C# SMS API co raporty dostarczenia SMS dla udanych wiadomości. Jedyna różnica polega na tym, że Brama SMS Ozeki wywołuje zdarzenie OnMessageDeliveryFailed i dołącza komunikat błędu do raportu, jeśli sieć komórkowa zwróci raport dostarczenia ze statusem nieudanym.

C# SMS API - nieudane dostarczenie SMS
Rysunek 1 - C# SMS API - nieudane dostarczenie SMS

Zdarzenie nieudanego dostarczenia SMS w C#/.Net SMS API

Zdarzenie nieudanego dostarczenia SMS w C# SMS API występuje, gdy sieć komórkowa uzna wiadomość SMS za niemożliwą do dostarczenia. Może się to zdarzyć, jeśli telefon docelowy nigdy nie jest włączony lub znajduje się w roamingu w niedostępnej sieci. Niektórzy dostawcy usług SMS nie wysyłają raportów dostarczenia ze statusem nieudanym.

Aby obsłużyć raport nieudanego dostarczenia SMS w C# SMS API, wykonaj następujące kroki:

  • Zasubskrybuj zdarzenie OnMessageDeliveryFailed w swojej klasie C# SMS API
  • Napisz kod C# do przetwarzania raportu nieudanego dostarczenia SMS
  • Wyślij SMS i zapisz identyfikator wiadomości SMS.
  • Przetwórz przychodzący raport nieudanego dostarczenia SMS w swojej klasie C# SMS API

Przykład raportu nieudanego dostarczenia SMS w C# SMS API:

Client.OnMessageDeliveryFailed += Client_OnMessageDeliveryFailed;

static void Client_OnMessageDeliveryFailed(object sender, OzxArgs<string, DateTime, string> e)
{
    Console.WriteLine("Dostarczenie wiadomości nieudane. ID: " + e.Item1 + " Data: " + e.Item2 + " Powód: " + e.Item3);
}

C#/.NET SMS API otrzymuje datę niepowodzenia oraz kod błędu, oprócz identyfikatora wiadomości SMS oryginalnie wysłanej wiadomości.

W przypadku konfiguracji Bramy SMS dla Androida, to zdarzenie jest odbierane, gdy telefon z Androidem otrzyma raport nieudanego dostarczenia. Jeśli Serwer SMS działa na PC, to zdarzenie nieudanego dostarczenia SMS zostanie wywołane, gdy raport nieudanego dostarczenia zostanie odebrany przez skonfigurowane połączenie z siecią komórkową.

More information