Web Service for Updating Contacts
Idea shared by Rogelio Arosemena - 4/12/2015 at 2:20 PM
Is it possible to have a Web Service to Insert, Update, Query or Delete Contacts on Smarter Mail Enterprise 13.x?
Rogelio Arosemena

13 Replies

Reply to Thread
Preach on!!!!  I have been asking for this activity too, since April of last year.
Glad to know I'm not alone with this request. With this we could sync with Google contacts api.
If they would, I could grow my company exponentially, I was (am) so serious about this, I had contacted SM about doing custom. I was willing to pay.... but they said they weren't taking any custom requests.
I have used this web service (mail.smartertools.com/Services/svcOutlookAddin.asmx) in the past to add contacts. That was back in version 6 that I used it so I am not sure if it will still work or not as I didn't see it on the list of services here: mail.smartertools.com/services/
Thanks, I found it yesterday and works great.
what????? Please - send me the doc, so that I can use... that would save me a lot of pain... Or point me to the document that has it.....
Well, there is no documentation so I went by try and error.

Here is my code to retrieve all contacts information:

&smContactListRequest = &svcOutlookAddin.RequestContactListEx(&LoginNameCharacter,&LoginPasswordCharacter,&LoginNameCharacter)
for &i=1 to &smContactListRequest.List.Count
&smContactMetaInfo = &smContactListRequest.List.Item(&i)
&GuidCharacter = &smContactMetaInfo.Guid

&smGetContactResult = &svcOutlookAddin.GetContactEx(&LoginNameCharacter,&LoginPasswordCharacter,&LoginNameCharacter,&GuidCharacter)

for &j=1 to &smGetContactResult.ExContact.key.Count
&KeyCharacter = &smGetContactResult.ExContact.key.Item(&j)
&ValueCharacter = &smGetContactResult.ExContact.val.Item(&j)
&ValueCharacter = GetStringFromBase64String.Udp(&ValueCharacter)
WriteToConsole.Call(&KeyCharacter+' = '+&ValueCharacter)


One of this days I will convert it to C# in order to make a simple synchornization program with gmail Contacts.

Thanks... I am even more frustrated... that they had this functionality... took it out... When I called directly trying to get this back, was told that there was no interest.
Thanks for the code, I greatly appreciate it.
Looks like they never took it out... Looks like the right hand has no idea what the left hand is doing, so to speak.
When it returns in the SOAP call, it looks like it is some sort of encoded string.
i tried using Base64 decode, that didn't work...
What is the encoding?
Here is my C# sample code for listing all contact data.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SmarterMail.OutlookAddin;

namespace SmarterMail
class Program
static void Main(string[] args)
string UserName = "<<Your Email Address>>";
string UserPassword = "<<Your Email Password>>";
string guid = "";
string hash = "";
string key = "";
string value = "";

ContactListRequest Contacts = new ContactListRequest();
ContactMetaInfo _ContactMetaInfo = new ContactMetaInfo();
GetContactResult Contact = new GetContactResult();

SmarterMail.OutlookAddin.svcOutlookAddinSoapClient ws = new svcOutlookAddinSoapClient();
Contacts = ws.RequestContactListEx(UserName, UserPassword, UserName);

for(int i=0; i<Contacts.List.Count(); i++)
_ContactMetaInfo = Contacts.List.ElementAt(i);
guid = _ContactMetaInfo.Guid;
hash = _ContactMetaInfo.Hash;
Contact = ws.GetContactEx(UserName, UserPassword, UserName, guid);
for(int j=0; j<Contact.ExContact.key.Count; j++)
key = Contact.ExContact.key.ElementAt(j);
value = Contact.ExContact.val.ElementAt(j);
byte[] data = System.Convert.FromBase64String(value);
value = System.Text.Encoding.UTF8.GetString(data);
if( value.Length > 0 )
Console.Out.WriteLine(key + ": " + value.TrimEnd());

Can WE PLEASE, PLEASE, PLEASE.. have a response .. one more time FROM SM personnel..
Obviously there was (is) code in place... just want to ensure that we can go forward.
Right now we are using Mail.ENABLE server/software for the 80% of our email clients.  Why???   Because they API and SOAP calls that allow us to edit/delete/ add contacts   for our clients.   This is SOOO mission critical.. because allows to surpass Microsoft 365 features and functions.   
If you are reading.. this and don't understand why this is so important... I would be more than happy to do a 5 minute webex, telelphone call or what ever.. to explain.     CRM is so relevant and such a touch-point for all of our clients... can't even to think of life without it.
I have stated offered to pay for custom development... whatever... 
Employee Replied
Employee Post
Starting with the release of SmarterMail 16.x, and in the Current Build, the API includes all aspects of the program. In the API documentation for the Current Build, you'll find documentation for using the API to add, edit, delete contacts and more. 

API Calls for Contacts: 

Reply to Thread