Manipuler la boite de réception
    Lister le contenu de la boite de réception
    TransfertPro vous permet de récupérer la liste des fichiers présents dans la boite de réception de l'utilisateur courant.
    Seuls les fichiers respectant les critères suivants sont retournés :
    
        - Le nombre de téléchargement du fichier ne doit pas dépasser la limite de téléchargement par fichier de la société de l'utilisateur courant.
- Le fichier doit être en ligne.
- L'utilisateur ne doit pas avoir supprimé le fichier sur son poste s'il utilise le client de synchronisation.
La liste des fichiers est triée par date de création décroissante. Si le workflow de validation est actif pour la société de l'utilisateur courant, alors le tri se fait sur la date de validation.
    
    Référence :
    Inbox/GetContent
    
        Exemple :
var inboxFiles = new List();
var request = CreateRequest("https://ext.transfertpro.com/api/v3/Inbox/", "application/json", HttpMethod.Get);
try
{
    using (HttpResponseMessage response = GetHttpClient().SendAsync(request).Result)
    {
        if (response.IsSuccessStatusCode)
        {
            string json = response.Content.ReadAsStringAsync().Result;
            var results = JsonConvert.DeserializeObject>(json);
            foreach (dynamic result in results)
            {
                inboxFiles.Add(new FileGeneric() { Id = result.gValue,
                    FileName = result.name,
                    FileSize = result.fileSize,
                    DateComplete = result.date,
                    Checksum = result.checksum,
                    IsShadow = result.shadow });
            }
        }
        else
        {
            // Gérer les codes status 400, 401, 403...
        }
    }
    request.Dispose();
}
catch (Exception ex)
{
    // Gérer les exceptions
}
return inboxFiles;
    
        Télécharger un fichier de la boite de réception
    
    TransfertPro vous permet de télécharger un fichier de la boite de réception.
    Seul l'utilisateur courant peut télécharger les fichiers de la boite de réception.
    L'appel à la méthode retourne un flux en lecture seule sur le fichier.
    Dans le cas où le fichier a été envoyé à l'utilisateur avec l'option 'Shadow' d'activée, il est impératif de fournir le mot de passe dans le modèle de la requête.
    Référence :
    Inbox/DownloadFile
    
        Exemple :
    
var suffixUrl = string.Format("Download");
var model = new { fileId = fileToDownloadId, fileName = fileToDownloadName };
var request = new HttpRequestMessage(HttpMethod.Post, "https://ext.transfertpro.com/api/v3/Inbox/Download");
var infoArJson = JsonConvert.SerializeObject(model, new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Arrays });
request.Content = new StringContent(infoArJson, Encoding.UTF8, "application/json");
    
try
{
    var response = GetHttpClient().SendAsync(request, HttpCompletionOption.ResponseHeadersRead).ContinueWith(task =>
    {
        var responseMessage = task.Result;
        if(responseMessage.IsSuccessStatusCode)
        {
            using (var responseStream = responseMessage.Content.ReadAsStreamAsync().Result)
            {
                // Lire le flux en lecture sur le fichier
            }
        }
        else
        {
            // Gérer les codes status 400, 401, 403...
        }
    });
    
    response.Wait();
}
catch (Exception ex)
{
    // Gérer les exceptions
}
    
request.Dispose();
    
        Connaitre le nombre de fichiers non téléchargés contenus dans la boite de réception
    
TransfertPro vous permet de récupérer le nombre de fichiers présents dans la boite de réception de l'utilisateur courant qui n'ont jamais été téléchargés.
Seuls les fichiers respectant les critères suivants sont comptabilisés :
    - Le fichier doit être en ligne.
- Si le workflow de validation est actif pour la société de l'utilisateur courant, le fichier doit être validé.
Référence :
    Inbox/GetNotDownloadedFilesNumber
    
        Exemple :
