Doc Partner
SMS PartnerVoice PartnerMail PartnerSDKS
Doc Partner - FR
Doc Partner - FR
  • Bienvenue
  • API
    • SMS Partner
      • Crédits
      • Envoyer des SMS
        • Envoi unitaire
        • Envoi par lots
        • Envoi par numéro long
        • Envoi de sondages
        • Annuler l'envoi d'un SMS différé
        • Caractères spéciaux
      • Statut & Statistiques
        • Statut unitaire
        • Statut multiple
        • Statut par message
        • Statut par tag
        • Statistique des envois
      • Gestion des contacts
        • Ajouter un groupe
        • Ajouter un contact
        • Supprimer un groupe
        • Ajouter un lot de contacts
        • Modifier un contact
        • Supprimer un contact
        • Obtenir la liste des groupes
        • Obtenir la liste des contacts
        • Obtenir le détail d'un contact
      • Gestion des réponses / stops
        • Liste des stops
        • Ajouter un numéro au stop SMS
        • Supprimer un numéro du STOP SMS
        • Gestion des réponses
      • Sous-comptes
        • Activation
        • Création d'un sous compte
        • Supprimer un sous-compte
        • Liste des sous-comptes
        • Gérer les crédits des sous-comptes
      • Gérer le transfert d'appel
      • Vérification de numéros
        • Envoyer une vérification
        • Vérification de format
      • Location de contacts
        • Catégories
        • Ciblage et calcul
        • Statut d'une location
        • Télécharger le fichier
      • RCS
    • Voice Partner
      • Crédits
      • Message Vocal
        • Liste des fichiers audio
        • Renommer un fichier audio
        • Déposer un message vocal
      • Envoyer un SMS Vocal
      • Supprimer un envoi différé
    • Mail Partner
      • Crédits
      • Envoi unitaire de mail
      • Annuler l'envoi d'un mail
      • Statut par message
      • Gestion des désabonnements
        • Ajouter un mail
        • Liste des désabonnements
        • Supprimer un mail
      • Sous-comptes
        • Activation
        • Création d'un sous compte
        • Liste des sous-comptes
        • Gérer les crédits des sous-comptes
    • Codes d'erreur
  • SDKS
Propulsé par GitBook

© 2025 NDA Media

Sur cette page
  1. API
  2. SMS Partner
  3. Sous-comptes

Création d'un sous compte

Cette requête est utilisée pour créer un sous-compte.

URL

POST https://api.smspartner.fr/v1/subaccount/create

Paramètres obligatoires

Nom
Valeur

apiKey

type

Type de sous-compte : ce choix est définitif, il ne sera plus possible de le modifier

  • simple: – Le sous compte ne recevra aucun email ni SMS. – Aucun numéros de téléphone demandé. – L’achat n’est pas permis.

  • advanced : – Un email valide est demandé. – Le processus d’inscription est identique à celui d’un compte standard. – Un numéro de téléphone mobile sera demandé à l’inscription.

parameters

  • email (optionnel) : Si ce champ est vide, un email sera généré automatiquement (ex: 98755587@smspartner.fr)

  • creditToAttribute (optionnel) : Crédits en euro ajouté au sous-compte lors de la création. Ce crédit sera déduit du solde de votre compte principal.

  • title (optionnel) : Nom du sous-compte

  • firstname (optionnel) : Prénom du titulaire du sous-compte

  • lastname (optionnel) : Nom du titulaire du sous-compte

  • email : Email valide du titulaire du compte

  • isBuyer : 1 ou 0, si isBuyer=1 alors le sous-compte pour acheter ses propres SMS

  • creditToAttribute (optionnel) : Crédits en euro ajouté au sous-compte lors de la création. Ce crédit sera déduit du solde de votre compte principal.

  • title (optionnel) : Nom du sous-compte

  • firstname (optionnel) : Prénom du titulaire du sous-compte

  • lastname (optionnel) : Nom du titulaire du sous-compte

Requêtes

