Create Contact via DOI (Double-Opt-In) Flow

Code Examples

You can use as reference the code below to implement this call in your preferred language.
Check all our official API clients here

const SibApiV3Sdk = require('sib-api-v3-sdk');
let defaultClient = SibApiV3Sdk.ApiClient.instance;

let apiKey = defaultClient.authentications['api-key'];
apiKey.apiKey = 'YOUR API KEY';

let apiInstance = new SibApiV3Sdk.ContactsApi();

let createDoiContact = new SibApiV3Sdk.CreateDoiContact(); // CreateDoiContact | Values to create the Double opt-in (DOI) contact

createDoiContact.email = "[email protected]";
createDoiContact.attributes = {"FNAME":"John","LNAME":"Doe"};
createDoiContact.includeListIds = [2];
createDoiContact.templateId = 1;
createDoiContact.redirectionUrl = "https://[email protected]";

apiInstance.createDoiContact(createDoiContact).then(function() {
  console.log('API called successfully.');
}, function(error) {
  console.error(error);
});
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'YOUR API KEY');

$apiInstance = new SendinBlue\Client\Api\ContactsApi(
    new GuzzleHttp\Client(),
    $config
);
$createDoiContact = new \SendinBlue\Client\Model\CreateDoiContact(); // \SendinBlue\Client\Model\CreateDoiContact | Values to create the Double opt-in (DOI) contact
$createDoiContact['email'] = '[email protected]';
$createDoiContact['attributes'] = array('FNAME'=>'John', 'LNAME'=>'Doe');
$createDoiContact['includeListIds'] = array(1);
$createDoiContact['templateId'] = 1;
$createDoiContact['redirectionUrl'] = "https://[email protected]";

try {
    $apiInstance->createDoiContact($createDoiContact);
} catch (Exception $e) {
    echo 'Exception when calling ContactsApi->createDoiContact: ', $e->getMessage(), PHP_EOL;
}
?>
from __future__ import print_function
import time
import sib_api_v3_sdk
from sib_api_v3_sdk.rest import ApiException
from pprint import pprint

configuration = sib_api_v3_sdk.Configuration()
configuration.api_key['api-key'] = 'YOUR API KEY'

api_instance = sib_api_v3_sdk.ContactsApi(sib_api_v3_sdk.ApiClient(configuration))
create_doi_contact = sib_api_v3_sdk.CreateDoiContact()
create_doi_contact.email = "[email protected]"
create_doi_contact.attributes = {"FNAME":"John","LNAME":"Doe"}
create_doi_contact.include_list_ids = [2]
create_doi_contact.template_id = 1
create_doi_contact.redirection_url = "https://[email protected]"

try:
    api_instance.create_doi_contact(create_doi_contact)
except ApiException as e:
    print("Exception when calling ContactsApi->create_doi_contact: %s\n" % e)
const SibApiV3Sdk = require('sib-api-v3-typescript');
 
let apiInstance = new SibApiV3Sdk.ContactsApi()

let apiKey = apiInstance.authentications['apiKey'];
apiKey.apiKey = 'YOUR API KEY';

let createDoiContact = new SibApiV3Sdk.CreateDoiContact();

createDoiContact.email = "[email protected]";
createDoiContact.attributes = {"FNAME":"John","LNAME":"Doe"};
createDoiContact.includeListIds = [2];
createDoiContact.templateId = 1;
createDoiContact.redirectionUrl = "https://[email protected]";

apiInstance.createDoiContact(createDoiContact).then(function() {
  console.log('API called successfully.');
}, function(error) {
  console.error(error);
});
package sibApi;

import sendinblue.ApiClient;
import sendinblue.Configuration;
import sendinblue.auth.ApiKeyAuth;
import sibModel.*;
import java.util.*;
import java.util.List;

