{"id":420,"date":"2023-11-23T11:17:20","date_gmt":"2023-11-23T10:17:20","guid":{"rendered":"http:\/\/localhost\/wordpress\/?page_id=420"},"modified":"2026-01-08T12:34:31","modified_gmt":"2026-01-08T12:34:31","slug":"receiving-incoming-sms","status":"publish","type":"page","link":"https:\/\/ip1sms.com\/en\/developer\/receiving-incoming-sms\/","title":{"rendered":"Receive incoming SMS"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column p-5 is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:85%\">\n<div data-bs-spy=\"scroll\" data-bs-target=\"#developer-sub-menu\" data-bs-root-margin=\"0px 0px -40%\" data-bs-smooth-scroll=\"true\" tabindex=\"0\">\n\n\n\n<h1 class=\"wp-block-heading\" id=\"h-ta-emot-inkommande-sms\">Ta emot inkommande SMS<\/h1>\n\n\n\n<h2 class=\"wp-block-heading my-5\" id=\"h-forutsattningar\">F\u00f6ruts\u00e4ttningar<\/h2>\n\n\n\n<p>F\u00f6r att kunna ta emot inkommande till v\u00e5rt system och sedan skicka dem vidare till din callback URL beh\u00f6vs ett <strong>virtuellt nummer<\/strong>. Du kan enkelt skaffa ett virtuellt nummer genom att best\u00e4lla ett av v\u00e5ra <strong>abonnemang<\/strong>, eller best\u00e4lla extratj\u00e4nsten <strong>11-siffrigt virtuellt nummer<\/strong> i v\u00e5r webshop.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity my-5\"\/>\n\n\n\n<h2 class=\"wp-block-heading my-5\" id=\"h-beskrivning\">Beskrivning<\/h2>\n\n\n\n<p>Om en callback URL f\u00f6r inkommande SMS anges i kontoinst\u00e4llningarna skickas inkommande SMS-meddelanden till den webbadressen n\u00e4r de \u00e4r tillg\u00e4ngliga. Inneh\u00e5llet i dessa SMS-meddelanden beskrivs nedan.<\/p>\n\n\n\n<p>V\u00e5rt system skickar inkommande SMS med&nbsp;<em>POST&nbsp;<\/em>och f\u00f6rv\u00e4ntar sig ett svar p\u00e5&nbsp;<em>200 OK&nbsp;<\/em>om SMS:et levereras korrekt. Om n\u00e5gon annan status (dvs. en felstatus) tas emot kommer inkommande SMS att skickas igen vid ett senare tillf\u00e4lle.<\/p>\n\n\n\n<p>Du hanterar din callback-url i anv\u00e4ndarportalen:&nbsp;<a href=\"https:\/\/portal.ip1.net\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/portal.ip1.net\/<\/a>&nbsp;\u2192 <strong>SMS <\/strong>\u2192 <strong>Inst\u00e4llningar f\u00f6r inkommande SMS<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity my-5\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-callback-payload\">Callback Payload<\/h2>\n\n\n\n<h3 class=\"wp-block-heading my-5\" id=\"h-exempel-pa-payload\">Exempel p\u00e5 payload<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n{\n    &quot;id&quot;: &quot;5c613848879973045cf39ac4&quot;,\n    &quot;batchId&quot;: &quot;5c613848879973045cf39ac3&quot;,\n    &quot;owner&quot;: &quot;ip1-XXXXX&quot;,\n    &quot;sender&quot;: &quot;46712345678&quot;,\n    &quot;recipient&quot;: &quot;456189040623&quot;,\n    &quot;body&quot;: &quot;Hi my name is earl&quot;,\n    &quot;direction&quot;: &quot;mo&quot;,\n    &quot;segments&quot;: 1,\n    &quot;type&quot;:&quot;SMS&quot;,\n    &quot;datacoding&quot;: &quot;GSM&quot;,\n    &quot;priority&quot;: 1,\n    &quot;statuses&quot;: &#x5B;\n        {\n            &quot;created&quot;: &quot;2018-10-23T17:43:21Z&quot;,\n            &quot;code&quot;: 201,\n            &quot;duration&quot;: 1\n        }\n    ],\n    &quot;modified&quot;: &quot;2018-10-23T17:43:19Z&quot;,\n    &quot;mcc&quot;: &quot;431&quot;,\n    &quot;mnc&quot;: &quot;20&quot;\n}\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading my-5\" id=\"h-falt-for-payload\">F\u00e4lt f\u00f6r payload<\/h3>\n\n\n\n<div class=\"responsive-table\">\n  <table class=\"table table-dark table-striped developer-table\">\n    <thead>\n      <tr>\n        <th>F\u00e4ltnamn<\/th>\n        <th>Typ<\/th>\n        <th>Beskrivning och Villkor<\/th>\n        <th>Exempel<\/th>\n      <\/tr>\n    <\/thead>\n    <tbody>\n      <tr>\n        <td><strong>id<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Det inkommande meddelandets ID.\n        <\/td>\n        <td>\n          <pre><code>\n\"id\": \"5bcf4324ee47dee41a9dbb13\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>batchId<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          ID f\u00f6r Det inkommande meddelandets \u00f6verliggande batch (Meddelanden kan inte existera utan en \u00f6verliggande\n          batch).\n        <\/td>\n        <td>\n          <pre><code>\n\"batchId\": \"5c613848879973045cf39ac3\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>batchId<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Konto-ID f\u00f6r SMS-kontot som \u00e4ger meddelandet.\n        <\/td>\n        <td>\n          <pre><code>\n\"owner\": \"ip1-XXXXX\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>sender<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Avs\u00e4ndar-ID f\u00f6r det inkommande meddelandets upphovsman.\n        <\/td>\n        <td>\n          <pre><code>\n\"sender\": \"46712345678\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <\/tr>\n      <tr>\n        <td><strong>sender<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Mottagaren av meddelandet (ditt virtuella nummer).\n        <\/td>\n        <td>\n          <pre><code>\n\"recipient\": \"467612345678\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>body<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Det inkommande meddelandets inneh\u00e5ll.\n        <\/td>\n        <td>\n          <pre><code>\n\"body\": \"Hi my name is earl\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>direction<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Talar om ifall meddelandet skickades eller togs emot av v\u00e5rt system.\n          <ul>\n            <li><code>MT<\/code> En akronym f\u00f6r Mobile Terminated, ett meddelande som skickades till en mobil enhet.<\/li>\n            <li><code>MO<\/code> En akronym f\u00f6r Mobile Originated, ett meddelande som skickades fr\u00e5n en mobil enhet.<\/li>\n          <\/ul>\n\n        <\/td>\n        <td>\n          <pre><code>\n\"direction\": \"mt\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>segments<\/strong><\/td>\n        <td><code>Integer<\/code><\/td>\n        <td>\n          I de fall meddelandet best\u00e5r av fler tecken \u00e4n teckengr\u00e4nsen f\u00f6r ett SMS kommer meddelandet att delas upp i\n          flera SMS, \u00e4ven kallat konkatenerade SMS. Den h\u00e4r egenskapen indikerar om hur m\u00e5nga SMS som beh\u00f6vs f\u00f6r att\n          kunna skicka meddelandet\n        <\/td>\n        <td>\n          <pre><code>\n    \"segments\": 1,\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>type<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Det finns tv\u00e5 typer: <code>sms<\/code> och <code>flash<\/code>.\n          <ul>\n            <li><code>sms<\/code> \u00e4r ett vanligt SMS.<\/li>\n            <li><code>flash<\/code> \u00e4r ett meddelande som visas en g\u00e5ng p\u00e5 enheten och sedan raderas.<\/li>\n          <\/ul>\n          Standard-typen \u00e4r <code>sms<\/code>.\n        <\/td>\n        <td>\n          <pre><code>\n  \"type\":\"SMS\"\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>datacoding<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Det finns tv\u00e5 typer tillg\u00e4ngliga:.\n          <ul>\n            <li><code>gsm<\/code>: 7-bitars teckenupps\u00e4ttning (160 tecken\/SMS), begr\u00e4nsat antal tecken.<\/li>\n            <li><code>flash<\/code>: 2-byte teckenupps\u00e4ttning (70 tecken\/SMS), till\u00e5ter alla tecken (t.ex. emoji).<\/li>\n          <\/ul>\n          Om <code>gsm<\/code> \u00e4r satt, kommer meddelanden som kr\u00e4ver <code>ucs<\/code> (ut\u00f6kade tecken) att nekas.\n          Standard \u00e4r <code>ucs<\/code>.\n        <\/td>\n        <td>\n          <pre><code>\n\"datacoding\": \"GSM\",\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>priority<\/strong><\/td>\n        <td><code>Integer<\/code><\/td>\n        <td>\n          <p style=\"background-color: transparent;\">Anv\u00e4nds f\u00f6r meddelanden som beh\u00f6ver levereras snabbt. Till\u00e5tna v\u00e4rden \u00e4r <code>1<\/code> (standard, l\u00e4gsta)\n            och <code>2<\/code> (h\u00f6gsta).<\/p>\n          <p style=\"background-color: transparent;\">Att s\u00e4tta prioritet <code>2<\/code> \u00f6kar priset per SMS (10 \u00f6re f\u00f6r svenskt konto, \u20ac 0.01 f\u00f6r\n            internationellt konto).<\/p>\n        <\/td>\n        <td>\n          <pre><code>\n\"priority\": 1\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>statuses<\/strong><\/td>\n        <td><code>Array<\/code><\/td>\n        <td>\n          <p style=\"background-color: transparent;\">En lista best\u00e5ende av statusuppdateringar.<\/p>\n          <ul>\n            <li><strong>statuses[].created<\/strong>\n              <ul>\n                <li>N\u00e4r statusen lades till<\/li>\n              <\/ul>\n            <\/li>\n            <li><strong>statuses[].code<\/strong>\n              <ul>\n                <li>Den specifika statuskoden. Fler kan l\u00e4ggas till i framtiden<\/li>\n              <\/ul>\n            <\/li>\n            <li><strong>statuses[].duration<\/strong>\n              <ul>\n                <li>Ber\u00e4ttar om detta \u00e4r den senaste statusuppdateringen eller om det kan komma fler statusuppdateringar\n                <\/li>\n              <\/ul>\n            <\/li>\n          <\/ul>\n        <\/td>\n        <td>\n          <pre><code>\n  \"statuses\": [\n      {\n          \"created\": \"2018-10-23T17:43:21Z\",\n          \"code\": 201,\n          \"duration\": 1\n      }\n  ],\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>modified<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          N\u00e4r det inkommande SMS:et senast uppdaterades.\n        <\/td>\n        <td>\n          <pre><code>\n\"modified\": \"2018-10-23T17:43:19Z\",\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>mcc<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          Lands-delen av bladoperat\u00f6ren kan specificeras h\u00e4r om den tillhandah\u00e5lls av operat\u00f6ren. <code>MCC<\/code> \u00e4r en\n          akronym f\u00f6r Mobile Country Code\n        <\/td>\n        <td>\n          <pre><code>\n    \"mcc\": \"431\",\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n      <tr>\n        <td><strong>mnc<\/strong><\/td>\n        <td><code>String<\/code><\/td>\n        <td>\n          N\u00e4tverksdelen av bladoperat\u00f6ren kan specificeras h\u00e4r om den tillhandah\u00e5lls av operat\u00f6ren. <code>MNC<\/code> \u00e4r\n          en akronym f\u00f6r Mobile Network Code\n        <\/td>\n        <td>\n          <pre><code>\n    \"mcc\": \"431\",\n      <\/code><\/pre>\n        <\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity my-5\"\/>\n\n\n\n<h2 class=\"wp-block-heading my-5\" id=\"h-kodexempel\">Kodexempel<\/h2>\n\n\n\n<p>Nedan hittar du ett kodexempel f\u00f6r en callback f\u00f6r inkommande SMS-trafik.<\/p>\n\n\n\n<h3 class=\"wp-block-heading my-5\" id=\"h-callback-for-inkommande-sms-c\">Callback f\u00f6r inkommande SMS C#<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n&#x5B;Route(&quot;callback&quot;)]\n&#x5B;ApiController]\npublic class CallbackController : ControllerBase\n{\n    private readonly SqlConnection Connection;\n\n    public CallbackController()\n    {\n        Connection = new SqlConnection(&quot;Connection String&quot;);\n        Connection.Open();\n    }\n\n    &#x5B;HttpPost(&quot;&quot;)]\n    public ActionResult HandleCallback(IncommingSms request)\n    {\n        using (SqlCommand cmd = new SqlCommand(&quot;INSERT INTO &#x5B;Messaging].&#x5B;SmsMessage] (&#x5B;Sender],&#x5B;Body]) VALUES (@sender, @body)&quot;, Connection))\n        {\n            cmd.Parameters.AddWithValue(&quot;@sender&quot;, request.Sender);\n            cmd.Parameters.AddWithValue(&quot;@body&quot;, request.Body);\n\n            int result = cmd.ExecuteNonQuery();\n        }\n\n        return Ok();\n    }\n}\n\npublic class IncommingSms\n{\n    public string Id { get; set; }\n    public string BatchId { get; set; }\n    public string Owner { get; set; }\n    public string Sender { get; set; }\n    public string Recipient { get; set; }\n    public string Body { get; set; }\n    public string Direction { get; set; }\n    public int Segments { get; set; }\n    public string Type { get; set; }\n    public string Datacoding { get; set; }\n    public int Priority { get; set; }\n    public List Statuses { get; set; }\n    public DateTime Modified { get; set; }\n    public string Mcc { get; set; }\n    public string Mnc { get; set; }\n}\n\npublic class Status\n{\n    public DateTime Created { get; set; }\n    public int Code { get; set; }\n    public int Duration { get; set; }\n}\n<\/pre><\/div>\n\n\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Service\",\n  \"name\": \"iP.1 SMS API Specifikation f\u00f6r Inkommande SMS (Callback)\",\n  \"serviceType\": \"Mottagning och Databearbetning\",\n  \"description\": \"Dokumentation som specificerar det format och protokoll som IP.1 anv\u00e4nder f\u00f6r att skicka inkommande SMS till kundens Callback URL (Webhook). Konfigurationen av adressen sker via v\u00e5r webbportal, inte via API.\",\n  \"url\": \"https:\/\/ip1sms.com\/utvecklare\/inkommande-sms\/\",\n  \n  \"provider\": {\n    \"@type\": \"Organization\",\n    \"name\": \"iP.1 Networks AB\",\n    \"url\": \"https:\/\/ip1sms.com\/\"\n  },\n  \"serviceOutput\": { \n    \"@type\": \"CreativeWork\", \n    \"name\": \"Callback Datastruktur\",\n    \"description\": \"Specifikation av de JSON-f\u00e4lt och HTTP-metoder som IP.1 anv\u00e4nder vid utskick av inkommande SMS till kundens server.\"\n  }\n}\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:15%\">\n<nav id=\"developer-sub-menu\" class=\"navbar sticky-top\">\n    <nav class=\"nav bg-light\">\n        <a class=\"nav-link font-weight-bold\" href=\"#h-forutsattningar\">F\u00f6ruts\u00e4ttningar<\/a>\n        <a class=\"nav-link font-weight-bold\" href=\"#h-beskrivning\">Beskrivning<\/a>\n        <a class=\"nav-link font-weight-bold\" href=\"#h-callback-payload\">Callback Payload<\/a>\n        <nav class=\"nav\">\n            <a class=\"nav-link text-muted\" href=\"#h-exempel-pa-payload\">Exempel p\u00e5 Payload<\/a>\n            <a class=\"nav-link text-muted\" href=\"#h-falt-for-payload\">F\u00e4lt f\u00f6r payload<\/a>\n        <\/nav>\n    <\/nav>\n    <nav class=\"nav bg-light\">\n        <a class=\"nav-link font-weight-bold\" href=\"#h-kodexempel\">Kodexempel<\/a>\n        <nav class=\"nav\">\n            <a class=\"nav-link text-muted\" href=\"#h-las-inkommande-sms-i-c\">L\u00e4s inkorg i C#<\/a>\n        <\/nav>\n    <\/nav>\n<\/nav>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ta emot inkommande SMS F\u00f6ruts\u00e4ttningar F\u00f6r att kunna ta emot inkommande till v\u00e5rt system och sedan skicka dem vidare till din callback URL beh\u00f6vs ett virtuellt nummer. Du kan enkelt skaffa ett virtuellt nummer genom att best\u00e4lla ett av v\u00e5ra abonnemang, eller best\u00e4lla extratj\u00e4nsten 11-siffrigt virtuellt nummer i v\u00e5r webshop. Beskrivning Om en callback URL [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":382,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"developer.php","meta":{"footnotes":""},"categories":[4],"tags":[26],"class_list":["post-420","page","type-page","status-publish","hentry","category-api-dokumention","tag-sms"],"_links":{"self":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages\/420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/comments?post=420"}],"version-history":[{"count":0,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages\/420\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages\/382"}],"wp:attachment":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/media?parent=420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/categories?post=420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/tags?post=420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}