Börja här
Din första förfrågan i fyra steg
Anslut och aktivera WhatsApp för en mobil som stöds.
Bekräfta mottagaren med nummerkontroll endpoint.
Skicka med Waonly=ja.
För att hämta mottagna meddelanden: aktivera samling, ring /getwa / synkronisering /, vänta på återhämtning, sedan ring /getwa.
OBLIGATORISKT INNAN DU HÄMTAR MOTTAGNA MEDDELANDEN
Begär WhatsApp synkronisering först.
Innan du ringer/getwaför att visa mottagna WhatsApp-meddelanden måste du begära ett synkroniseringsfönster genomhttps://api.smsmobileapi.com/getwa/synchronisation/. Detta explicita steg krävs för att garantera utbytet mellan WhatsApp och SMSMobileAPI. Vänta på återhämtning, ring/getwa.
Officiell mobilapplikation
Den säkra bron mellan din telefon, instrumentpanel och API.
SMS och samtalsoperationer passerar genom den officiella SMSMobileAPI-appen installerad på din anslutna telefon. Appen parar säkert enheten med ditt konto, synkroniserar auktoriserade händelser och länkar mobilnätet till instrumentpanelen och REST API.
- Signerade releaser som distribueras via de officiella listorna Google Play och Apple App Store
- Google och Apple plattformsgranskning, signering och distributionskontroller
- Säkra enhet parning, HTTPS transport och autentiserad API tillgång
- Endast de behörigheter som krävs för de mobila funktionerna du aktiverar
WEBHOOK V2 FÖR DETTA API
Prenumerera endast på de mobilhändelser ditt arbetsflöde behöver.
En destination kan ta emot allt, eller så kan du separera produktionssystem, analyser och operationella varningar. Varje händelse har ett precist namn så att din applikation kan hantera den förutsägbart.
whatsapp.submittedWhatsApp inlämnat
Ett sändningsjobb för WhatsApp skapades.
whatsapp.sentWhatsApp skickat
Den anslutna WhatsApp-miljön bekräftade att meddelandet skickades.
whatsapp.failedWhatsApp misslyckades
Sändningsoperationen för WhatsApp misslyckades.
whatsapp.receivedWhatsApp mottaget
Ett WhatsApp-meddelande hämtades efter att kontot begärde synkronisering.
whatsapp.voice.transcribedRöstmeddelande transkriberat
Ett hämtat WhatsApp-röstmeddelande som uppfyllde villkoren konverterades till användbar text.
Autentisering
Hålla referenser på din server
Använd apikey för direkta integrationer. OAuth2-klientuppgifter är tillgängliga för server-side-applikationer; begära en token och skicka den som auktorisation: Bearer ACCESS TOKEN.
Historia management
Tydlig historia säkert: förhandsgranskning, radera, följ framsteg
Dessa slutpunkter rensar den valda serverhistoriken för din API-nyckel, inte meddelanden på telefoner eller externa tjänster. De ger inte konto radering. Ny aktivitet kan dyka upp efter radering.
Läs request_id och retry guide
Som standard, länkade eller bearbetningsregister förblir synliga. Använd endast include_linked=1 om du accepterar att integrationer eller pågående bearbetning kan sluta fungera.
Hur request_id fungerar
- Förhandsgranska räkningarna med action=preview. Ingen request_id behövs och inga poster raderas.
- Skapa en unik request_id för en ny radering, till exempel en UUID. Spara det innan du skickar action=delete.
- För retries, timeouts eller HTTP 202, återanvända samma API nyckel, historia endpoint, request_id och include_linked värde. Aldrig generera ett nytt ID automatiskt efter ett fel.
- När completed=true är operationen klar. Återanvändning av ID returnerar samma resultat istället för att ta bort nykomna poster. Använd ett nytt ID endast för en medvetet ny rengöring.
request_id identifierar din radering, inte en enskild SMS. Tillåtet format: 16–128 ASCII-brev, siffror, hyfs eller understruktioner. En UUID som genereras med crypto.randomUID() är lämplig.
Raderingen sker i omgångar. Vid HTTP 202 med continue_required=true ska action=delete upprepas efter 3 sekunder. Inget cron-jobb körs i bakgrunden. action=status läser bara förloppet och fortsätter inte raderingen, även om svaret är HTTP 200.
radering och statusexempel
Byt ut provet request_id med ditt eget unika värde innan du börjar. Följande raderingsförfrågningar ändrar riktig kontohistorik; de är inte förhandsgranskningar.
curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
-H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -G "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=status" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"GET accepterar också action=preview eller action=delete.. POST rekommenderas: URL-parametrar kan läcka in i webbläsarhistorik och serverloggar. Placera aldrig en raderingsadress i en offentlig länk, bild eller prefetch.
För POST, skicka alla parametrar i formkroppen eller ett JSON-objekt, aldrig i fråga strängen. Okända parametrar avvisas; datum eller mobila filter stöds inte.
Autentisering för historia slutpunkter
Använd apikey eller en Authorization: Bearer-åtkomsttoken som utfärdats av SMSMobileAPI OAuth2. Skicka inte en uppdaterad token eller en API-nyckel som en Bearer-token. Utgångna tokens vägras.
När omfattningar är inställda tillåter history:read förhandsgranskning/status och history:delete också radering. Begränsningar på både token och OAuth-klienten gäller. Legacy tokens utan omfattningar behåller sin befintliga kontoåtkomst.
OAuth2 väljer den unika primära API-nyckeln. Om flera primärnycklar finns, ge också apikey att välja en som tillhör kontot. Sekundära nycklar ger aldrig tillgång till den primära nyckelhistorien.
Läs svaret innan du fortsätter
count_delete är det kumulativa numret som tas bort av denna operation. selected_at_start är det första urvalet; protected_at_start räknas exkluderade poster. Användning preview.linked_or_processing räkna länkade poster även när include_linked=1..
{
"result": {
"error": 0,
"history": "whatsapp-sent",
"action": "delete",
"request_id": "6d54ac58-41f1-4fbc-9a39-6e6c86089451",
"status": "processing",
"completed": false,
"count_delete": 100,
"total_before": 250,
"selected_at_start": 200,
"protected_at_start": 50,
"include_linked": 0,
"continue_required": true,
"message": "Repeat GET or POST with the same request_id and include_linked to continue. Status requests do not run deletion."
}
}- 200 med completed=true: färdig. Enbart 200 förhandsgranskning eller statusrespons bevisar inte slutförandet.
- 400 INVALID_REQUEST_ID: Kontrollera formatet. 404 REQUEST_NOT_FOUND: Ingen operation existerar för denna ID, API nyckel och historia.
- 401: ogiltig eller utgången referenser. 403: otillräcklig OAuth-omfattning eller obehörigt konto.
- 409 HISTORY_BUSY: en annan rengöring körs; fortsätt den från den ursprungliga klienten. 409 INCLUDE_LINKED_CONFLICT: återställa det ursprungliga include_linked-värdet.
- 409 OAUTH_ACCOUNT_AMBIGUOUS: ge en API-nyckel som tillhör detta konto.
- 503 eller nätverksavbrott: vissa partier kan redan slutföras. Konfiguration, sedan retry med den ursprungliga request_id. Skapa inte en ersättningsoperation automatiskt.
POST · Få
Skicka ett WhatsApp-meddelande
https://api.smsmobileapi.com/sendsmsSkickar en WhatsApp-text eller stöds av media genom den uppkopplade miljön.
Använd den för enskilda mottagare eller en instrumentpanel kontaktgrupp.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Nödvändig | Din API-nyckel; utelämna när du använder en Bearer-token. |
recipients |
Telefon telefon | Nödvändig | Landskod plus nummer, utan + eller 00. |
message |
Sträng | Nödvändig | Textkropp; flera linjer stöds. |
waonly |
ja | Nödvändig | Måste vara ja för att begära WhatsApp-bara leverans. |
url_media |
HTTPS URL | Optionell | Offentlig PDF, dokument, arkiv eller JPG/PNG-URL. |
url_media_shorted |
ja | Optionell | Använd en förkortad nedladdningsadress med PDF förhandsgranskningsläge. |
pdf_with_image |
ja | Optionell | Lägg till en bild förhandsvisning för en PDF. |
encrypt_message |
ja | Optionell | Kräver mottagare-side decryption. |
contactGroup |
GUID | Optionell | Skicka till varje kontakt i en instrumentpanel grupp. |
Begär exempel
curl -X POST "https://api.smsmobileapi.com/sendsms?waonly=yes" \
-d "apikey=YOUR_API_KEY" \
-d "recipients=191728660" \
--data-urlencode "message=Your order is ready."
Exempel svar
{
"result": {
"error": 0,
"sent": "1",
"id": "MESSAGE_GUID",
"send_with_whatsapp": "1"
}
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Stödda media-adresser måste vara offentliga HTTPS-resurser.
- WhatsApp formatering: *bold *, italic , ~ genomslag ~ och trippel-backtick monospace.
POST · Få
Återförsälj ett osent WhatsApp-meddelande
https://api.smsmobileapi.com/resendwa/Ange ett WhatsApp-meddelande som för närvarande har en felstatus.
Använd den efter att ha diagnostiserat en misslyckad WhatsApp logga inmatning.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Nödvändig | Din API-nyckel. |
guid |
Sträng | Nödvändig | GUID för det misslyckade meddelandet. |
Begär exempel
curl "https://api.smsmobileapi.com/resendwa/?apikey=YOUR_API_KEY&guid=MESSAGE_GUID"
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Endast misslyckade meddelanden är berättigade till återgång.
FÅ
Aktivera inkommande retrieval
https://api.smsmobileapi.com/getwa/active/Aktiverar, deaktiverar eller växlar WhatsApp-meddelandehämtning.
Aktivera samling först. Sedan, innan du hämtar mottagna meddelanden, måste du begära synkronisering genom /getwa / synkronisering /.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Nödvändig | Din API-nyckel. |
statut |
0 | 1 | x | Optionell | 1 aktiverar, 0 deaktiverar, x eller försummelse växlar det aktuella tillståndet. |
Begär exempel
curl "https://api.smsmobileapi.com/getwa/active/?apikey=YOUR_API_KEY&statut=1"
Exempel svar
{
"success": true,
"read_message_active": 1,
"status_note": "Activated"
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Inkommande hämtning är inaktiverad som standard för integritet.
- Aktivering ensam hämtar inte meddelanden: en synkroniseringsförfrågan är obligatorisk innan du använder /getwa för ny mottagen aktivitet.
FÅ
Begäran: begär synkronisering av WhatsApp
https://api.smsmobileapi.com/getwa/synchronisation/Mandatory security step before retrieving received WhatsApp messages. It opens a time-limited synchronization window.
Du måste ringa denna slutpunkt före /getwa när du behöver SMSMobileAPI för att kontrollera WhatsApp för ny mottagna meddelanden. Vänta på återhämtning, ring sedan /getwa.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Nödvändig | Din API-nyckel. |
Begär exempel
curl "https://api.smsmobileapi.com/getwa/synchronisation/?apikey=YOUR_API_KEY"
Exempel svar
{
"error": "0",
"messages": "synchronized",
"expire_at": "2026-03-11 12:27:00",
"expire_at_unix": "1773232020"
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Synkronisering är endast för att ta emot meddelanden. Kalla inte det innan du skickar.
- Svaret returnerar expire at och expire at unix. Begär ett annat synkroniseringsfönster när du behöver samla nyare mottagna meddelanden.
- En synkroniseringsförfrågan är obligatorisk för att skydda utbytet mellan WhatsApp och SMSMobileAPI.
FÅ
Hämta WhatsApp-meddelanden
https://api.smsmobileapi.com/getwaReturns received WhatsApp messages that were recovered during a requested synchronization window.
Obligatorisk förutsättning: aktivera inkommande hämtning, ring https://api.smsmobileapi.com/getwa/synkronisering/först, vänta på återhämtning, ring sedan denna slutpunkt. /getwa börjar inte synkroniseringen.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Nödvändig | Din API-nyckel. |
before |
Unix tidsstamp | Optionell | Returnera poster före denna tidsstämpel. |
date |
YYY-MMM-DD | Optionell | Returnera poster för ett datum. |
message_type |
Text | ljud | Optionell | Filtrera textmeddelanden eller ljudmeddelanden konverterade till text; utelämna för båda. |
Begär exempel
curl "https://api.smsmobileapi.com/getwa/?apikey=YOUR_API_KEY&message_type=text"
Exempel svar
{
"date": "2026-03-11",
"hour": "12:27:00",
"timestamp": "1773232020",
"number": "19176728660",
"contact": "SMSMobileAPI",
"message": "When will I receive my order?",
"guid": "652fcfc0-12a8-46f5-b5ba-9391135b8b4c"
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^
FÅ
Kontrollera ett WhatsApp-nummer
https://api.smsmobileapi.com/whatsapp/checknumber/Kontrollerar om ett telefonnummer finns tillgängligt på WhatsApp.
Använd den innan du skickar för att minska undvikbara misslyckanden.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Nödvändig | Din API-nyckel. |
recipients |
Telefon telefon | Nödvändig | Landskod plus nummer, utan + eller 00. |
Begär exempel
curl "https://api.smsmobileapi.com/whatsapp/checknumber/?apikey=YOUR_API_KEY&recipients=19176728660"
Exempel svar
{
"contact_found_on_whatsapp": "yes",
"recipients": "19176728660"
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^
POSTA
Skapa en OAuth2 åtkomsttoken
https://api.smsmobileapi.com/oauth2/tokenExchanges klientuppgifter för en Bearer token.
Använd den för server-till-server-integrationer där kortlivade referenser föredras.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
grant_type |
Sträng | Nödvändig | Måste vara kund credentials. |
client_id |
Sträng | Nödvändig | Klient-ID från instrumentbrädan. |
client_secret |
Sträng | Nödvändig | Kundhemlighet från instrumentbrädan. |
Begär exempel
curl -X POST "https://api.smsmobileapi.com/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Håll klienten hemlig på din server. Aldrig inkludera det i mobil eller webbläsare kod.
POST · Få
Rensa historiken för skickade WhatsApp-meddelanden
https://api.smsmobileapi.com/delete-history-whatsapp-sent/Clears serverposter av skickade WhatsApp-meddelanden. Det tar inte bort meddelanden från WhatsApp-konversationer.
Använd förhandsgranskning först, kontrollera räknas, sedan uttryckligen begära radering. Detta rensar hela den valda historien för API-nyckeln, utan datum, telefon- eller meddelandefilter.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Optionell | Krävs utan OAuth2. Med OAuth2 väljer du valfritt en API-nyckel som tillhör samma konto. |
action |
Förhandsgranska | ta bort | status | Optionell | preview räknar utan att radera; delete startar eller fortsätter raderingen; status visar endast förloppet. API:ns standard är delete; testverktygets standard är preview. |
include_linked |
0 | 1 | Optionell | Standard 0: hålla länkade eller bearbetningsregister. Ange 1 att inkludera dem, med risk för att bryta integrationer. Håll detta värde oförändrat när du fortsätter en radering. |
request_id |
Sträng | Optionell | Obligatoriskt för delete och status, valfritt för preview. Använd 16–128 ASCII-bokstäver, siffror, bindestreck (-) eller understreck (_). Skapa ett unikt ID för varje ny radering och behåll det vid alla återförsök. Detta är varken ett meddelande-ID eller en API-nyckel. |
Begär exempel
curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=preview" -d "include_linked=0"
radering och statusexempel
Byt ut provet request_id med ditt eget unika värde innan du börjar. Följande raderingsförfrågningar ändrar riktig kontohistorik; de är inte förhandsgranskningar.
curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
-H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -G "https://api.smsmobileapi.com/delete-history-whatsapp-sent/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=status" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"Exempel svar
{
"result": {
"error": 0,
"history": "whatsapp-sent",
"action": "preview",
"total": 120,
"simple": 100,
"linked_or_processing": 20,
"selected": 100,
"include_linked": 0,
"operation_in_progress": false,
"active_include_linked": null
}
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Exemplet ovan är en förhandsgranskning, inte en radering. Räknen är illustrativa; det slutgiltiga urvalet är fastställt när raderingen börjar.
- include_linked=1 kan störa GHL, Zapier, automationer, avregistrera länkar eller leveransspårning. Det kringgår aldrig kontoägande eller lagringsintegritetskontroller.
POST · Få
Rensa historiken för mottagna WhatsApp-meddelanden
https://api.smsmobileapi.com/delete-history-whatsapp-received/Clears serverposter av mottagna WhatsApp-meddelanden. Det kopplar inte bort WhatsApp eller raderar samtal.
Använd förhandsgranskning först, kontrollera räknas, sedan uttryckligen begära radering. Detta rensar hela den valda historien för API-nyckeln, utan datum, telefon- eller meddelandefilter.
Parametrar
| Namn | Typ | Krav | Beskrivning |
|---|---|---|---|
apikey |
Sträng | Optionell | Krävs utan OAuth2. Med OAuth2 väljer du valfritt en API-nyckel som tillhör samma konto. |
action |
Förhandsgranska | ta bort | status | Optionell | preview räknar utan att radera; delete startar eller fortsätter raderingen; status visar endast förloppet. API:ns standard är delete; testverktygets standard är preview. |
include_linked |
0 | 1 | Optionell | Standard 0: hålla länkade eller bearbetningsregister. Ange 1 att inkludera dem, med risk för att bryta integrationer. Håll detta värde oförändrat när du fortsätter en radering. |
request_id |
Sträng | Optionell | Obligatoriskt för delete och status, valfritt för preview. Använd 16–128 ASCII-bokstäver, siffror, bindestreck (-) eller understreck (_). Skapa ett unikt ID för varje ny radering och behåll det vid alla återförsök. Detta är varken ett meddelande-ID eller en API-nyckel. |
Begär exempel
curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-received/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=preview" -d "include_linked=0"
radering och statusexempel
Byt ut provet request_id med ditt eget unika värde innan du börjar. Följande raderingsförfrågningar ändrar riktig kontohistorik; de är inte förhandsgranskningar.
curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-received/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -X POST "https://api.smsmobileapi.com/delete-history-whatsapp-received/" \
-H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -G "https://api.smsmobileapi.com/delete-history-whatsapp-received/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=status" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"Exempel svar
{
"result": {
"error": 0,
"history": "whatsapp-received",
"action": "preview",
"total": 120,
"simple": 100,
"linked_or_processing": 20,
"selected": 100,
"include_linked": 0,
"operation_in_progress": false,
"active_include_linked": null
}
}
Vill du köra denna begäran?Anslut din API-nyckel högst upp på sidan för att låsa upp den interaktiva testaren.
Anslut nyckel ^- Exemplet ovan är en förhandsgranskning, inte en radering. Räknen är illustrativa; det slutgiltiga urvalet är fastställt när raderingen börjar.
- include_linked=1 kan störa GHL, Zapier, automationer, avregistrera länkar eller leveransspårning. Det kringgår aldrig kontoägande eller lagringsintegritetskontroller.
Felsökning
Fel och säkra retries
Läs HTTP status och JSON felfältet innan du retryerar. Försök inte att fördröja validering eller autentiseringsfel utan att korrigera begäran först.
| HTTP | Kodkod | Vad ska man göra |
|---|---|---|
| 400 | missing_parameter | En nödvändig parameter är tom eller frånvarande. Kontrollera parameterbordet för slutpunkten. |
| 403 | invalid_apikey | API-nyckeln är okänd, utgången eller inte auktoriserad för den begärda funktionen. |
| 429 | too_many_requests | Förfrågningar anländer för snabbt. Vänta sedan tillbaka med exponentiell backoff. |
| 500 | server_error | Tjänsten kunde inte slutföra begäran. Håll svaret och kontaktstödet om det kvarstår. |
Behöver du hjälp?
Ta med begäran kontext - inte dina hemligheter.
Dela slutpunkten, timestamp, HTTP status och sanitetssvar. Aldrig inkludera API nycklar, tokens eller privat meddelandeinnehåll.


