Użyj własnych numerów (VoIP, API)
Połącz Twilio lub Telnyx — albo dowolny trunk SIP — zaimportuj posiadane numery telefonów i pozwól agentom ThunderPhone odbierać oraz wykonywać na nich połączenia.
Numery demonstracyjne sprawdzają się przy prototypowaniu, ale ruch produkcyjny powinien korzystać z numerów należących do Ciebie, obsługiwanych przez własnego dostawcę VoIP. Ten przewodnik opisuje trzyetapowy proces: testowanie poświadczeń → utworzenie połączenia → import numerów → weryfikacja.
Obsługiwani dostawcy
| Dostawca | Identyfikator provider | Uwagi |
|---|---|---|
| Twilio | twilio | Klucz API + sekret |
| Telnyx | telnyx | Klucz API; dostępne wdrożenie z przewodnikiem (setup_method: guided_telnyx) |
| SignalWire | signalwire | Wkrótce dostępne — obecnie połącz przez ręczny SIP |
| Vonage | vonage | Wkrótce dostępne — obecnie połącz przez ręczny SIP |
| Ręczny SIP | manual | Dowolny trunk SIP — użyj własnej konfiguracji |
1. Testowanie poświadczeń
Przed utworzeniem trwałego połączenia VoIP sprawdź poświadczenia
dostawcy, aby potwierdzić, że działają. Zwraca to
verification_evidence_id, który przekazujesz do kroku tworzenia, aby
poświadczenia nie zostały dwukrotnie obciążone za testowanie.
curl -X POST https://api.thunderphone.com/v1/voip-connections/test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "telnyx",
"credentials": { "apiKey": "KEY...", "connectionId": "123456" },
"sip_config": { "domain": "acme.sip.telnyx.com" }
}'{
"status": "pass",
"verification_evidence_id": "b9a2...",
"suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
"checks": {
"credentials_valid": true,
"inbound_reachable": true,
"outbound_authorized": true
}
}Jeśli którakolwiek kontrola się nie powiedzie, status odpowiedzi będzie mieć wartość fail, a checks
pokaże, który krok zakończył się błędem. Popraw konfigurację po stronie dostawcy (przypisanie
trunku, lista dozwolonych adresów IP, autoryzacja połączeń wychodzących) i spróbuj ponownie.
2. Utwórz połączenie
Przekaż otrzymany przed chwilą verification_evidence_id:
curl -X POST https://api.thunderphone.com/v1/voip-connections \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Telnyx Main",
"provider": "telnyx",
"setup_method": "api_key",
"credentials": { "apiKey": "KEY...", "connectionId": "123456" },
"sip_config": { "domain": "acme.sip.telnyx.com" },
"verification_evidence_id": "b9a2..."
}'Odpowiedź to obiekt VoipConnection
ze stanem status="connected". Poświadczenia są przechowywane po stronie serwera i nigdy
nie są zwracane jawnym tekstem przez kolejne żądania GET — aby je zmienić, wykonaj nowe
test i użyj PATCH z nowymi danymi weryfikacyjnymi.
3. Wyświetl i zaimportuj numery
Sprawdź numery widoczne dla Twoich poświadczeń, które nie znajdują się jeszcze w organizacji ThunderPhone:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Następnie zaimportuj wybrane numery:
curl -X POST https://api.thunderphone.com/v1/voip-connections/5/import-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers": ["+15550001234", "+15550009999"]}'Każdy import staje się zasobem numeru telefonu
w Twojej organizacji z source="voip" i status="provisioning".
4. Zweryfikuj każdy zaimportowany numer
Importowanie rejestruje numer jako dostępny; faktyczne kierowanie przez niego połączeń wymaga weryfikacji w obie strony (kontrola połączenia przychodzącego + test autoryzacji połączeń wychodzących).
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Po powodzeniu voip_verification_status zmienia się na verified, a
numer otrzymuje status="active". W przypadku niepowodzenia odpowiedź określa,
co się nie udało — popraw to (często jest to brak przypisania trunku w
panelu dostawcy) i wywołaj ponownie.
5. Przypisz agentów i wykonaj połączenie
Po zweryfikowaniu numeru przypisujesz agentów połączeń przychodzących / wychodzących tak samo jak do numeru demonstracyjnego. Zobacz Obsługa połączeń przychodzących oraz Wykonywanie połączeń wychodzących.
Rotacja danych uwierzytelniających
Gdy klucz dostawcy zostanie zmieniony, ponownie wykonaj proces testowania, a następnie aktualizacji:
# 1. Test the new credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/test ...
# 2. PATCH the connection with the new evidence
curl -X PATCH https://api.thunderphone.com/v1/voip-connections/{id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"credentials": { "apiKey": "NEW_KEY..." },
"verification_evidence_id": "fresh-evidence-id"
}'Połączenie pozostaje na miejscu — nie musisz ponownie importować numerów.