DocuSign creates the envelope via API but no e-mail are sent - docusignapi

And thanks in advance for any help !
When I create en envelope with the status "sent", the signers does not get e-mail any more.
Friday morning, everything was working I was receiving e-mail.
But since friday noon, i can not receive a single e-mail (for recipients).
When I use: envelopeApi.createEnvelope(this.config.accountId, { envelopeDefinition })
My code receive:
{
"envelopeId": "xxx",
"status": "sent",
"statusDateTime": "2021-07-26T09:29:11.1800000Z",
"uri": "/envelopes/xxx"
}
And When I check in the envelope administration panel, I see
If I try to create the envelope from the administration panel, emails are sent but not from API calls...
Is it my account which limited or did I missed something?
Complete code example:
async testSendEnvelope2() {
const signers: TemplateRole[] = [
{
email: 'sirko.alexandre#gmail.com',
name: 'alexander',
clientUserId: 'toto',
tabs: {
textTabs: [
{
tabLabel: 'toto',
locked: 'true',
required: 'true',
value: 'blabla',
},
],
},
roleName: 'Freeluper',
},
{
email: 'alexandre#jump-biz.com',
name: 'jalexandre',
clientUserId: 'titi',
tabs: {
textTabs: [
{
tabLabel: 'titi',
locked: 'true',
required: 'true',
value: 'blibli',
},
],
},
roleName: 'Company',
},
];
const env: EnvelopeDefinition = {
emailSubject: 'le sujet du mail',
status: 'sent',
templateId: 'xxx',
templateRoles: signers,
};
const results = await this.docusignService.sendEnvelope(env);
console.log(results);
}
And this.docusignService.sendEnvelope simply calls the envelopeApi.createEnvelope (with credentials)

Re: Why aren't my recipients receiving email invitations to the signing ceremony?
The reason is that you are setting the clientUserId attribute for the recipient objects.
When you do that, the recipients become captive (embedded) recipients. In this case, email is not sent since the assumption is that you want your application to offer the signing ceremony to them.
If you want to record recipient metadata without causing the recipients to become embedded signers, use the customFields attribute
Re: Limitations for developer accounts?
The main limitations for the developer (demo) accounts are:
the envelopes cannot be used for legally binding agreements
the envelopes are cleared out periodically.
Re slow email
On rare occasions the developer system gets a bit backed up and email delivery is slow.
A way to check is to use the DocuSign web app to send a test envelope from your developer account. If it works then you should suspect your API app.

Related

Paying out to Merchants in Stripe

I am new to Stripe and I am making an e-commerce site where customers can buy digital art and resell it. I am able to charge the customer fine, but I do not know how to pay out to customers with Stripe. I have tried to use Stripe Connect, but I keep getting error messages which I cannot fix.
My Code:
let account = await this.stripe.accounts.create({
type: 'custom',
country: 'US',
email: user.email,
capabilities: {
card_payments: {
requested: true,
},
transfers: {
requested: true,
},
},
business_type: 'individual',
})
await this.stripe.customers.create({
name: user.name,
email: user.email,
source
}, {
stripeAccount: account.id
})
The error:
Your account cannot currently make charges. To find out why charge creation is currently disabled, look at the `requirements.disabled_reason` property on this account (/v1/accounts/acct_****************).
Depends on the country, Service Agreement, Business type and capabilities, onboarding a Stripe custom Connect account requires you (platform) to gather information from the users for verification purpose.
You can view the requirements on this page

"You cannot specify a different service agreement in FI" returned from Stripe

I am triying to create stripe connected account in testing mode referencing
service_agreement: 'recipient'
here with the full code I wrote:
account = Stripe::Account.create(
type: 'custom',
business_type: 'company',
email: account_params[:email],
external_account: "btok_us_verified",
capabilities: {
transfers: {requested: true}
},
company: {
name: "Test Company name 6",
tax_id: "000000000",
},
tos_acceptance: {
service_agreement: 'recipient',
date: Time.now.to_i,
ip: request.remote_ip,
}
)
After I made the call stripe returned this error.
You cannot specify a different service agreement in FI.
But stripe docs says recipient service agreement is available.
Can anyone help me to figure out this issue.
This should be possible, or at least it worked when I tested using my test US-based platform. You may need to explicitly specify the account country=FI:
account = Stripe::Account.create(
type: 'custom',
**country: 'FI',**
business_type: 'company',
email: account_params[:email],
external_account: "btok_us_verified",
capabilities: {
transfers: {requested: true}
},
company: {
name: "Test Company name 6",
tax_id: "000000000",
},
tos_acceptance: {
service_agreement: 'recipient',
date: Time.now.to_i,
ip: request.remote_ip,
}
)
If this does not resolve it for you I can create a test FI platform to try myself.

Docusign Text Tabs in template not populating

