SMS Provider in Portugal

Use SMS Provider and send any marketing and service campaigns in Portugal form your company’s name. Segment your customers and send personalised campaigns with high delivery rates. Our API allows you to realise any of your tasks.

Messaggio is trusted by 400+ customers

We assist businesses in achieving outstanding results in messenger marketing.

Try our SMS Marketing solution to engage and sales

SMS Provider Features in Portugal

SMS Marketing

Send personalised marketing messages, increase customer loyalty and your sales. Use our service to achieve your business goals

Service notifications

Use our programmable SMS API, plugin or personal account for service notifications to your customers

Worldwide campaigns

Reach your customers worldwide with a high-delivery rate. We have direct connections with the world's leading and local mobile operators

SMS Provider for Business

Send Bulk SMS with a reliable and proven SMS Provider. Register in your Messaggio account, set up a message template and send business messages

SMS API

Messaggio is an SMS provider with detailed API documentation, allowing developers to quickly set up SMS sending, receiving, and integration with your software.

Benefits of Messaggio as an SMS provider

Use all the capabilities of SMS Provider: SMS API, service notifications, promotional messages, cascade campaigns (omnichannel messaging).

Send messages to your customers in the way that is most convenient for you: via the SMS provider’s API, personal account or plugins.

We have representative offices in several countries around the world. We can offer you favorable terms of cooperation and compliance with local law.

Messaggio's capabilities as an SMS provider cover any needs of your company in business messages. The service is ideal for the marketing department, technical support department, development department.

You can write to the technical support chat at any time and get a quick answer. We work 24/7.

Use Messaggio as an SMS provider for multichannel messaging to your customer base. Save your marketing budget thanks to mailings via messengers.

SMS Pricing in Portugal

Operator Price per SMS, eur
LYCAMOBILE € 0.01583
MEO € 0.01583
NOS € 0.01583
VODAFONE € 0.01583

The price is flexible, please confirm the current price per message with the manager

Local SMS pricing in Portugal

Marketing and service messages to clients. Favorable rates and special prices. Use our universal SMS gateway in Portugal

  • For marketing, service, support
  • Integration with CRM
  • Messaging via API or plugins
  • Omnichannel messaging
{
  • "recipients": [
    • {
      },
    • {
      }
    ],
  • "channels": [
    ],
  • "options": {},
  • "viber": {
    • "content": [
      • {},
      • {
        },
      • {},
      • {
        • "otp": {
          • "basic": {
            }
          }
        }
      ]
    },
  • "sms": {
    • "content": [
      • {
        }
      ]
    },
  • "flashcall": {
    • "content": [
      • {
        }
      ]
    },
  • "whatsapp": {
    • "content": [
      • {
        • "location": {
          }
        }
      ]
    },
  • "vk": {
    • "content": [
      • {
        }
      ]
    },
  • "mobileid": {
    • "content": [
      • {
        }
      ]
    },
  • "telegram": {
    • "content": []
    },
  • "telegram-otp": {
    • "content": {
      }
    }
}
# The code is based on the 'SMS simple example body'
curl --location "https://msg.messaggio.com/api/v1/send" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Messaggio-Login: < YOUR MESSAGGIO BULK LOGIN >" \
--data'< payload >'
# The code is based on the 'SMS simple example body'

import json
import http.client


rdata = Payload  # The dictionary with the contents and 
                 # structure identical to the payload JSON
headers_passed = {'Accept': 'application/json',
                  'Content-Type': 'application/json',
                  'Messaggio-Login':'< YOUR MESSAGGIO BULK LOGIN >'}

