What is a unique identity corresponding to a gmail message?
X-GM-MSGID 1462906561521916648
or
Message-ID that you get in headers of a mail
Which of them is permanent? Are they unique for a user and identify a message uniquely for a user or are they unique for a user only and two users with same/different message can have the same messageid?
Thanks
Message-ID is a unique identifier for a digital message, most commonly a globally unique identifier used in email and Usenet newsgroups.
I'd go with that, as it's independent of GMail, guaranteed to be unique, well documented, and used since the dawn of time.
Further: Google commented that X-GM-MSGID could theoretically change.
Related
When using the DocuSign REST API, I assign a numeric value to each recipient in my envelope, starting from 1, 2, 3 etc.
However, when I receive DocuSign webhook events, within the RecipientStatuses section in the DS payload, the 'RecipientId' is now a GUID (generated by DocuSign). This Id means nothing to me, and so I can't use my originally assigned Recipient Id to map from the DS response to the relevant recipient in my system.
I'm not sure I can rely 100% on Name & Email for the mapping.
So, I thought I'd make use of the 'CustomFields' section against each recipient, as that seems comes back in the webhook payload unchanged. However, I've done some more testing and found a scenario where this logic falls down.
If my recipient happens to reassign to another user (upon visiting the signing ceremony), whilst I do receive a webhook event containing the updated RecipientStatuses (which now shows the original recipient as 'Completed' and a NEW recipient - the one that it was reassigned TO), the custom field that I'd assigned is moved out from my original recipient and into the NEW recipient - so if I was to use that custom field value as my approach to mapping, I would now have a recipient in my system with that custom field value that does not correspond with the recipient sent in the webhook payload.
I would use the list envelope recipients method to determine the mappings from my RecipientId to DocuSigns auto generated (Guid) RecipientId, but with the API limits, I can't make that call every time I receive a webhook event to get the latest recipient mapping data.
Has anyone come up against this issue, or implemented an alternative solution for this?
Good question. For now, I'd suggest that you record the triplet of {name, email, guid} where guid is a unique guid value that you assign to a recipient customField (as you're doing now).
This should then let you keep track of the recipients, including detecting the case of a recipient forwarding to another person that you discuss in your question.
But I also am puzzled by your statement that the {name, email} pair are not enough for identifying a given recipient. As it happens, DocuSign itself assumes {name, email} is a unique pair per person for various flows in the system.
Lastly, remember to test the case where the recipient changes their name. This can be done when a signing recipient first "adopts" a signature. Eg, they might change their name from an initial "Bob Smith" to their legal name of "Robert Smith" in preparation for signing your document.
Re: API limits -- as long as you're using Connect webhooks (and not polling), upgrading your API limit is usually not too hard. Discuss with your DocuSign customer support contacts or account manager.
I'm facing an issue lately that the id of an email changes.
I have an application that search the mail box on an hourly basis and I store the email id in order to prevent processing of the same email twice (the scans overlap hence I see the same emails more than once).
Any idea what can cause this change?
I understand you mean Google's ID which is returned by the API like with this example code; https://developers.google.com/gmail/api/v1/reference/users/messages/list#try-it
That ID of a message doesn't change by itself.
If one moves the email out of the account, and back in (via IMAP), then it would get a new ID.
Also, if you check the same email but in a different Gmail account, the ID will be different. the ID is unique only per account.
Perhaps it is useful for you to use the message-id? The message-id uniquely identifies any email, this ID is in the email header generated by the sending server and does not change. You can search for it in Gmail with rfc822msgid:
Hope this answers your question, but also let us know if not. ^^
I have a web app which I use to collect some information from a user (not name or email) and then plan on having them electronically sign a document via DocuSign immediately online (not via email).
In order to get a signing url (aka recipient view), it appears I have to provide a definition of a recipient. Part of the definition of a "recipient" is a username and email address. Is this true?
Does the DocuSign API/SDK require me to provide an end-user's (aka signer) name and email address? It seems like the API/SDK will always return a validation error if I don't provide these things. What if I don't have that information?
You need to provide the signer's name and their client_user_id within your app. You also need to supply an email for them.
The client_user_id must be unique per signer.
If you have the signer's email, use it.
If you don't, use a unique email address that includes the client_user_id to guarantee uniqueness. Eg noreply_{client_user_id} #your_company.com
Added
Re comments:
Yes, an email address is required by DocuSign to generate an embedded signing ceremony. But it is okay to fake one (that includes your app's client_user_id for the signer) if you don't, in fact, have the signer's email.
Re: Why is this the case? Because the email and name are used by DocuSign to index the "captive signer" (someone who signs your account's envelopes but doesn't have their own account with DocuSign). That's why a fake email must be unique to this person.
This technique of using name + email to identify people enables DocuSign to, for example, not require the signer to agree to the consumer agreement to use eSignatures on second and subsequent document signings with your account. -- This provides a better UX.
Since it is very common for web apps to know their user's email, this is usually not a problem. But if you don't know the signer's email, then everything works fine with a fake email as described above.
Added more
Re:
please provide a source for DocuSign being Okay with fake email address in this case? I mean is it legal?
Currently this technique for providing a fake email address for embedded signing (when a real email address is not available), is not documented on the DocuSign web site. I will add it to the embedded signing recipe when I revise it in 2017.
Re legality: the important issue is how your app authenticates the signer. Email is one way. Depending on the use case, email authentication may or may not provide a strong enough assurance to the relying party (the person who receives the signed document).
But we digress. Even if you do have a person's email address, it is common to authenticate the person beyond using their email. DocuSign has many different types of additional authentication built-in and easy to use including 2FA via SMS, pre-shared secret, in-person signing (which can include in-person verification of government ID), e-notary, digital certificates, telephone authentication, knowledge based authentication, and more. Most of these can be included with embedded signing if you wish.
Or your app (which is using embedded signing) can itself authenticate the person. When someone signed up for your app, did they have to first prove their identity? That was the authentication step. If no one else can log in as them, then they're still authenticated when you give them the embedded signing ceremony from DocuSign.
I have a DocuSign integration scenario that has resulted in what look to be multiple DS accounts created using the same email address but different passwords. I can login w\ the same email address, use two different passwords, and end up in two entirely different accounts.
Yes this is by design. The DocuSign platform uniquely identifies accounts based on user email and user name combinations. So creating multiple user accounts under the same email address is allowed.
One other thing to add here, there is also an option in DocuSign called
AnySigner
which allows you to send signature requests to AnySigner recipients which means all you send to is an email address (i.e. no username) and anyone who has access to that email account can sign and complete. This is a popular option for when you need something signed by anyone in a given department. For instance, you need a form signed by someone in your Human Resources department which has a common email they use.
I am using PHPmailer to send emails (newsletters) one by one to around 1000 contacts. The problem is that my web host provider blacklists my account and insists that I use a mailing list (containing all contacts) instead of sending out emails one by one.
AFAIK the problem with mailing lists is that the emails sent is the same for everyone, which prevents you from personalizing each message. Aside from not being able to include personal info such as the contact's name and product preferences, you also cannot include a contact's unique id, which you use for unsubscribing and for tracking responses to links/offers/ads.
So my question is, what is the industry standard/accepted way/pattern of sending bulk emails? Is it by sending out individually, or by using mailing list? If it's the latter, can you customize the email for each person in the mailing list?
Up to this point, I can only run PHPmailer from my web host provider and chose not to use third-party services such as MailChimp.
Thanks