I am using docusign (production account) to allow users to sign documents. I am trying to add data to textTabs that I create through the docusign dashboard. So say if I add a text box and call it nbShares, the below code does not populate the box. All the boxes I add in the dashboard such as signature, text, checkboxes etc are not shown in the generated link. I get no API errors either. I also tried to create customFields, and pass data to them as textTab - however this did not work either.
I think I may misunderstand the flow, I add all recipients and signers programatically - is that why I cant see the placeholders/buttons I add? I have also allowed collaboration in the fields I add, made them mandatory - yet they still do not appear.
Would really appreciate some help on this. This is my envelope definition - Im using the node sdk along with ts types.
const makeEnvelopeDefinition = async (
templateName: string,
user: User,
dealId?: string,
): Promise<EnvelopeDefinition> => {
const personToSign: Signer = {
email: user.email,
name: user.name,
roleName: 'Signer',
// Should this work?
tabs: {
textTabs: [
{ tabLabel: 'nbShares', value: '1000' },
],
},
clientUserId: DOCUSIGN_CLIENT_USER_ID,
recipientId: '1',
}
const compositeTemplate: CompositeTemplate = {
serverTemplates: [
{ sequence: '1', templateId: 'remote-template-id' },
],
inlineTemplates: [
{
sequence: '1',
recipients: {
signers: [personToSign],
certifiedDeliveries: [
{
email: 'someemail#something.com',
recipientId: '77',
name: 'Receipt of transaction',
},
{
email: user.email,
recipientId: '771',
name: user.name,
},
],
},
},
],
}
// create the envelope definition
const envelope: EnvelopeDefinition = {
emailSubject: 'Review signed document',
status: 'sent',
compositeTemplates: [compositeTemplate],
}
return envelope
}
For me the solution was changing my signer to this
const personToSign: Signer = {
email: user.email,
name: user.name,
clientUserId: await getDocusignConfig().DOCUSIGN_CLIENT_USER_ID,
recipientId: '1',
routingOrder: '1', // Was missing this
roleName: 'Signer', // Must match signer specified on docusign dashboard
tabs: {
textTabs: [
{
xPosition: '150',
yPosition: '200',
name: 'First Name',
tabLabel: 'name', // Must match the dataLabel name specified on docusign
value: 'Test',
},
],
},
}
And enabling this setting 'When an envelope is sent, write the initial value of the field for all recipients' in 'Signing Settings' on docusign.

Amazon Cognito - AdminCreateUser - how to not skip email verification

I am using Amazon Cognito user pool and AdminCreateUser api to create a new user so that we don't allow users to sign themselves up. It works great but it seems that email verification step is being skipped so when making an api call, I needed to set email_verified attribute to true to make reset password flow to work.
Can I make email verification to happen before sending out an inviatation email?
const params = {
DesiredDeliveryMediums: ['EMAIL'],
UserAttributes: [
{
Name: 'email',
Value: email
},
{
Name: 'email_verified',
Value: 'True'
},
],
Username: email,
UserPoolId: userPoolId,
}
cognitoIdentityService.adminCreateUser(params, function(err, data) {
// ...
To prevent backend to send verification email, set MessageACtion="SUPPRESS"
response = client.admin_create_user(
UserPoolId='USER_POOL_ID',
Username='USERNAME',
TemporaryPassword='PASSWORD',
UserAttributes=[
{
'Name': 'email',
'Value': 'email#example.com'
},
{
'Name': 'email_verified',
'Value': 'true'
}
],
MessageAction='SUPPRESS'
)

Google Contacts API learn is contact google+ or not

I'm using Google Contacts API to get user's contacts in my NodeJS app and I need to check, has contact google+ or not, but I can't find a way to do it in docs. Currently I'm receiving response from API that looks like this:
{ id: { '$t': 'http://www.google.com/m8/feeds/contacts/ex%40domain.com/base/40411dcf8aeb5354' },
updated: { '$t': '2016-08-12T08:03:22.026Z' },
category:
[ { scheme: 'http://schemas.google.com/g/2005#kind',
term: 'http://schemas.google.com/contact/2008#contact' } ],
title: { type: 'text', '$t': 'TestGoogleContact' },
link:
[ { rel: 'http://schemas.google.com/contacts/2008/rel#edit-photo',
type: 'image/*',
href: 'https://www.google.com/m8/feeds/photos/media/ii%40risingapp.com/40411dcf8aeb5354/1B2M2Y8AsgTpgAmY7PhCfg' },
{ rel: 'self',
type: 'application/atom+xml',
href: 'https://www.google.com/m8/feeds/contacts/ii%40risingapp.com/full/40411dcf8aeb5354' },
{ rel: 'edit',
type: 'application/atom+xml',
href: 'https://www.google.com/m8/feeds/contacts/ii%40risingapp.com/full/40411dcf8aeb5354/1470989002026004' } ],
'gd$email':
[ { address: 'testcontact#somedomain.com',
primary: 'true',
rel: 'http://schemas.google.com/g/2005#home' } ] }
Contacts API pre-dates Google+ so profile information is not available. A feature was added later to show just the G+ photo from the profile if a the user set one, which could be a hacky/flakey heuristic to check for a profile. However, you can easily get this information by using the People API instead, which joins G+ profile information onto contacts and will likely replace the Contacts API eventually: https://developers.google.com/people/

Resources