Doc Partner
SMS Partner
Doc Partner - EN
Doc Partner - EN
  • Welcome
  • API
    • SMS Partner
      • Credits
      • Send SMS
        • Single Send
        • Bulk Send
        • Send by Long Number
        • Survey Send
        • Cancel Scheduled SMS
        • Special Characters
      • Status & Statistics
        • Single Status
        • Bulk Status
        • Status by Message
        • Status by Tag
        • Sending Statistics
      • Contact Management
        • Add Group
        • Add Contact
        • Delete Group
        • Add Bulk Contacts
        • Edit Contact
        • Delete Contact
        • Get Group List
        • Get Contact List
        • Get Contact Details
      • Replies / Opt-outs Management
        • Stop List
        • Add Number to SMS Stop List
        • Remove Number from SMS Stop List
        • Replies Management
      • Sub-accounts
        • Activation
        • Create Sub-account
        • Delete Sub-account
        • Sub-account List
        • Manage Sub-account Credits
      • Manage Call Forwarding
      • Number Verification
        • Send a Verification
        • Format Verification
      • Contact Rental
        • Categories
        • Targeting & Calculation
        • Rental Status
        • Download File
      • RCS
    • Error Codes
Powered by GitBook

© 2025 NDA Media

On this page
  1. API
  2. SMS Partner
  3. Status & Statistics

Single Status

This request allows you to retrieve the status of a single SMS.

URL

GET https://api.smspartner.fr/v1/message-status

Required Parameters

Name
Value

apiKey

messageId

phoneNumber

Recipient's mobile phone number

Optional Parameters

Name
Value

_format

json or xml

Requests

<?php
 
        // Prepare data for GET request
        $data = 'apiKey=YOUR_API_KEY&messageId=300&phoneNumber=06xxxxxxxx';
 
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL,'https://api.smspartner.fr/v1/message-status?'.$data);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
 
 
        $result = curl_exec($curl);
        curl_close($curl);
 
        // Process your response here
        echo $result;
?>
Imports System.IO
Imports System.Net
 
Module Module1
 
  Sub Main()
 
    Dim base_url As String = "http://api.smspartner.fr/v1/"
    Dim apiKey As String = "VOTRE_APIKEY"
    Dim phoneNumber As String = "06XXXXXXXX"
    Dim messageId As Integer = XXX
 
    #check credits
    Dim url As String
    url = base_url & "message-status" & "?apiKey=" & apiKey & "&phoneNumber=" & phoneNumber & "&messageId=" & messageId
 
    Dim credits As String
    credits = apiRequest("GET", url, Nothing)
 
  End Sub
 
  Function apiRequest(method As String, url As String, parameters As String) As String
 
    Dim request As HttpWebRequest
    request = WebRequest.Create(url)
    request.Method = method
    request.Timeout = 10000   # timeout in ms
    request.ContentType = "application/json; charset=utf-8"
    request.ContentLength = 0
 
    #set POST data
    If Not String.IsNullOrEmpty(parameters) Then
      request.ContentLength = parameters.Length
      Using reqStream As StreamWriter = New StreamWriter(request.GetRequestStream())
        reqStream.Write(parameters)
      End Using
    End If
 
    #get response
    Dim returnValue As String = Nothing
    Using response As HttpWebResponse = request.GetResponse()
      If response.StatusCode = HttpStatusCode.OK Then
        Using resStream = response.GetResponseStream()
          If resStream IsNot Nothing Then
            Using reader As New StreamReader(resStream)
              returnValue = reader.ReadToEnd()
            End Using
          End If
        End Using
      End If
    End Using
    apiRequest = returnValue
 
  End Function
 
End Module
# std
import logging
import json
from collections import OrderedDict
 
# 3p
import requests
 
API_KEY = "MY API KEY"
URL = "https://api.smspartner.fr/v1"
 
class SMSPartner():
    def get_delivery(self,phone_numbers,message_id):
		url = URL + "/message-status?apiKey=" + API_KEY + "&phoneNumber=" + phone_numbers + "&messageId=" + message_id
		r = requests.get(url)
		r_json = r.json()
		if r_json.get("success") == True:
			print(r_json)
			status = True
		else:
			print(r_json)
			status = False
		return status
curl -H  "Content-Type: application/json" -X GET  https://api.smspartner.fr/v1/message-status?apiKey=xxx&messageId=300&phoneNumber=06xxxxxxxx
const https = require("https");

// Remplacez par votre clé API et autres données
const apiKey = "VOTRE_CLÉ_API";
const messageId = "300";
const phoneNumber = "06xxxxxxxx";

// Préparer les données pour la requête GET
const data = `apiKey=${apiKey}&messageId=${messageId}&phoneNumber=${phoneNumber}`;

// Définir les options pour la requête HTTP GET vers l'API SMS Partner
const options = {
  hostname: "api.smspartner.fr",
  port: 443,
  path: `/v1/message-status?${data}`,
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "cache-control": "no-cache",
  },
};

// Effectuer la requête HTTP GET avec les options et données définies précédemment
const req = https.request(options, (res) => {
  console.log(`statusCode: ${res.statusCode}`);

  // Afficher les données de réponse de l'API sur la sortie standard
  res.on("data", (d) => {
    process.stdout.write(d);
  });
});

// Afficher en cas d'erreur lors de l'exécution de la requête HTTP GET
req.on("error", (error) => {
  console.error(error);
});

// Terminer la requête HTTP GET
req.end();
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.stream.Collectors;
import org.json.JSONObject;