public class Program {
    public static void main(String[] args) {
        ApiClient defaultClient = Configuration.getDefaultApiClient();
        // Configure API key authorization: api-key
        ApiKeyAuth apiKey = (ApiKeyAuth) defaultClient.getAuthentication("api-key");
        apiKey.setApiKey("YOUR API KEY");

        try {
            ContactsApi api = new ContactsApi();
            CreateDoiContact createDoiContact = new CreateDoiContact();
            createDoiContact.setEmail("[email protected]");
            Properties attributes = new Properties();
            attributes.setProperty("FIRSTNAME", "John");
            attributes.setProperty("LASTNAME", "Doe");
            createDoiContact.setAttributes(attributes);
            List<Long> includeListIds = new ArrayList<Long>();
            includeListIds.add(2l);
            createDoiContact.setIncludeListIds(includeListIds);
            List<Long> excludeListIds = new ArrayList<Long>();
            excludeListIds.add(4l);
            createDoiContact.setExcludeListIds(excludeListIds);
            createDoiContact.setTemplateId(1l);
            createDoiContact.setRedirectionUrl("https://example.net");
            api.createDoiContact(createDoiContact);
        } catch (Exception e) {
            System.out.println("Exception occurred:- " + e.getMessage());
        }
    }
}
using sib_api_v3_sdk.Api;
using sib_api_v3_sdk.Client;
using sib_api_v3_sdk.Model;
using System;
using System.Diagnostics;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;

namespace Sendinblue
{
    class Program
    {
        static void Main(string[] args)
        {
            Configuration.Default.ApiKey.Add("api-key", "YOUR API KEY");

            var apiInstance = new ContactsApi();
            string email = "[email protected]";
            JObject attributes = new JObject();
            attributes.Add("FIRSTNAME", "John");
            attributes.Add("LASTNAME", "Doe");
            List<long?> includeListIds = new List<long?>();
            includeListIds.Add(2);
            List<long?> excludeListIds = new List<long?>();
            excludeListIds.Add(4);
            long? templateId = 1;
            string redirectionUrl = "https://example.net";
            try
            {
                var createDoiContact = new CreateDoiContact(email, attributes, includeListIds, excludeListIds, templateId, redirectionUrl);
                apiInstance.CreateDoiContact(createDoiContact);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }
    }
}
package main
import (
	"fmt"
	"context"
    sib_api_v3_sdk "./lib"
)

func main() {
	var ctx context.Context
	var cli = sib_api_v3_sdk.APIClient{
		cfg: sib_api_v3_sdk.NewConfiguration(),
	}
	//Configure API key authorization: api-key
	cli.cfg.AddDefaultHeader("api-key", "YOUR_API_KEY")

	sib := sib_api_v3_sdk.NewAPIClient(cli.cfg)
  attr := map[string]interface{}{
	"FNAME":"John",
	"LNAME":"Doe",
	} 
	body := CreateDoiContact{
		Email:          "[email protected]",
    Attributes: attr,
		IncludeListIds: []int64{2},
		TemplateId:     int64(1),
		RedirectionUrl: "https://[email protected]",
	}

	resp, err := sib.ContactsApi.CreateDoiContact(ctx, body)
    if err!=nil{
        fmt.Println("Error in ContactsApi->CreateDoiContact ",err.Error())
        return
    }
	fmt.Println( "CreateDoiContact response:",resp)
	return 
}
# load the gem
require 'sib-api-v3-sdk'
# setup authorization
SibApiV3Sdk.configure do |config|
  # Configure API key authorization: api-key
  config.api_key['api-key'] = 'YOUR API KEY'
end

api_instance = SibApiV3Sdk::ContactsApi.new

create_doi_contact = SibApiV3Sdk::CreateDoiContact.new # CreateDoiContact | Values to create the Double opt-in (DOI) contact

create_doi_contact = {
  'email' => '[email protected]',
  'attributes' => {'FNAME'=>'John','LNAME'=>'Doe'},
  'includeListIds' => [2],
  'templateId' => 1,
  'redirectionUrl' => 'https://[email protected]'
}

begin
  #Create Contact via DOI (Double-Opt-In) Flow
  api_instance.create_doi_contact(create_doi_contact)
rescue SibApiV3Sdk::ApiError => e
  puts "Exception when calling ContactsApi->create_doi_contact: #{e}"
end
Language
Authorization
Header
Click Try It! to start a request and see the response here!