<?php
        // Prepare data for POST request
        $fields = array(
            'apiKey'=> 'YOUR API KEY',
            'type'=> 'advanced',
            'parameters'=>array(
                'email':'aaaa@bbb.ccc',
    	        'creditToAttribute':10,
    	        'isBuyer':0,
    	        'firstname':'prenom',
    	        'lastname':'nom'
            ));
 
 
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL,'https://api.smspartner.fr/v1/subaccount/create');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS,json_encode($fields));
 
        $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"
 
    #send sms
    url = base_url & "subaccount/create"
    #note : utiliser une librairie JSON en production, par exemple :
    #https//www.nuget.org/packages/Newtonsoft.Json/
    Dim parameters As String = String.Format(
        "{{""apiKey"":""{0}"",""type"":""{1}"",""parameters"":""{2}""}}",
        apiKey,
        "advanced",
        {"email":"aaaa@bbb.ccc","creditToAttribute":10,"isBuyer":0,"firstname":"prenom","lastname":"nom"})
    Console.Write(parameters)
    apiRequest("POST", url, parameters)
 
  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 create(self,creditToAdd,userId):
 
		data = {"apiKey":APIKEY,"type":"advanced","parameters": {"email":"aaaa@bbb.ccc","creditToAttribute":10,"isBuyer":0,"firstname":"prenom","lastname":"nom"}}
 
 
		url = URL + "/subaccount/create"
		r = requests.post(url, data=json.dumps(data), verify=False)
 
		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 POST -d '{"apiKey":"xxxxx","type":"advanced","parameters":{"email":"aaaa@bbb.ccc","creditToAttribute":10,"isBuyer":0,"firstname":"prenom","lastname":"nom"}}' https://api.smspartner.fr/v1/subaccount/create
const https = require("https");

// Remplacez par votre clé API
const apiKey = "VOTRE_CLÉ_API";

// Préparer les données pour la requête POST
const data = JSON.stringify({
  apiKey: apiKey,
  type: "advanced",
  parameters: {
    email: "aaaa@bbb.ccc",
    creditToAttribute: 10,
    isBuyer: 0,
    firstname: "prenom",
    lastname: "nom",
  },
});

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

// Effectuer la requête HTTP POST 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 POST
req.on("error", (error) => {
  console.error(error);
});

// Envoyer les données de l'objet 'data' à la demande
req.write(data);
// Terminer la demande HTTP POST
req.end();
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.stream.Collectors;
import org.json.JSONObject;