try:
    print("Openning connection.")
    connection = http.client.HTTPSConnection('msg.messaggio.com')
    print("Connection openned.
Preparing request.")
    connection.request(
        'POST',
        '/api/v1/send',
        body = json.dumps(rdata, ensure_ascii = False),
        headers = headers_passed
    )
    print("Executing request.")
    response = connection.getresponse()

    print("The response:
{}".format(json.loads(response.read().decode())))
except Exception as err:
    print("Error occured:")
    raise
finally:
    connection.close()
    print("Connection closed.")
/*
The following example is based on 'SMS simple example body' payload
*/

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

// Pre-preparing data
type SMS_Content struct{
  Type string `json:"type"`
  Text string `json:"text"`
}
type SMS_Message struct{
  From string           `json:"from"`
  Content []SMS_Content `json:"content"`
}
type Message struct{
  Recipients []Recipient `json:"recipients"`
  Channels []string      `json:"channels"`
  SMS SMS_Message        `json:"sms"`
}
type Recipient struct {
  Phone string `json:"phone"`
}


func main() {
    // Preparing data for request
    message := Message{
  Recipients: []Recipient{
      Recipient{"35699554433"},
  },
  Channels: []string{"sms"},
  SMS: SMS_Message{
      From: "SMSTest",
      Content: []SMS_Content{SMS_Content{"text", "Sample fake GO text for the example"}},
  },
    }
    data, error := json.Marshal(message)

    // Preparing request
    request, error := http.NewRequest("POST", "https://msg.messaggio.com/api/v1/send", bytes.NewBuffer(data))
    if error != nil {
  fmt.Println("Error occured: ", error)
  return
    }
    request.Header.Add("Accept", "application/json")
    request.Header.Add("Content-Type", "application/json")
    request.Header.Add("Messaggio-Login", "< YOUR MESSAGGIO BULK LOGIN >")

    // Executing request
    client := &http.Client{}
    response, error := client.Do(request)
    if error != nil {
  fmt.Println("Error occured: ", error)
  return
    }
    defer response.Body.Close()

    // Reading response
    body, error := ioutil.ReadAll(response.Body)
    if error != nil {
  fmt.Println("Error occured: ", error)
  return
    }
    fmt.Println(string(body))
}
# The code is based on the 'SMS simple example body'

require "uri"
require "json"
require "net/http"

url = URI("https://msg.messaggio.com/api/v1/send")

payload = {
  "recipients":[
    {"phone":"35699554433"}
  ],
  "channels":[
    "sms"
  ],
  "sms":{
    "from":"< CODE API VALUE >",
    "content":[
      {
        "type":"text",
        "text":"Sample fake Ruby text for the example"
      }
    ]
  }
}

http = Net::HTTP.new(url.host, url.port);
http.use_ssl = true;
request = Net::HTTP::Post.new(url)
request["Accept"] = " application/json"
request["Content-Type"] = " application/json"
request["Messaggio-Login"] = "< YOUR MESSAGGIO BULK LOGIN >"
request.body = JSON.dump(payload)

response = http.request(request)
puts response.read_body
// The code is based on the 'SMS simple example body'

// const fetch = require("node-fetch"); // Uncomment for 'fetch' method

let Payload = {
    recipients: [{phone: "35699554433"}],
    channels: ["sms"],
    sms: {from: "< CODE API VALUE >",
    content: [{type: "text", text: "Sample fake JS text for the example"}]}
}

// Send request with 'Fetch' method
var headers_passed = new fetch.Headers();
headers_passed.append('Accept', 'application/json')
headers_passed.append('Content-Type', 'application/json')
headers_passed.append('Messaggio-Login', '< YOUR MESSAGGIO BULK LOGIN>')

var rdata = JSON.stringify(Payload);
var request_options = {
    method: 'POST',
    headers: headers_passed,
    body: rdata,
    redirect: 'follow'
};

fetch('https://msg.messaggio.com/api/v1/send', request_options)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));


// Send request with 'Request' method
var request = require('request');
var options = {
    'method': 'POST',
    'url': 'https://msg.messaggio.com/api/v1/send',
    'headers': {
  'Accept': 'application/json',
  'Content-Type': 'application/json',
  'Messaggio-Login': '< YOUR MESSAGGIO BULK LOGIN>'
    },
    'body': JSON.stringify(Payload)};
request(options, function (error, response) {
    if (error) throw new Error(error);
    console.log(response.body)
});
<?php
/*The code is based on the 'SMS simple example body'*/

/*Preparing data*/
$recipients =  array(array("phone" => "35699554433"));
$channels = array("sms");
$sms = array("from" => "< CODE API VALUE >",
	     "content" => array(
		 array("type" => "text", "text" => "Sample fake PHP text for the example")
));
$data = array("recipients" => $recipients,
	      "channels" => $channels,
	      "sms" => $sms);
$rawdata = json_encode($data);

/*Preparing request*/
$curl = curl_init("https://msg.messaggio.com/api/v1/send");
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
	    array("Content-Type: application/json",
	    "Accept: application/json",
	    "Messaggio-Login: < YOUR MESSAGGIO BULK LOGIN >"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $rawdata);

/*Executing request*/
$json_response = curl_exec($curl);

/*Reading the response and closing connection*/
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
$response = json_decode($json_response, true);
print_r($response);
?>

SMS Provider for Developers & Business

Messaggio is a reliable and flexible SMS provider for campaigns in Portugal. Use all the possibilities of our service and SMS API to achieve your business and marketing goals. We work with all leading mobile operators in Portugal and can offer the most favourable conditions for mass messages.

Create an account and try all the possibilities of Messaggio as an SMS provider in Portugal.

Easy integration with your CRM and software

Integrate multichannel business messaging into your marketing strategy. Set up easy integration and send notifications

See more

Contact us

We provide you with access to the platform