try
{
    var request = createRequest("https://ext.transfertpro.com/api/v3/Inbox/NotDownloadedFilesNumber", "application/json", HttpMethod.Get);
    
    using (HttpResponseMessage response = GetHttpClient().SendAsync(request).Result)
    {
        if(response.IsSuccessStatusCode)
        {
            var data = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
            int fileNumber = data.Count;
        }
        else
        {
            // Gérer les codes status 400, 401, 403...
        }
    }
    
    request.Dispose();
}
catch (Exception ex)
{
    // Gérer les exceptions
}
    
        Copier un fichier de la boite de réception
    
    
        Dans le cas où le fichier a été envoyé à l'utilisateur avec l'option 'Shadow' d'activée, il est impératif de fournir le mot de passe dans le modèle de la requête.
    
    Par défaut la copie n'écrase pas la destination si un fichier du même nom existe déjà. Si un fichier existe déjà une exception est levée. Pour indiquer à TransfertPro d'écraser le fichier, passez la propriété overwrite du modèle à true
    Une exception est levée si l'id du fichier source ne correspond pas à un fichier dans TransfertPro. Une exception est également levée si l'id du dossier de destination ne correspond pas à un dossier dans TransfertPro.
    Vers l’espace de travail
    Référence :
    Inbox/CopyToWorkspace
    
        Codes d'erreur :
    
    
        - 400L'id du fichier source est manquant ou l'id du partage cible est manquant ou l'id du dossier parent cible est manquant.
- 401L'utilisateur ne possède pas les droits nécessaires sur le partage pour exécuté cette opération. Le fichier spécifié ne correspond pas à un fichier de la boite de réception de l'utilisateur
- 404Le fichier source est introuvable ou le partage cible est introuvable ou le dossier parent cible est introuvable ou le dossier parent cible ne fait pas parti du partage.
Exemple :
try
{        
    string url = string.Format("https://ext.transfertpro.com/api/v3/Inbox/{0}/CopyToWorkspace", fileToCopyToWorkspaceId);
    var model = new { targetParentDirectoryId = folderToCopyTargetId };
    
    using (HttpResponseMessage response = GetHttpClient().PutAsJsonAsync("https://ext.transfertpro.com/api/v3/Inbox/CopyToWorkspace", model).Result)
    {
        if(response.IsSuccessStatusCode)
        {
            // Copie effectuée avec succès.
        }
        else
        {
            // Gérer les codes status 400, 401, 403...
        }
    }
    
    request.Dispose();
}
catch (Exception ex)
{
    // Gérer les exceptions
}
    Vers un dossier partagé par un autre utilisateur
    Référence :
    Shares/CopyFileFromInboxToShare
    
        Exemple :
    
try
{   
    long shareId; // Id du partage de destination
    Guid shareFolderId; // Id du dossier de destination   
    Guid inboxFileToCopy; // Id du fichier de la boite de reception à copier.
       
    string url = string.Format("https://ext.transfertpro.com/api/v3/Shares/{0}/Directories/{1}/CopyFromInbox", shareId, sharedFolderId);
    var model = new { sourceFileId = inboxFileToCopy };
    
    using (HttpResponseMessage response = GetHttpClient().PutAsJsonAsync(url, model).Result)
    {
        if(response.IsSuccessStatusCode)
        {
            // Copie effectuée avec succès.
        }
        else
        {
            // Gérer les codes status 400, 401, 403...
        }
    }
    
    request.Dispose();
}
catch (Exception ex)
{
    // Gérer les exceptions
}
    
        Rechercher des fichiers dans la boite de réception
    
    TransfertPro vous permet de rechercher des fichiers dans la boite de réception de l'utilisateur courant.
    Seuls les fichiers respectant les critères suivants sont retournés :
    
        - Le fichier doit être en ligne.
La recherche est insensible à la casse.
    
    Référence :
    Inbox/Search
    
        Codes d'erreur :
        - 400Le texte à rechercher est manquant.
Exemple :
    
