Secure Exchanges SDK Documentation
Search Results for

    Show / Hide Table of Contents

    Codes de statut et erreurs

    Reference complete des codes de statut retournes par le SDK.

    Codes de succes

    Code Description
    200 Succes - Operation reussie

    Codes d'erreur client (4xx)

    Code Description Solution
    400 Requete invalide Verifiez les parametres envoyes
    401 Non autorise Verifiez Serial, ApiUser et ApiPassword
    403 Interdit Licence invalide ou expiree
    404 Non trouve Message ou ressource introuvable
    409 Conflit Message deja traite ou expire
    429 Trop de requetes Ralentissez vos appels

    Codes d'erreur serveur (5xx)

    Code Description Solution
    500 Erreur serveur Reessayez plus tard
    503 Service indisponible Maintenance en cours

    Gestion des erreurs

    Pattern recommande

    public class SecureExchangesException : Exception
    {
        public int StatusCode { get; }
        public string Details { get; }
    
        public SecureExchangesException(int statusCode, string details)
            : base($"Erreur {statusCode}: {details}")
        {
            StatusCode = statusCode;
            Details = details;
        }
    }
    
    public class MessageService
    {
        public string SendMessage(MutliRecipientArgs args)
        {
            var response = MessageHelper.MultiRecipientMessage(args);
    
            switch (response.Status)
            {
                case 200:
                    return response.RecipientsAnswer[0].Answer.URL;
    
                case 400:
                    throw new SecureExchangesException(400,
                        $"Parametres invalides: {response.Data}");
    
                case 401:
                    throw new SecureExchangesException(401,
                        "Identifiants API invalides. Verifiez vos credentials.");
    
                case 403:
                    throw new SecureExchangesException(403,
                        "Licence invalide ou expiree. Contactez le support.");
    
                case 404:
                    throw new SecureExchangesException(404,
                        "Ressource non trouvee.");
    
                case 500:
                    throw new SecureExchangesException(500,
                        $"Erreur serveur: {response.Data}. Reessayez plus tard.");
    
                default:
                    throw new SecureExchangesException(response.Status,
                        response.Data ?? "Erreur inconnue");
            }
        }
    }
    

    Avec retry automatique

    public async Task<string> SendMessageWithRetry(
        MutliRecipientArgs args,
        int maxRetries = 3,
        int delayMs = 1000)
    {
        for (int attempt = 1; attempt <= maxRetries; attempt++)
        {
            var response = MessageHelper.MultiRecipientMessage(args);
    
            if (response.Status == 200)
                return response.RecipientsAnswer[0].Answer.URL;
    
            // Retry seulement pour les erreurs temporaires
            if (response.Status >= 500 || response.Status == 429)
            {
                if (attempt < maxRetries)
                {
                    await Task.Delay(delayMs * attempt);
                    continue;
                }
            }
    
            throw new SecureExchangesException(response.Status, response.Data);
        }
    
        throw new Exception("Nombre maximum de tentatives atteint");
    }
    

    Erreurs courantes et solutions

    "Invalid credentials" (401)

    // Verifiez que vos GUIDs sont corrects
    Guid serial = new Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
    Guid apiUser = new Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY");
    Guid apiPassword = new Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ");
    
    // Verifiez l'endpoint
    Uri endpoint = new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx");
    

    "License expired" (403)

    Contactez support@secure-exchanges.com pour renouveler votre licence.

    "File too large" (400)

    La limite est de 2.5 Go. Compressez vos fichiers ou envoyez-les separement.

    "Invalid email format" (400)

    Verifiez le format des emails avec EmailHelper.IsValidEmail().

    Voir aussi

    • Guide de demarrage
    • Bonnes pratiques
    In this article
    Back to top Secure Exchanges Inc. - Documentation