public class SMSSTatus {
    public static void main(String[] args) {
        try {
            // Remplacez par votre clé API et autres données
            String apiKey = "VOTRE_CLÉ_API";
            String messageId = "300";
            String phoneNumber = "06xxxxxxxx";

            // Préparer les données pour la requête GET
            String data = String.format("apiKey=%s&messageId=%s&phoneNumber=%s", apiKey, messageId, phoneNumber);
            URL url = new URL("https://api.smspartner.fr/v1/message-status?" + data);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("cache-control", "no-cache");

            // Lecture de la réponse de l'API
            BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String response = br.lines().collect(Collectors.joining());

            // Afficher la réponse JSON
            System.out.println(response);

            // Fermeture de la connexion HTTP
            conn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import SwiftUI

// Structure pour la vue "StatutSMS"
struct StatutSMS: View {
   var body: some View {
       // Un bouton qui appelle la fonction StatutSMS() lorsqu'il est pressé
       Button(action: {
           StatutSMS()
       }) {
           Text("Check SMS Status")
               .font(.system(size: 20))
               .foregroundColor(.white)
               .frame(minWidth: 0, maxWidth: .infinity)
               .padding()
               .background(LinearGradient(gradient: Gradient(colors: [Color.blue, Color.blue.opacity(0.8)]), startPoint: .top, endPoint: .bottom))
               .cornerRadius(10)
               .padding(.horizontal)
       }
   }
   
   // Fonction pour vérifier le statut d'un SMS
   func StatutSMS() {
       let apiKey = "XXXXXXXXXXXX YOUR API KEY XXXXXXXXXXXXX" // Votre clé API
       let messageId = "your msg ID" // ID de votre message
       let phoneNumber = "06XXXXXXXX" // Numéro de téléphone

       // URL pour vérifier le statut du SMS
       let urlString = "https://api.smspartner.fr/v1/message-status?apiKey=\(apiKey)&messageId=\(messageId)&phoneNumber=\(phoneNumber)"

       // On vérifie que l'URL est correctement formée
       guard let url = URL(string: urlString) else {
           print("Erreur : impossible de créer l'URL")
           return
       }

       // Tâche pour récupérer les données de l'URL
       let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
           // Si une erreur se produit, on l'affiche
           if let error = error {
               print("Erreur : \(error)")
           }
           // Sinon, on affiche les données reçues
           else if let data = data {
               let str = String(data: data, encoding: .utf8)
               print("Données reçues :\n\(str ?? "")")
           }
       }
       
       task.resume() // On lance la tâche
   }
}

// Aperçu de la vue
struct StatutSMS_Previews: PreviewProvider {
   static var previews: some View {
       StatutSMS()
   }
}
package main

import (
	"io/ioutil"
	"log"
	"net/http"
	"time"
)

func main() {
	// Prepare data for GET request
	apiKey := "YOUR_API_KEY"
	messageId := "300"
	phoneNumber := "06xxxxxxxx"

	// Create GET request URL
	url := "https://api.smspartner.fr/v1/message-status?" +
		"apiKey=" + apiKey + "&messageId=" + messageId + "&phoneNumber=" + phoneNumber

	// Create HTTP client
	client := &http.Client{Timeout: 10 * time.Second}

	// Send GET request
	resp, err := client.Get(url)
	if err != nil {
		log.Fatalf("Error sending request: %v", err)
	}
	defer resp.Body.Close()

	// Get response
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatalf("Error reading response body: %v", err)
	}

	// Process your response here
	log.Printf("Response: %s", body)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    private static readonly HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        var apiKey = "YOUR_API_KEY";
        var messageId = "300";
        var phoneNumber = "06xxxxxxxx";
        var uri = new Uri($"https://api.smspartner.fr/v1/message-status?apiKey={apiKey}&messageId={messageId}&phoneNumber={phoneNumber}");

        HttpResponseMessage response = await client.GetAsync(uri);

        if (response.IsSuccessStatusCode)
        {
            var result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
        else
        {
            Console.WriteLine("GET request failed with status code: " + response.StatusCode);
        }
    }
}

Response

{
    "success": true,
    "code": 200,
    "number": "0600000000",
    "messageId": "1111",
    "stopSms": false,
    "date": "2015-02-07 22:39:46",
    "statut": "Delivered",
    "cost": 0.045,
    "countryCode": "FR",
    "currency": "EUR"
}
<?xml version='1.0' encoding='UTF-8'?>
<result>
    <entry>true</entry>
    <entry>200</entry>
    <entry><![CDATA[0600000000]]></entry>
    <entry><![CDATA[1111]]></entry>
    <entry>false</entry>
    <entry><![CDATA[2015-02-07 22:39:46]]></entry>
    <entry><![CDATA[Delivered]]></entry>
    <entry>0.045</entry>
    <entry><![CDATA[FR]]></entry>
    <entry><![CDATA[EUR]]></entry>
</result>
  • Delivered: The message was successfully delivered to the recipient’s device or platform.

  • Not delivered: The message could not be delivered. Possible reasons include an invalid phone number or operator issues.

  • Waiting: The message is still in the process of being delivered and has not yet been confirmed as delivered or failed.

Errors

{
    "success": false,
    "code": 10,
    "message": "Invalid API key"
}
<?xml version='1.0' encoding='UTF-8'?>
<result>
    <entry>false</entry>
    <entry>10</entry>
    <entry>Invalid API key</entry>
</result>

Error Codes

Response Code
Description

1

API key is required

2

Phone number is required

3

Message ID is required

4

Message not found

10

Invalid API key

200

Everything is OK!

PreviousStatus & StatisticsNextBulk Status

Last updated 1 month ago

Message ID. Found in the .

Your API key
response of the send request