Aller au contenu principal

Use Case exports

Gestion des exports

Le module d’export permet d’exporter une liste d’emails avec leurs champs. Et pour définir la population exportée, vous utilisez une cible créée en amont.

info

Vous trouverez la documentation pour créer une cible ici.

Pour créer un export d’abonnés, vous devez utiliser l’appel POST api/{idsite}/exports/subscribers.

Les paramètres à spécifier dans l'url sont les suivants:

NomDescriptionTypeInformations complémentaires
idsiteIdentifiant de site MindBazNombre entierObligatoire

Dans le corps de la requête, les paramètres à passer sous la forme "application/json, text/json" sont les suivants:

NomDescriptionTypeInformations complémentaires
compressIndique comment Compresser les données.ECompressionModeAucune
filenameIndique le nom du fichier à exporter.
Un suffixe est ajouté automatiquement à la fin du nom de fichier sous la forme yyyyMMddHHmmss. L’extension csv est ajoutée automatiquement.
Le nom de fichier final sera donc sous la forme "myFilename_yyyyMMddHHmmss.csv".
Vous pouvez aussi exporter dans un sous répertoire en le spécifiant dans filename. ex : “myDirectory\myFilename”. Attention, le répertoire doit déjà être créé.
Chaine de caractèresAucune
idRepositoryId d’un sftp externe à mindbaz pour déposer le fichier. Pour récupérer la liste des repositories, vous pouvez appeler GET /api/{idsite}/exports/repositories. Pour en ajouter, il faut faire une demande au service client.Nombre entiernull pour le stockage par défaut (sftp mindbaz)
idsFieldsIndique la liste des champs à insérer dans l'export.Collection de Chaine de caractèresObligatoire
idTargetIndique l'identifiant de cible à utiliser pour l'export.Nombre entierObligatoire
quantityIndique le nombre de lignes à exporter, 0=tout.Nombre entierAucune
typeListIndique comment exporter les champs de type liste.ETypeListObligatoire
encodingIndique comment sont encodées les données.EEncodingTypeObligatoire
idsEncodeFieldsIndique la liste des champs à encoder dans une colonne (placée en dernière position du fichier). Les champs fournis seront concaténés puis hashés en fonction de l’algorithme défini dans le paramètre encoding.
Par ex, si je veux avoir une colonne avec un hash md5 correspondant à l'email+nom+prenom, il faut mettre idsEncodeFields = [1,14,15] et encoding=”MD5”.
La nouvelle colonne aura comme nom le type utilisé pour le hash (MD5 dans l’exemple).
Attention, l’ordre des champs est important!
Collection de Chaine de caractèresAucune

Le type ECompressionMode est de type Enum:

NomValeurDescription
GZip1Compression GZip
Zip2Compression Zip

Le type EEncodingType est de type Enum:

NomValeurDescription
None0Pas d'encodage, en clair
MD51Hash MD5
SHA12Hash SHA1
SHA2_2563Hash SHA256
SHA2_5124Hash SHA512

Le type ETypeList est de type Enum:

NomValeur
ID0
VALUE1
{
"idTarget": 1161,
"idsFields": [
"0",
"1"
],
"filename": "test_export_api",
"quantity": 0,
"typeList": "ID",
"compress": "GZip",
"encoding": "None",
"idRepository": 0
}

En retour d'appel j'obtiens les informations de l'export nouvellement créé:

{
"success": true,
"data": true,
"error": null,
"typeName": "Boolean"
}

Codeline

string token = ""; //Valeur du token récupéré pour l'authentification
string idSite = ""; //Valeur de l'identifiant du site
var client = new RestClient("https://api.mindbaz.com/api/" + idSite + "/exports/subscribers");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer " + token);
var body = @"{""idTarget"": 1161,""idsFields"": [""0"",""1""],""filename"": ""test_export_api"",""quantity"": 0, ""typeList"": ""ID"",""compress"": ""GZip"",""encoding"": ""None"",""idRepository"": 0 }";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);