Service de gestion de contacts
Contrat WSDLhttp://api.dolist.net/v2/ContactManagementService.svc?wsdl
Exemple disponible
  • Implémentation en PHP.

  • Définition

    Le service de gestion de contacts vous permet d'interagir avec les données contacts de la base de données Dolist.
    L'ajout ou la modification de vos contacts sont réalisés de façon asynchrone.
    Pour chaque demande de mise à jour, un numéro de ticket vous sera donné. Elles seront traitées dès que le service sera libre.
    Vous devez faire appel à la méthode GetStatusByTicket pour savoir si la mise à jour a été correctement prise en compte.

    Ajout d'un contact

    Nom de la méthode : SaveContact

    Cette méthode vous permet d'ajouter un contact dans votre base de données Dolist.
    Si un contact existe déjà, les informations envoyées seront mises à jour. Seuls les champs présents dans le flux XML seront mis à jour. Les données vides ou non présentes n'effaceront pas les valeurs existantes dans la base de données.
    Cette méthode vous permet également d'abonner ou désabonner un contact. Si un contact s'est désabonné par lui-même via notre lien de désinscription, vous pourrez le ré-abonner. Cependant, tous les contacts de type Hardbounce / Injoignables... ne pourront pas être modifiés.
    Pour chaque appel à cette méthode, un numéro de ticket vous sera attribué.

    Attention, la clé primaire est l'e-mail. Il n'est pas possible d'avoir le même e-mail présent plusieurs fois dans la base.
    Les paramètres attendus en entrée
    ChampTypeDescription
    tokenAuthenticationTokenContextJeton d'authentification
    contactContactInfos du contact
    Les valeurs renvoyées
    TypeDescription
    stringRenvoie le ticket de la demande

    Statuts d'ajout/modification d'un contact

    Nom de la méthode : GetStatusByTicket

    Cette méthode vous indique si l'ajout ou la mise à jour du contact a bien été réalisé.
    Les paramètres attendus en entrée
    ChampTypeDescription
    tokenAuthenticationTokenContextJeton d'authentification
    ticketstringTicket de la demande
    Les valeurs renvoyées
    TypeDescription
    SavedContactInfoRésultat

    Détail d'un contact

    Nom de la méthode : GetContact

    Vous pouvez récupérer l'ensemble des données de votre (ou vos) contact(s) en appelant cette méthode.
    Vous pouvez définir des paramètres de sélection de champs pour obtenir seulement les informations souhaitées ou obtenir l'intégralité des champs en ne spécifiant rien.
    Les paramètres attendus en entrée
    ChampTypeDescription
    tokenAuthenticationTokenContextJeton d'authentification
    requestGetContactRequestParamètre de la requête
    Les valeurs renvoyées
    TypeDescription
    GetContactResponseDonnées des contacts

    Statistique base de contacts

    Nom de la méthode : GetContactCount

    Vous pouvez récupérer le nombre de contacts de votre base réparti par optout et par canal de diffusion.
    Vous pouvez spécifier uniquement l'optout et/ou le canal souhaités ou obtenir les statistiques de l'ensemble des contacts de la base.
    Les paramètres attendus en entrée
    ChampTypeDescription
    tokenAuthenticationTokenContextJeton d'authentification
    requestGetContactCountRequestParamètres de la requête
    Les valeurs renvoyées
    TypeDescription
    GetContactCountResponseLe nombre de contacts regroupé par optout et par canal de diffusion

    Les objets du service de gestion des contacts

    AuthenticationTokenContext

    ChampTypeDescription
    AccountIDintIdentifiant du client
    KeystringClé du jeton d'authentification
    ListIDintIdentifiant du client: obsolète. Utilisez AccountID à la place

      ServiceException

      ChampTypeDescription
      TicketstringLe numéro de ticket
      MessagestringLe message d'erreur
      DescriptionstringLa description de l'erreur
      ErrorCodeTypeErrorCodeTypeType du code de l'erreur
      ErrorCodeintCode de l'erreur

        Contact

        Contact à mettre à jour.
        ChampTypeDescription
        EmailstringEmail du contact
        FieldsField[] Liste des champs du contact
        InterestsToAddint[] Liste des intérêts à ajouter
        InterestsToDeleteint[] Liste des intérêts à supprimer
        OptoutEmailintOptout email du contact à modifier
        OptoutMobileintOptout sms du contact à modifier

        Les listes d'intérêts déclarés sont des listes d'identifiants d'intérêts déclarés que vous pouvez retrouver sur la plateforme Dolist dans l'onglet Administration, puis en "E.3 Les intérêts".
        Les valeurs des optouts possibles sont :
        • 0 : Inscription.
        • 1 : Désinscription.

        Field

        Champ du contact à mettre à jour avec la valeur du contact.
        ChampTypeDescription
        NamestringNom du champ à sauvegarder
        ValuestringValeur du champ à sauvegarder

        Les noms des champs correspondent aux champs d'un contact défini sur la plateforme Dolist dans l'onglet Administration, E.2 "Base de contact".
        Les dates doivent être au format "yyyy-MM-dd HH:mm:ss"
        Les champs "Civilité", "Pays" et "Format message" attendent des identifiants.

          SavedContactInfo

          Résultat de votre demande de mise à jour d'un contact.
          ChampTypeDescription
          DescriptionstringDescription du résultat sur l'ajout ou la modification du contact
          EmailstringEmail du contact ajouté ou modifié
          MemberIdintIdentifiant du contact ajouté ou modifié
          ReturnCodeintCode retour de l'ajout ou la modification du contact

          Les codes de retour possible sur la mise à jour du contact :
          • -1 : En attente de traitement
          • 0 : Erreur sur la mise à jour du contact
          • 1 : Succès de la mise à jour du contact
          • 402 : E-mail non autorisé par Dolist
          • 403 : Email incorrect
          • 404 : Modification impossible car e-mail de remplacement déjà présent en base
          • 408 : Modification de l'optout e-mail non autorisé pour ce contact

          GetContactRequest

          ChampTypeDescription
          AllFieldsbooleanIndique si on doit retourner tous les champs
          CulturestringCulture de l'utilisateur
          InterestbooleanIndique si les intérêts déclarés sont retournés par la requête
          LastModifiedOnlybooleanIndique si la requête doit retourner uniquement les derniers contacts modifiés
          OffsetintL'indice du 1er contact retourné
          RequestFilterRequestFilterLes critères de recherche des contacts
          ReturnFieldsstring[] La liste des champs d'un contact à retourner. Spécifier le nom du champ DOLIST

            RequestFilter

            ChampTypeDescription
            EmailstringE-mail du contact
            MemberIDintIdentifiant du contact

              GetContactResponse

              ChampTypeDescription
              ContactListContactData[] Liste des contacts
              ReturnContactsCountintLe nombre des contacts retournés par la requête
              TotalContactsCountintLe nombre total des contacts de la base correspondants aux critères de la requêtes

                ContactData

                ChampTypeDescription
                CustomFieldsCustomField[] Liste des champs du contact
                EmailstringEmail du contact
                ErrorintCompteur d'erreur du contact
                InterestsInterest[] Liste des intérêts déclarés du contact
                MemberIdintIdentifiant du contact
                OptoutEmailintOptout email du contact
                OptoutMobileintOptout sms du contact
                ReadOnlybooleanIndique si le optout du contact est modifiable et si la suppression est autorisée
                RentCountintLe compteur de location
                StatusintStatus du contact
                SubscribeDatedateTimeDate d'inscription du contact
                UnsubscribeDatedateTimeDate de désabonnement du contact
                UpdateDatedateTimeDate de modification du contact

                  CustomField

                  Résultat de votre demande de mise à jour d'un contact.
                  ChampTypeDescription
                  CustomNamestringNom personnalisé du champ
                  FieldTypeintChamp Système DOLIST - Typage de champ
                  NamestringNom du champ
                  ValuestringValeur du champ

                  Référez vous à l'API de "listing des champs Dolist" pour connaitre les propriétés du champ.
                  • 1 : Chaine de caractères
                  • 2 : Entier
                  • 3 : Date
                  • 4 : Civilité
                  • 6 : Interet déclaré
                  • 7 : Entité gestionnaire
                  • 8 : Pays
                  • 9 : Html
                  • 10 : Url

                  GetContactCountRequest

                  ChampTypeDescription
                  MediaMediaSupport de diffusion
                  OptoutOptoutStatut des contacts

                  Les valeurs possibles pour Media sont :
                  • All : Tous les canaux
                  • Email
                  • Mobile

                  GetContactCountResponse

                  ChampTypeDescription
                  ContactCountListContactCountPerOptout[] La répartition des contacts par optout et canal de diffusion

                  Les valeurs d'optout possibles sont :
                  • All : Tous les contacts
                  • Active : Contacts actifs
                  • Unsubscribed : Contacts inactifs désabonnés
                  • Unreachable : Contacts inactifs injoignables
                  • Excluded : Contacts inactifs exclus
                  • DolistInactive : Contacts inactifs Dolist
                  • SubscriptionPending : Contacts inactifs temporaires - En attente d'inscription
                  • SpamTemporary : Contacts inactifs temporaires - SPAM
                  • RentedContactExpiration : inactifs temporaires - Expiration contact loué

                  ContactCountPerOptout

                  ChampTypeDescription
                  ContactCountintLe nombre de contacts correspondants à l'optout
                  MediaMediaCanal de diffusion
                  OptoutOptoutStatut du contact
                  RentedContactCountintLe nombre de contacts loués correspondants à l'optout

                    Interest

                    ChampTypeDescription
                    GroupInterestGroupGroupe d'intérêt déclaré
                    InterestDatedateTimeDate d'inscription à l'intérêt déclaré
                    ValueInterestValueIntérêt déclaré

                      InterestGroup

                      ChampTypeDescription
                      IdintIdentifiant du groupe d'intérêt déclaré
                      NamestringNom du groupe d'intérêt déclaré

                        InterestValue

                        ChampTypeDescription
                        IdintIdentifiant de l'intérêt déclaré
                        NamestringNom de l'intérêt déclaré

                          Liste des erreurs communes

                          CodeNomDescription
                          0UnexpectedExceptionErreur inattendue
                          1AuthenticationExceptionErreur d'authentification
                          2NullTokenExceptionLe token est null, vérifiez que l'objet est correctement passé à la méthode et que les propriétés sont renseignées
                          3NullRequestExceptionL'objet 'request' est null, vérifiez que l'objet est correctement passé à la méthode et que les propriétés sont renseignées
                          4ForbiddenActionExceptionL'action demandée n'est pas autorisée
                          5InvalidArgumentExceptionLes arguments passés à la méthode ne sont pas valides, vérifiez les types des propriétés, leurs noms et leur nullité
                          6BadRequestExceptionLa requête n'est pas correcte
                          7NothingToDoExceptionLa requête demandée n'effectue aucun traitement, car les données soient déjà à jour, il est possible que la requête ai été exécuté plusieurs fois
                          8InvalidDataTypeExceptionLe type de donnée n'est pas valide
                          9UnknownTicketExceptionLe ticket n'est pas connu, vérifiez la valeur de celui-ci
                          10UnavailableTicketResultExceptionLe résultat associé n'est pas disponible, le traitement de la demande n'est pas terminé, veuillez réessayer plus tard.
                          11InvalidDatePeriodExceptionL'intervalle de temps n'est pas valide, vérifiez les dates passées à la requête
                          999998TokenNullLe token est null, vérifiez que l'objet est correctement passé à la méthode et que les propriétés sont renseignées
                          999999TokenNotAuthorizedL'objet 'token' n'est pas autorisé, vérifiez les propriétés