Copiedcurl "https://www.zohoapis.com/crm/bulk/v2/write"
-X POST
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-d "@inputData.json"
CopiedString moduleAPIName = "Leads";
String fileId = "3477061000006121001";
BulkWriteOperations bulkWriteOperations = new BulkWriteOperations();
RequestWrapper requestWrapper = new RequestWrapper();
CallBack callback = new CallBack();
callback.setUrl("https://www.example.com/callback");
callback.setMethod(new Choice < String > ("post"));
requestWrapper.setCallback(callback);
requestWrapper.setCharacterEncoding("UTF-8");
requestWrapper.setOperation(new Choice < String > ("insert"));
List < Resource > resource = new ArrayList < Resource > ();
Resource resourceIns = new Resource();
resourceIns.setType(new Choice < String > ("data"));
resourceIns.setModule(moduleAPIName);
resourceIns.setFileId(fileId);
resourceIns.setIgnoreEmpty(true);
List < FieldMapping > fieldMappings = new ArrayList < FieldMapping > ();
FieldMapping fieldMapping;
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Last_Name");
fieldMapping.setIndex(0);
fieldMappings.add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Email");
fieldMapping.setIndex(1);
fieldMappings.add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Company");
fieldMapping.setIndex(2);
fieldMappings.add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Phone");
fieldMapping.setIndex(3);
fieldMappings.add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Website");
Map < String, Object > defaultValue = new HashMap < String, Object > ();
defaultValue.put("value", "https://www.zohoapis.com");
fieldMapping.setDefaultValue(defaultValue);
fieldMappings.add(fieldMapping);
resourceIns.setFieldMappings(fieldMappings);
resource.add(resourceIns);
requestWrapper.setResource(resource);
APIResponse < ActionResponse > response = bulkWriteOperations.createBulkWriteJob(requestWrapper);
Copiedimport javax.net.ssl.SSLContext;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;
public class CreateBulkWriteJob
{
@SuppressWarnings("deprecation")
public static void main(String[] args)
{
try
{
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();
URIBuilder uriBuilder = new URIBuilder("https://www.zohoapis.com/crm/bulk/v2/write");
HttpUriRequest requestObj = new HttpPost(uriBuilder.build());
HttpEntityEnclosingRequestBase requestBase = (HttpEntityEnclosingRequestBase) requestObj;
JSONObject requestBody = new JSONObject();
requestBody.put("operation", "insert");
JSONObject callback = new JSONObject();
callback.put("url", "https://www.example.com/callback");
callback.put("method", "post");
requestBody.put("callback", callback);
requestBody.put("character_encoding", "UTF-8");
JSONArray resource = new JSONArray();
JSONObject resourceObject = new JSONObject();
resourceObject.put("type", "data");
resourceObject.put("file_id", "111111000001492610");
resourceObject.put("module", "Leads");
resourceObject.put("ignore_empty", true);
JSONArray fieldMappings = new JSONArray();
JSONObject fieldMapping = new JSONObject();
fieldMapping.put("api_name", "Last_Name");
fieldMapping.put("index", 0);
fieldMappings.put(fieldMapping);
fieldMapping = new JSONObject();
fieldMapping.put("api_name", "Email");
fieldMapping.put("index", 1);
fieldMappings.put(fieldMapping);
fieldMapping = new JSONObject();
fieldMapping.put("api_name", "Company");
fieldMapping.put("index", 2);
fieldMappings.put(fieldMapping);
fieldMapping = new JSONObject();
fieldMapping.put("api_name", "Phone");
fieldMapping.put("index", 3);
fieldMappings.put(fieldMapping);
fieldMapping = new JSONObject();
fieldMapping.put("api_name", "Website");
JSONObject defaultValue = new JSONObject();
defaultValue.put("value", "https://www.zohoapis.com");
fieldMapping.put("default_value", defaultValue);
fieldMappings.put(fieldMapping);
resourceObject.put("field_mappings", fieldMappings);
resource.put(resourceObject);
requestBody.put("resource", resource);
requestBase.setEntity(new StringEntity(requestBody.toString(), HTTP.UTF_8));
requestObj.addHeader("Authorization", "Zoho-oauthtoken 1000.xxxxxxx.xxxxxxx");
requestObj.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
HttpResponse response = httpclient.execute(requestObj);
HttpEntity responseEntity = response.getEntity();
System.out.println("HTTP Status Code : " + response.getStatusLine().getStatusCode());
if(responseEntity != null)
{
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
System.out.println(responseString);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
Copied
$bulkWriteOperations = new BulkWriteOperations();
$requestWrapper = new RequestWrapper();
$callback = new CallBack();
$callback->setUrl("https://www.example.com/callback");
$callback->setMethod(new Choice("post"));
$requestWrapper->setCallback($callback);
$requestWrapper->setCharacterEncoding("UTF-8");
$requestWrapper->setOperation(new Choice("insert"));
$resource = array();
$resourceIns = new Resource();
$resourceIns->setType(new Choice("data"));
$resourceIns->setModule($moduleAPIName);
$resourceIns->setFileId($fileId);
$resourceIns->setIgnoreEmpty(true);
$fieldMappings = array();
$fieldMapping = new FieldMapping();
$fieldMapping->setAPIName("Last_Name");
$fieldMapping->setIndex(0);
array_push($fieldMappings, $fieldMapping);
$fieldMapping = new FieldMapping();
$fieldMapping->setAPIName("Email");
$fieldMapping->setIndex(1);
array_push($fieldMappings, $fieldMapping);
$fieldMapping = new FieldMapping();
$fieldMapping->setAPIName("Company");
$fieldMapping->setIndex(2);
array_push($fieldMappings, $fieldMapping);
$fieldMapping = new FieldMapping();
$fieldMapping->setAPIName("Phone");
$fieldMapping->setIndex(3);
array_push($fieldMappings, $fieldMapping);
$fieldMapping = new FieldMapping();
$fieldMapping->setAPIName("Website");
$defaultValue = array();
$defaultValue["value"] = "https://www.zohoapis.com";
$fieldMapping->setDefaultValue($defaultValue);
array_push($fieldMappings, $fieldMapping);
$resourceIns->setFieldMappings($fieldMappings);
array_push($resource, $resourceIns);
$requestWrapper->setResource($resource);
$response = $bulkWriteOperations->createBulkWriteJob($requestWrapper);
Copied<?php
class CreateBulkWriteJob
{
public function execute(){
$curl_pointer = curl_init();
$curl_options = array();
$curl_options[CURLOPT_URL] = "https://www.zohoapis.com/crm/bulk/v2/read";
$curl_options[CURLOPT_RETURNTRANSFER] = true;
$curl_options[CURLOPT_HEADER] = 1;
$curl_options[CURLOPT_CUSTOMREQUEST] = "POST";
$requestBody = array();
$callback = array();
$callback["url"]="https://www.example.com/callback";
$callback["method"]="post";
$query = array();
$query["module"]="Contacts";
$fields = array();
$fields[] = "Last_Name";
$fields[] = "Owner";
$fields[] = "Owner.last_name";
$fields[] = "Account_Name.Account_Name";
$fields[] = "Account_Name.Phone";
$fields[] = "Lead_Source";
$fields[] = "Created_Time";
$requestBody["callback"] =$callback;
$query["fields"]=$fields;
$criteria = array();
$criteria["group_operator"]="or";
$group = array();
$criteria1 = array();
$criteria1["api_name"]="Lead_Source";
$criteria1["comparator"]="equal";
$criteria1["value"]="Advertisement";
$criteria2 = array();
$criteria2["api_name"]="Owner.last_name";
$criteria2["comparator"]="equal";
$criteria2["value"]="Boyle";
$criteria3 = array();
$criteria3["api_name"]="Account_Name.Phone";
$criteria3["comparator"]="contains";
$criteria3["value"]="5";
$group = [$criteria1,$criteria2,$criteria3];
$criteria["group"] = $group;
$query["criteria"] =$criteria;
$query["page"] =1;
$requestBody["query"]=$query;
$curl_options[CURLOPT_POSTFIELDS]= json_encode($requestBody);
$headersArray = array();
$headersArray[] = "Authorization". ":" . "Zoho-oauthtoken " ."1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf";
$headersArray[] = "Content-Type".":"."application/json";
$curl_options[CURLOPT_HTTPHEADER]=$headersArray;
curl_setopt_array($curl_pointer, $curl_options);
$result = curl_exec($curl_pointer);
$responseInfo = curl_getinfo($curl_pointer);
curl_close($curl_pointer);
list ($headers, $content) = explode("\r\n\r\n", $result, 2);
if(strpos($headers," 100 Continue")!==false){
list( $headers, $content) = explode( "\r\n\r\n", $content , 2);
}
$headerArray = (explode("\r\n", $headers, 50));
$headerMap = array();
foreach ($headerArray as $key) {
if (strpos($key, ":") != false) {
$firstHalf = substr($key, 0, strpos($key, ":"));
$secondHalf = substr($key, strpos($key, ":") + 1);
$headerMap[$firstHalf] = trim($secondHalf);
}
}
$jsonResponse = json_decode($content, true);
if ($jsonResponse == null && $responseInfo['http_code'] != 204) {
list ($headers, $content) = explode("\r\n\r\n", $content, 2);
$jsonResponse = json_decode($content, true);
}
var_dump($headerMap);
var_dump($jsonResponse);
var_dump($responseInfo['http_code']);
}
}
(new CreateBulkWriteJob())->execute();
Copied
BulkWriteOperations bulkWriteOperations = new BulkWriteOperations();
RequestWrapper requestWrapper = new RequestWrapper();
CallBack callback = new CallBack();
callback.Url = "https://www.example.com/callback";
callback.Method = new Choice<string>("post");
requestWrapper.Callback = callback;
requestWrapper.CharacterEncoding = "UTF-8";
requestWrapper.Operation = new Choice<string>("update");
List<Resource> resource = new List<Resource>();
Resource resourceIns = new Resource();
resourceIns.Type = new Choice<string>("data");
resourceIns.Module = moduleAPIName;
resourceIns.FileId = fileId;
resourceIns.IgnoreEmpty = true;
resourceIns.FindBy = "Email";
List<FieldMapping> fieldMappings = new List<FieldMapping>();
FieldMapping fieldMapping;
fieldMapping = new FieldMapping();
fieldMapping.APIName = "Last_Name";
fieldMapping.Index = 0;
fieldMappings.Add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.APIName = "Email";
fieldMapping.Index = 1;
fieldMappings.Add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.APIName = "Company";
fieldMapping.Index = 2;
fieldMappings.Add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.APIName = "Phone";
fieldMapping.Index = 3;
fieldMappings.Add(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.APIName = "Website";
Dictionary<string, object> defaultValue = new Dictionary<string, object>();
defaultValue.Add("value", "https://www.zohoapis.com");
fieldMapping.DefaultValue = defaultValue;
fieldMappings.Add(fieldMapping);
resourceIns.FieldMappings = fieldMappings;
resource.Add(resourceIns);
requestWrapper.Resource = resource;
APIResponse<ActionResponse> response = bulkWriteOperations.CreateBulkWriteJob(requestWrapper);
Copiedusing System;
using System.IO;
using System.Net;
using System.Text;
using Newtonsoft.Json.Linq;
namespace Com.Zoho.Crm.API.Sample.RestAPI.BulkWrite
{
public class CreateBulkWriteJob
{
public static void CreateBulkWrite()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.zohoapis.com/crm/bulk/v2/write");
request.Method = "POST";
request.ContentType = "application/json";
request.Headers["Authorization"] = "Zoho-oauthtoken 1000.abfeXXXXXXXXXXX2asw.XXXXXXXXXXXXXXXXXXsdc2";
JObject requestBody = new JObject();
requestBody.Add("operation", "insert");
JObject callback = new JObject();
callback.Add("url", "https://www.example.com/callback");
callback.Add("method", "post");
requestBody.Add("callback", callback);
requestBody.Add("character_encoding", "UTF-8");
JArray resource = new JArray();
JObject resourceObject = new JObject();
resourceObject.Add("type", "data");
resourceObject.Add("file_id", "34770617819001");
resourceObject.Add("module", "Leads");
resourceObject.Add("ignore_empty", true);
JArray fieldMappings = new JArray();
JObject fieldMapping = new JObject();
fieldMapping.Add("api_name", "Last_Name");
fieldMapping.Add("index", 0);
fieldMappings.Add(fieldMapping);
fieldMapping = new JObject();
fieldMapping.Add("api_name", "Email");
fieldMapping.Add("index", 1);
fieldMappings.Add(fieldMapping);
fieldMapping = new JObject();
fieldMapping.Add("api_name", "Company");
fieldMapping.Add("index", 2);
fieldMappings.Add(fieldMapping);
fieldMapping = new JObject();
fieldMapping.Add("api_name", "Phone");
fieldMapping.Add("index", 3);
fieldMappings.Add(fieldMapping);
fieldMapping = new JObject();
fieldMapping.Add("api_name", "Website");
JObject defaultValue = new JObject();
defaultValue.Add("value", "https://www.zohoapis.com");
fieldMapping.Add("default_value", defaultValue);
fieldMappings.Add(fieldMapping);
resourceObject.Add("field_mappings", fieldMappings);
resource.Add(resourceObject);
requestBody.Add("resource", resource);
string dataString = requestBody.ToString();
var data = Encoding.UTF8.GetBytes(dataString);
int dataLength = data.Length;
request.ContentLength = dataLength;
using (var writer = request.GetRequestStream())
{
writer.Write(data, 0, dataLength);
}
request.KeepAlive = true;
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
if (e.Response == null) { throw; }
response = (HttpWebResponse)e.Response;
}
HttpWebResponse responseEntity = response;
Console.WriteLine("HTTP Status Code : " + (int)response.StatusCode);
string responsestring = new StreamReader(responseEntity.GetResponseStream()).ReadToEnd();
responseEntity.Close();
Console.WriteLine(responsestring);
}
}
}
Copied
bulk_write_operations = BulkWriteOperations()
request = RequestWrapper()
call_back = CallBack()
call_back.set_url("https://www.example.com/callback")
call_back.set_method(Choice('post'))
request.set_callback(call_back)
request.set_character_encoding('UTF-8')
request.set_operation(Choice('insert'))
resources = []
resource = Resource()
resource.set_type(Choice('data'))
resource.set_module(module_api_name)
resource.set_file_id(file_id)
resource.set_ignore_empty(True)
field_mappings = []
field_mapping = FieldMapping()
field_mapping.set_api_name('Email')
field_mapping.set_index(0)
field_mappings.append(field_mapping)
field_mapping = FieldMapping()
field_mapping.set_api_name('First_Name')
field_mapping.set_index(1)
field_mappings.append(field_mapping)
field_mapping = FieldMapping()
field_mapping.set_api_name('Last_Name')
field_mapping.set_index(2)
field_mappings.append(field_mapping)
field_mapping = FieldMapping()
field_mapping.set_api_name('Phone')
field_mapping.set_index(3)
field_mappings.append(field_mapping)
field_mapping = FieldMapping()
default_value = dict()
default_value["value"] = "www.zohoapis.com"
field_mapping.set_default_value(default_value)
field_mappings.append(field_mapping)
resource.set_field_mappings(field_mappings)
resources.append(resource)
request.set_resource(resources)
response = bulk_write_operations.create_bulk_write_job(request)
Copieddef create_bulk_write_job():
import requests
import json
url = 'https://www.zohoapis.com/crm/bulk/v2/write'
headers = {
'Authorization': 'Zoho-oauthtoken 1000.04be928e4a96XXXXXXXXXXXXX68.0b9eXXXXXXXXXXXX60396e268',
'Content-Type': 'application/json'
}
request_body = dict()
request_body['operation'] = 'insert'
call_back = {
'url': 'https://www.example.com/callback',
'method': 'post'
}
request_body['callback'] = call_back
request_body['character_encoding'] = 'UTF-8'
resource = list()
resource_object = {
'type': 'data',
'file_id': '111111000001492610',
'module': 'Leads',
}
field_mapping_1 = {
'api_name': 'Last_Name',
'index': 0
}
field_mapping_2 = {
'api_name': 'Email',
'index': 1
}
field_mapping_3 = {
'api_name': 'Company',
'index': 2
}
field_mapping_4 = {
'api_name': 'Phone',
'index': 3
}
field_mapping_5 = {
'api_name': 'Website',
'default_value': {
'value': 'https://www.zohoapis.com'
}
}
field_mappings = [
field_mapping_1,
field_mapping_2,
field_mapping_3,
field_mapping_4,
field_mapping_5
]
resource_object['field_mappings'] = field_mappings
resource.append(resource_object)
request_body['resource'] = resource
response = requests.post(url=url, headers=headers, data=json.dumps(request_body).encode('utf-8'))
if response is not None:
print("HTTP Status Code : " + str(response.status_code))
print(response.json())
create_bulk_write_job()
Copied//Get instance of BulkWriteOperations Class
let bulkWriteOperations = new BulkWriteOperations();
//Get instance of RequestWrapper Class that will contain the request body
let requestWrapper = new RequestWrapper();
//Get instance of CallBack Class
let callBack = new CallBack();
//Set valid callback URL.
callBack.setUrl("https://www.example.com/callback");
//Set the HTTP method of the callback URL. The allowed value is post.
callBack.setMethod(new Choice("post"));
//The Bulk Write Job's details are posted to this URL on successful completion / failure of the job.
requestWrapper.setCallback(callBack);
//Set the charset of the uploaded file
requestWrapper.setCharacterEncoding("UTF-8");
//To set the type of operation you want to perform on the bulk write job.
requestWrapper.setOperation(new Choice("insert"));
let resources = [];
//Get instance of Resource Class
let resource = new Resource();
// To set the type of module that you want to import. The value is data.
resource.setType(new Choice("data"));
//To set API name of the module that you select for bulk write job.
resource.setModule(moduleAPIName);
//To set the fileId obtained from file upload API.
resource.setFileId(fileId);
//True - Ignores the empty values.The default value is false.
resource.setIgnoreEmpty(true);
// To set a field as a unique field or ID of a record.
// resource.setFindBy("Email");
let fieldMappings = [];
//Get instance of FieldMapping Class
let fieldMapping = new FieldMapping();
//To set API name of the field present in Zoho module object that you want to import.
fieldMapping.setAPIName("Last_Name");
//To set the column index of the field you want to map to the CRM field.
fieldMapping.setIndex(0);
fieldMappings.push(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Email");
fieldMapping.setIndex(1);
fieldMappings.push(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Company");
fieldMapping.setIndex(2);
fieldMappings.push(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Phone");
fieldMapping.setIndex(3);
fieldMappings.push(fieldMapping);
let defaultValue = new Map();
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Website");
defaultValue.set("value", "www.zohoapis.com");
//To set the default value for an empty column in the uploaded file.
fieldMapping.setDefaultValue(defaultValue);
fieldMappings.push(fieldMapping);
resource.setFieldMappings(fieldMappings);
resources.push(resource);
//Set the array of resources to RequestWrapper instance
requestWrapper.setResource(resources);
//Call createBulkWriteJob method that takes RequestWrapper instance as parameter
let response = await bulkWriteOperations.createBulkWriteJob(requestWrapper);
Copiedasync function createBulkWriteJob() {
const got = require('got');
let url = 'https://www.zohoapis.com/crm/bulk/v2/write'
let headers = {
'Authorization': 'Zoho-oauthtoken 1000.04be928e4a9653ec5995ac4d5ca17c68.0b9e25ccbe5c6afe5f579e860396e268',
'Content-Type': 'application/json'
}
let requestBody = {}
requestBody['operation'] = 'insert'
let callBack = {
'url': 'https://www.example.com/callback',
'method': 'post'
}
requestBody['callback'] = callBack
requestBody['character_encoding'] = 'UTF-8'
let resource = []
let resourceObject = {
'type': 'data',
'file_id': '111111000001492610',
'module': 'Leads',
}
let fieldMapping1 = {
'api_name': 'Last_Name',
'index': 0
}
let fieldMapping2 = {
'api_name': 'Email',
'index': 1
}
let fieldMapping3 = {
'api_name': 'Company',
'index': 2
}
let fieldMapping4 = {
'api_name': 'Phone',
'index': 3
}
let fieldMapping5 = {
'api_name': 'Website',
'default_value': {
'value': 'https://www.zohoapis.com'
}
}
let fieldMappings = [
fieldMapping1,
fieldMapping2,
fieldMapping3,
fieldMapping4,
fieldMapping5
]
resourceObject['field_mappings'] = fieldMappings
resource.push(resourceObject)
requestBody['resource'] = resource
let requestDetails = {
method : "POST",
headers : headers,
body : JSON.stringify(requestBody),
encoding: "utf8",
throwHttpErrors : false
};
let response = await got(url, requestDetails)
if(response != null) {
console.log(response.statusCode);
console.log(response.body);
}
}
createBulkWriteJob()
Copied
cvid = '3524033000000087501'
bwo = BulkWrite::BulkWriteOperations.new
request_wrapper = BulkWrite::RequestWrapper.new
call_back = BulkWrite::CallBack.new
call_back.url = 'https://www.example.com/callback'
call_back.method = Util::Choice.new('post')
request_wrapper.callback = call_back
request_wrapper.character_encoding = 'UTF-8'
request_wrapper.operation = Util::Choice.new('insert')
resource_ins = BulkWrite::Resource.new
resource_ins.type = Util::Choice.new('data')
resource_ins.module = module_api_name
resource_ins.file_id = file_id
resource_ins.ignore_empty = true
field_mapping0 = BulkWrite::FieldMapping.new
field_mapping0.api_name = 'Last_Name'
field_mapping0.index = 0
field_mapping1 = BulkWrite::FieldMapping.new
field_mapping1.api_name = 'Email'
field_mapping1.index = 1
field_mapping2 = BulkWrite::FieldMapping.new
field_mapping2.api_name = 'Company'
field_mapping2.index = 2
field_mapping3 = BulkWrite::FieldMapping.new
field_mapping3.api_name = 'Phone'
field_mapping3.index = 3
field_mapping4 = BulkWrite::FieldMapping.new
field_mapping4.api_name = 'Website'
default_value = { 'value' => 'https://www.zohoapis.com' }
field_mapping4.default_value = default_value
field_mappings = [field_mapping0, field_mapping1, field_mapping2, field_mapping3, field_mapping4]
resource_ins.field_mappings = field_mappings
resource = [resource_ins]
request_wrapper.resource = resource
response = bwo.create_bulk_write_job(request_wrapper)
Copiedclass CreateBulkWriteJob
def execute
url ="https://www.zohoapis.com/crm/bulk/v2/write";
url = URI(url)
req = Net::HTTP::Post.new(url.request_uri)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
headers={}
headers["Authorization"]="Zoho-oauthtoken 1000.50XXXXXXXXX&77e3a.44XXXXXXXXX8353"
headers["Content-Type"]="application/json";
headers&.each { |key, value| req.add_field(key, value) }
request_body = {};
callback = {}
callback["url"]="https://www.example.com/callback";
callback["method"]="post";
query = {}
query["module"]="Contacts";
fields = ["Last_Name","Owner","Owner.last_name","Account_Name.Account_Name"]
request_body["callback"] =callback;
query["fields"]=fields;
criteria = {}
criteria["group_operator"]="or";
group = {}
criteria1 = {}
criteria1["api_name"]="Lead_Source";
criteria1["comparator"]="equal";
criteria1["value"]="Advertisement";
criteria2 = {}
criteria2["api_name"]="Owner.last_name";
criteria2["comparator"]="equal";
criteria2["value"]="Boyle";
criteria3 = {}
criteria3["api_name"]="Account_Name.Phone";
criteria3["comparator"]="contains";
criteria3["value"]="5";
group = [criteria1,criteria2,criteria3];
criteria["group"] = group;
query["criteria"] =criteria;
query["page"] =1;
request_body["query"]=query;
request_json = request_body.to_json
req.body = request_json.to_s
response=http.request(req)
status_code = response.code.to_i
headers = response.each_header.to_h
print status_code
print headers
unless response.body.nil?
print response.body
end
end
end
CreateBulkWriteJob.new.execute
Copied
let bulkWriteOperations = new ZCRM.BulkWrite.Operations();
let requestWrapper = new ZCRM.BulkWrite.Model.RequestWrapper();
let callBack = new ZCRM.BulkWrite.Model.CallBack();
callBack.setUrl("https://www.example.com/callback");
callBack.setMethod(new Choice("post"));
requestWrapper.setCallback(callBack);
requestWrapper.setCharacterEncoding("UTF-8");
requestWrapper.setOperation(new Choice("insert"));
let resources = [];
let resource = new ZCRM.BulkWrite.Model.Resource();
resource.setType(new Choice("data"));
resource.setModule(moduleAPIName);
resource.setFileId(fileId);
resource.setIgnoreEmpty(true);
let fieldMappings = [];
let fieldMapping = new ZCRM.BulkWrite.Model.FieldMapping();
fieldMapping.setAPIName("Last_Name");
fieldMapping.setIndex(0);
fieldMappings.push(fieldMapping);
fieldMapping = new ZCRM.BulkWrite.Model.FieldMapping();
fieldMapping.setAPIName("Email");
fieldMapping.setIndex(1);
fieldMappings.push(fieldMapping);
fieldMapping = new ZCRM.BulkWrite.Model.FieldMapping();
fieldMapping.setAPIName("Company");
fieldMapping.setIndex(2);
fieldMappings.push(fieldMapping);
fieldMapping = new ZCRM.BulkWrite.Model.FieldMapping();
fieldMapping.setAPIName("Phone");
fieldMapping.setIndex(3);
fieldMappings.push(fieldMapping);
let defaultValue = new Map();
fieldMapping = new ZCRM.BulkWrite.Model.FieldMapping();
fieldMapping.setAPIName("Website");
defaultValue.set("value", "www.zohoapis.com");
fieldMapping.setDefaultValue(defaultValue);
fieldMappings.push(fieldMapping);
resource.setFieldMappings(fieldMappings);
resources.push(resource);
requestWrapper.setResource(resources);
let response = await bulkWriteOperations.createBulkWriteJob(requestWrapper);
Copiedvar listener = 0;
class CreateBulkWriteJob {
async createBulkWriteJob() {
var url = "https://www.zohoapis.com/crm/bulk/v2/write"
var parameters = new Map()
var headers = new Map()
var token = {
clientId:"1000.NPY9M1V0XXXXXXXXXXXXXXXXXXXF7H",
redirectUrl:"http://127.0.0.1:5501/redirect.html",
scope:"ZohoCRM.users.ALL,ZohoCRM.bulk.read,ZohoCRM.modules.ALL,ZohoCRM.settings.ALL,Aaaserver.profile.Read,ZohoCRM.org.ALL,profile.userphoto.READ,ZohoFiles.files.ALL,ZohoCRM.bulk.ALL,ZohoCRM.settings.variable_groups.ALL"
}
var accesstoken = await new CreateBulkWriteJob().getToken(token)
headers.set("Authorization", "Zoho-oauthtoken " + accesstoken)
headers.set("Content-Type", "application/json")
var requestMethod = "POST"
var reqBody = {
"operation": "insert",
"callback": {
"url": "https://www.example.com/callback",
"method": "post"
},
"resource": [
{
"type": "data",
"module": "Leads",
"file_id": "111111000001492610",
"field_mappings": [
{
"api_name": "Last_Name",
"index": 0
},
{
"api_name": "Email",
"index": 1
},
{
"api_name": "Company",
"index": 2
},
{
"api_name": "Phone",
"index": 3
},
{
"api_name": "Website",
"default_value": {
"value": "www.zohoapis.com"
}
}
]
}
]
}
var params = "";
parameters.forEach(function(value, key) {
if (parameters.has(key)) {
if (params) {
params = params + key + '=' + value + '&';
}
else {
params = key + '=' + value + '&';
}
}
});
var apiHeaders = {};
if(headers) {
headers.forEach(function(value, key) {
apiHeaders[key] = value;
});
}
if (params.length > 0){
url = url + '?' + params.substring(0, params.length - 1);
}
var requestObj = {
uri : url,
method : requestMethod,
headers : apiHeaders,
body : JSON.stringify(reqBody),
encoding: "utf8",
allowGetBody : true,
throwHttpErrors : false
};
var result = await new CreateBulkWriteJob().makeAPICall(requestObj);
console.log(result.status)
console.log(result.response)
}
async getToken(token) {
if(listener == 0) {
window.addEventListener("storage", function(reponse) {
if(reponse.key === "access_token" && (reponse.oldValue != reponse.newValue || reponse.oldValue == null)){
location.reload();
}
if(reponse.key === "access_token"){
sessionStorage.removeItem("__auth_process");
}
}, false);
listener = 1;
if(sessionStorage.getItem("__auth_process")) {
sessionStorage.removeItem("__auth_process");
}
}
["granted_for_session", "access_token","expires_in","expires_in_sec","location","api_domain","state","__token_init","__auth_process"].forEach(function (k) {
var isKeyExists = localStorage.hasOwnProperty(k);
if(isKeyExists) {
sessionStorage.setItem(k, localStorage[k]);
}
localStorage.removeItem(k);
});
var valueInStore = sessionStorage.getItem("access_token");
var tokenInit = sessionStorage.getItem("__token_init");
if(tokenInit != null && valueInStore != null && Date.now() >= parseInt(tokenInit) + 59 * 60 * 1000){
valueInStore = null;
sessionStorage.removeItem("access_token");
}
var auth_process = sessionStorage.getItem("__auth_process");
if ((valueInStore == null && auth_process == null) || (valueInStore == 'undefined' && (auth_process == null || auth_process == "true"))) {
var accountsUrl = "https://accounts.zoho.com/oauth/v2/auth"
var clientId;
var scope;
var redirectUrl;
if(token != null) {
clientId = token.clientId;
scope = token.scope;
redirectUrl = token.redirectUrl;
}
var fullGrant = sessionStorage.getItem("full_grant");
var grantedForSession = sessionStorage.getItem("granted_for_session");
if(sessionStorage.getItem("__token_init") != null && ((fullGrant != null && "true" == full_grant) || (grantedForSession != null && "true" == grantedForSession))) {
accountsUrl += '/refresh';
}
if (clientId && scope) {
sessionStorage.setItem("__token_init", Date.now());
sessionStorage.removeItem("access_token");
sessionStorage.setItem("__auth_process", "true");
window.open(accountsUrl + "?" + "scope" + "=" + scope + "&"+ "client_id" +"=" + clientId + "&response_type=token&state=zohocrmclient&redirect_uri=" + redirectUrl);
["granted_for_session", "access_token","expires_in","expires_in_sec","location","api_domain","state","__token_init","__auth_process"].forEach(function (k) {
var isKeyExists = localStorage.hasOwnProperty(k);
if(isKeyExists){
sessionStorage.setItem(k, localStorage[k]);
}
localStorage.removeItem(k);
});
valueInStore = sessionStorage.getItem("access_token");
}
}
if(token != null && valueInStore != 'undefined'){
token.accessToken = valueInStore;
}
return token.accessToken;
}
async makeAPICall(requestDetails) {
return new Promise(function (resolve, reject) {
var body, xhr, i;
body = requestDetails.body || null;
xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open(requestDetails.method, requestDetails.uri, true);
for (i in requestDetails.headers) {
xhr.setRequestHeader(i, requestDetails.headers[i]);
}
xhr.send(body);
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
resolve(xhr);
}
}
})
}
}
Copied
let bulkWriteOperations: BulkWriteOperations = new BulkWriteOperations();
let requestWrapper: RequestWrapper = new RequestWrapper();
let callBack: CallBack = new CallBack();
callBack.setUrl("https://www.example.com/callback");
callBack.setMethod(new Choice("post"));
requestWrapper.setCallback(callBack);
requestWrapper.setCharacterEncoding("UTF-8");
requestWrapper.setOperation(new Choice("insert"));
let resources: Resource[] = [];
let resource: Resource = new Resource();
resource.setType(new Choice("data"));
resource.setModule(moduleAPIName);
resource.setFileId(fileId);
resource.setIgnoreEmpty(true);
let fieldMappings: FieldMapping[] = [];
let fieldMapping: FieldMapping = new FieldMapping();
fieldMapping.setAPIName("Last_Name");
fieldMapping.setIndex(0);
fieldMappings.push(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Email");
fieldMapping.setIndex(1);
fieldMappings.push(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Company");
fieldMapping.setIndex(2);
fieldMappings.push(fieldMapping);
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Phone");
fieldMapping.setIndex(3);
fieldMappings.push(fieldMapping);
let defaultValue: Map < string, string > = new Map < string,
string > ();
fieldMapping = new FieldMapping();
fieldMapping.setAPIName("Website");
defaultValue.set("value", "www.zohoapis.com");
fieldMapping.setDefaultValue(defaultValue);
fieldMappings.push(fieldMapping);
resource.setFieldMappings(fieldMappings);
resources.push(resource);
requestWrapper.setResource(resources);
let response: APIResponse < ActionResponse > = await bulkWriteOperations.createBulkWriteJob(requestWrapper);
Copiedimport got from 'got';
class CreateBulkWriteJob {
public async main() {
var apiHeaders: {[key: string]: string} = {};
var apiParameters: {[key: string]: string} = {};
var modifiedRequestBody: any= {
"operation": "insert",
"callback": {
"url": "https://www.example.com/callback",
"method": "post"
},
"resource": [
{
"type": "data",
"module": "Leads",
"file_id": "34770619331003",
"field_mappings": [
{
"api_name": "Last_Name",
"index": 0
},
{
"api_name": "Email",
"index": 1
},
{
"api_name": "Company",
"index": 2
},
{
"api_name": "Phone",
"index": 3
},
{
"api_name": "Website",
"default_value": {
"value": "www.zohoapis.com"
}
}
]
}
]
};
modifiedRequestBody = JSON.stringify(modifiedRequestBody)
apiHeaders["Content-Type"]= "application/json"
apiHeaders["Authorization"] = "Zoho-oauthtoken 1000.xxxxxxx.xxxxxx"
var requestDetails: {[key: string]: any} = {
method : "POST",
headers : apiHeaders,
searchParams : apiParameters,
body : modifiedRequestBody,
encoding: "utf8",
allowGetBody : true,
throwHttpErrors : false
};
var response = await got("https://www.zohoapis.com/crm/bulk/v2/write", requestDetails);
console.log(response.statusCode)
console.log(JSON.parse(response.body));
}
}
var v = new CreateBulkWriteJob()
v.main()