try
{  
    string searchText; // Texte à rechercher dans le nom du fichier.
    var url = string.Format("https://ext.transfertpro.com/api/v3/Inbox/Search/{0}", searchText);
    var request = createRequest(url, "application/json", HttpMethod.Get);
    using (HttpResponseMessage response = GetHttpClient().SendAsync(request).Result)
    {
        if(response.IsSuccessStatusCode)
        {
            // Recherche effectuée avec succès.
            List datas = (List)JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result, typeof(List));
        }
        else
        {
            // Gérer les codes status 400, 401, 403...
        }
    }
    request.Dispose();
}
catch (Exception ex)
{
    // Gérer les exceptions
}
    
    Envoyer des messages
    Envoyer des fichiers
    Lister les fichiers que vous avez envoyé
    Supprimer un fichier envoyé
    
        Gérer le workflow de validation des envois
    
    Connaitre le nombre d’envois en attente de validation
    Lister les envois en attente de validation
    Valider un envoi
    Rejeter un envoi
    Resoumettre un envoi à validation
    Prévisualiser un fichier
    Manipuler l’utilisateur courant et sa société
    Récupérer les informations de l’utilisateur courant
    Récupérer les informations de la société de l’utilisateur courant
    Mettre à jour les informations de l’utilisateur courante
    Mettre à jour les informations de la société de l’utilisateur courant
    Gérer les contacts de l’utilisateur
    Rechercher un contact
    Importer des contacts dans TransfertPro
    Manipuler les fichiers de l’espace de travail et des partages
    Récupérer la racine de l’espace de travail
    Lister le contenu d’un dossier
    Créer un nouveau dossier
    Dans l’espace de travail de l’utilisateur courant
    Dans un dossier partagé par un autre utilisateur
    Supprimer un dossier
    Dans l’espace de travail de l’utilisateur courant
    Dans un dossier partagé par un autre utilisateur
    Renommer un dossier
    Dans l’espace de travail de l’utilisateur courant
    Dans un dossier partagé par un autre utilisateur
    Copier un dossier
    Au sein de l’espace de travail de l’utilisateur courant
    De l’espace de travail de l’utilisateur courant vers un dossier partagé par un autre utilisateur
    D’un dossier partagé par un autre utilisateur vers l’espace de travail de l’utilisateur courant
    Entre deux dossiers partagés
    Déplacer un dossier
    	Au sein de l’espace de travail de l’utilisateur courant
    	De l’espace de travail de l’utilisateur courant vers un dossier partagé par un autre utilisateur
    	D’un dossier partagé par un autre utilisateur vers l’espace de travail de l’utilisateur courant
    	Entre deux dossiers partagés
    Supprimer un fichier
    	Dans l’espace de travail de l’utilisateur courant
    	Dans un dossier partagé par un autre utilisateur
    Renommer un fichier
    	Dans l’espace de travail de l’utilisateur courant
    	Dans un dossier partagé par un autre utilisateur
    Copier un fichier
    	Au sein de l’espace de travail de l’utilisateur courant
    	De l’espace de travail de l’utilisateur courant vers un dossier partagé par un autre utilisateur
    	D’un dossier partagé par un autre utilisateur vers l’espace de travail de l’utilisateur courant
    	Entre deux dossiers partagés
    Déplacer un fichier
    	Au sein de l’espace de travail de l’utilisateur courant
    	De l’espace de travail de l’utilisateur courant vers un dossier partagé par un autre utilisateur
    	D’un dossier partagé par un autre utilisateur vers l’espace de travail de l’utilisateur courant
    	Entre deux dossiers partagés
    Déterminer l’existence d’un fichier
    	Dans l’espace de travail de l’utilisateur courant
    	Dans un dossier partagé par un autre utilisateur
    Uploader un fichier
    	Dans l’espace de travail de l’utilisateur courant
    	Dans un dossier partagé par un autre utilisateur
    Uploader une arborescence
    	Dans l’espace de travail de l’utilisateur courant
    	Dans un dossier partagé par un autre utilisateur
    Télécharger un fichier
    Dans l’espace de travail de l’utilisateur courant
    Dans un dossier partagé par un autre utilisateur
    Récupérer la racine de la corbeille
    Lister le contenu d’un dossier de la corbeille
    Vider la corbeille
    Manipuler les partages
    Lister les utilisateurs ayant partagés des dossiers avec l’utilisateur courant
    Lister les dossiers partagés par un utilisateur spécifique avec l’utilisateur courant