public class SubAccountCreation {
    public static void main(String[] args) {
        try {
            // Remplacez par votre clé API
            String apiKey = "VOTRE_CLÉ_API";

            // Préparer les données pour la requête POST
            JSONObject parameters = new JSONObject();
            parameters.put("email", "aaaa@bbb.ccc");
            parameters.put("creditToAttribute", 10);
            parameters.put("isBuyer", 0);
            parameters.put("firstname", "prenom");
            parameters.put("lastname", "nom");

            JSONObject json = new JSONObject();
            json.put("apiKey", apiKey);
            json.put("type", "advanced");
            json.put("parameters", parameters);

            URL url = new URL("https://api.smspartner.fr/v1/subaccount/create");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("cache-control", "no-cache");
            conn.setDoOutput(true);

            // Écriture des données JSON dans le corps de la requête HTTP
            OutputStream os = conn.getOutputStream();
            os.write(json.toString().getBytes());
            os.flush();

            // 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 "CreationSubCompte"
struct CreationSubCompte: View {
    var body: some View {
        // Un bouton qui appelle la fonction createSubaccount() lorsqu'il est pressé
        Button(action: {
            createSubaccount()
        }) {
            Text("Créer sous-compte")
                .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 créer un sous-compte
    func createSubaccount() {
        let url = URL(string: "https://api.smspartner.fr/v1/subaccount/create")! // URL pour créer un sous-compte

        // Paramètres pour la requête
        let parameters: [String: Any] = [
            "apiKey": "TU_CLAVE_API", // Votre clé API
            "type": "advanced",
            "parameters": [
                "email": "aaaa@bbb.ccc", // Adresse e-mail du sous-compte
                "creditToAttribute": 10, // Crédit à attribuer
                "isBuyer": 0, // Indique si le sous-compte est un acheteur
                "firstname": "prenom", // Prénom de l'utilisateur du sous-compte
                "lastname": "nom" // Nom de l'utilisateur du sous-compte
            ] as [String : Any]
        ]

        // Création de la requête
        var request = URLRequest(url: url)
        request.httpMethod = "POST"
        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
        request.setValue("no-cache", forHTTPHeaderField: "cache-control")

        // Ajout du corps de la requête
        do {
            request.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
        } catch let error {
            print(error.localizedDescription)
        }

        // Tâche pour envoyer la requête et recevoir la réponse
        let task = URLSession.shared.dataTask(with: request) { data, response, error in
            // Si une erreur survient, on l'affiche
            if let error = error {
                print("Erreur : \(error)")
            }
            // Sinon, on traite les données reçues
            else if let data = data {
                do {
                    // On tente de convertir les données reçues en JSON
                    if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
                        print(json) // On affiche le JSON obtenu
                    }
                } catch let error {
                    print("Erreur : \(error)")
                }
            }
        }

        task.resume() // On lance la tâche
    }
}
package main

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

type Fields struct {
	APIKey     string      `json:"apiKey"`
	Type       string      `json:"type"`
	Parameters Parameters `json:"parameters"`
}

type Parameters struct {
	Email            string `json:"email"`
	CreditToAttribute int    `json:"creditToAttribute"`
	IsBuyer          int    `json:"isBuyer"`
	Firstname        string `json:"firstname"`
	Lastname         string `json:"lastname"`
}

func main() {
	// Prepare data for POST request
	data := Fields{
		APIKey: "YOUR_API_KEY",
		Type:   "advanced",
		Parameters: Parameters{
			Email:            "aaaa@bbb.ccc",
			CreditToAttribute: 10,
			IsBuyer:          0,
			Firstname:        "prenom",
			Lastname:         "nom",
		},
	}

	payloadBuf := new(bytes.Buffer)
	json.NewEncoder(payloadBuf).Encode(data)

	// Create POST request
	req, err := http.NewRequest("POST", "https://api.smspartner.fr/v1/subaccount/create", payloadBuf)
	if err != nil {
		log.Fatalf("Error creating request: %v", err)
	}
	req.Header.Add("Content-Type", "application/json")

	// Create HTTP client and send the request
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatalf("Error sending request: %v", err)
	}
	defer resp.Body.Close()

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

	// Print the response status and body
	log.Printf("Response status: %s", resp.Status)
	log.Printf("Response body: %s", string(body))
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

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

    static async Task Main(string[] args)
    {
        var fields = new
        {
            apiKey = "VOTRE_CLÉ_API",
            type = "advanced",
            parameters = new 
            {
                email = "aaaa@bbb.ccc",
                creditToAttribute = 10,
                isBuyer = 0,
                firstname = "prenom",
                lastname = "nom"
            }
        };

        var json = JsonConvert.SerializeObject(fields);

        var uri = new Uri("https://api.smspartner.fr/v1/subaccount/create");
        var content = new StringContent(json, Encoding.UTF8, "application/json");

        HttpResponseMessage response = await client.PostAsync(uri, content);

        if (response.IsSuccessStatusCode)
        {
            var result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
        else
        {
            Console.WriteLine("La requête POST a échoué avec le code d'état : " + response.StatusCode);
        }
    }
}

Réponse

{
 "success":true,
 "code":200,
 "subaccount":
 {
    "email":"aaaa@bbb.ccc",
    "token":"token"
 },
 "sendConfirmMailTo":"aaaa@bbb.ccc",
 "parent_email":"emailparent@ddd.eee"
}
<?xml version="1.0" encoding="UTF-8"?>
<result>
  <entry>true</entry>
  <entry>200</entry>
  <entry>
    <entry><![CDATA[aaaa@bbb.ccc]]></entry>
    <entry><![CDATA[token]]></entry>
  </entry>
  <entry><![CDATA[aaaa@bbb.ccc]]></entry>
  <entry><![CDATA[emailparent@ddd.eee]]></entry>
</result>

Erreurs

{
    "success": false,
    "code": 10,
    "message": "Clé API incorrecte"
}
<?xml version="1.0" encoding="UTF-8"?>
<result>
    <entry>false</entry>
    <entry>10</entry>
    <entry>
        <![CDATA[Clé API incorrecte]]>
    </entry>
</result>

Code erreurs

Code de réponse
Réponse

1

La Clé API est requise

2

Le numéro de téléphone est requis

3

isBuyer est requis

4

Le type est requis (simple ou advanced)

5

Le type de sous-compte n'existe pas (simple ou advanced)

6

L'email est requis

7

Un compte existe déjà avec cet email

8

creditToAttribute doit être supérieure à 0

9

La balance doit être supérieure à 0

200

Tout s'est bien passé !

PrécédentActivationSuivantSupprimer un sous-compte

Dernière mise à jour il y a 2 mois

Votre clé API