Required role: | REGISUserRole |
POST | /DynamicsCRM/Contact/Upsert/Multiple |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class CRMContactCreateRequest implements IConvertible
{
int? regent_id;
String? first_name;
String? last_name;
String? middle_name;
String? preferred_name;
String? prefix;
String? addressee;
String? primary_salutation;
String? former_name;
String? spouse_name;
bool? spouse_is_main_contact;
String? addr1;
String? addr2;
String? city;
String? state;
String? country;
String? code;
DateTime? dob;
DateTime? deceased_date;
String? citizenship;
String? citizenship_other;
String? permanent_resident;
String? denomination;
String? connection_to_regent;
String? student_segment;
String? reason_added;
String? gender;
String? marital_status;
bool? financial_aid_received;
bool? is_applicant;
String? solicitation_method;
String? solicitation_exceptions;
bool? campaign_monitor_optin;
bool? campaign_monitor_suppressed;
String? campaign_monitor_lists;
String? email;
String? email_secondary;
String? phone_home;
String? phone_bus;
String? phone_cell;
bool? no_mail;
bool? no_email;
bool? no_bulk_email;
bool? no_phone;
bool? no_marketing_materials;
bool? prefers_email;
bool? prefers_phone;
DateTime? last_credit_class;
DateTime? last_audit_class;
DateTime? last_oncampus_class;
DateTime? last_distance_education_class;
DateTime? last_evening_weekend_class;
DateTime? last_summer_class;
DateTime? last_marketplace_class;
DateTime? last_anglican_studies_class;
String? image_base64;
String? owning_username;
CRMContactCreateRequest({this.regent_id,this.first_name,this.last_name,this.middle_name,this.preferred_name,this.prefix,this.addressee,this.primary_salutation,this.former_name,this.spouse_name,this.spouse_is_main_contact,this.addr1,this.addr2,this.city,this.state,this.country,this.code,this.dob,this.deceased_date,this.citizenship,this.citizenship_other,this.permanent_resident,this.denomination,this.connection_to_regent,this.student_segment,this.reason_added,this.gender,this.marital_status,this.financial_aid_received,this.is_applicant,this.solicitation_method,this.solicitation_exceptions,this.campaign_monitor_optin,this.campaign_monitor_suppressed,this.campaign_monitor_lists,this.email,this.email_secondary,this.phone_home,this.phone_bus,this.phone_cell,this.no_mail,this.no_email,this.no_bulk_email,this.no_phone,this.no_marketing_materials,this.prefers_email,this.prefers_phone,this.last_credit_class,this.last_audit_class,this.last_oncampus_class,this.last_distance_education_class,this.last_evening_weekend_class,this.last_summer_class,this.last_marketplace_class,this.last_anglican_studies_class,this.image_base64,this.owning_username});
CRMContactCreateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
regent_id = json['regent_id'];
first_name = json['first_name'];
last_name = json['last_name'];
middle_name = json['middle_name'];
preferred_name = json['preferred_name'];
prefix = json['prefix'];
addressee = json['addressee'];
primary_salutation = json['primary_salutation'];
former_name = json['former_name'];
spouse_name = json['spouse_name'];
spouse_is_main_contact = json['spouse_is_main_contact'];
addr1 = json['addr1'];
addr2 = json['addr2'];
city = json['city'];
state = json['state'];
country = json['country'];
code = json['code'];
dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
deceased_date = JsonConverters.fromJson(json['deceased_date'],'DateTime',context!);
citizenship = json['citizenship'];
citizenship_other = json['citizenship_other'];
permanent_resident = json['permanent_resident'];
denomination = json['denomination'];
connection_to_regent = json['connection_to_regent'];
student_segment = json['student_segment'];
reason_added = json['reason_added'];
gender = json['gender'];
marital_status = json['marital_status'];
financial_aid_received = json['financial_aid_received'];
is_applicant = json['is_applicant'];
solicitation_method = json['solicitation_method'];
solicitation_exceptions = json['solicitation_exceptions'];
campaign_monitor_optin = json['campaign_monitor_optin'];
campaign_monitor_suppressed = json['campaign_monitor_suppressed'];
campaign_monitor_lists = json['campaign_monitor_lists'];
email = json['email'];
email_secondary = json['email_secondary'];
phone_home = json['phone_home'];
phone_bus = json['phone_bus'];
phone_cell = json['phone_cell'];
no_mail = json['no_mail'];
no_email = json['no_email'];
no_bulk_email = json['no_bulk_email'];
no_phone = json['no_phone'];
no_marketing_materials = json['no_marketing_materials'];
prefers_email = json['prefers_email'];
prefers_phone = json['prefers_phone'];
last_credit_class = JsonConverters.fromJson(json['last_credit_class'],'DateTime',context!);
last_audit_class = JsonConverters.fromJson(json['last_audit_class'],'DateTime',context!);
last_oncampus_class = JsonConverters.fromJson(json['last_oncampus_class'],'DateTime',context!);
last_distance_education_class = JsonConverters.fromJson(json['last_distance_education_class'],'DateTime',context!);
last_evening_weekend_class = JsonConverters.fromJson(json['last_evening_weekend_class'],'DateTime',context!);
last_summer_class = JsonConverters.fromJson(json['last_summer_class'],'DateTime',context!);
last_marketplace_class = JsonConverters.fromJson(json['last_marketplace_class'],'DateTime',context!);
last_anglican_studies_class = JsonConverters.fromJson(json['last_anglican_studies_class'],'DateTime',context!);
image_base64 = json['image_base64'];
owning_username = json['owning_username'];
return this;
}
Map<String, dynamic> toJson() => {
'regent_id': regent_id,
'first_name': first_name,
'last_name': last_name,
'middle_name': middle_name,
'preferred_name': preferred_name,
'prefix': prefix,
'addressee': addressee,
'primary_salutation': primary_salutation,
'former_name': former_name,
'spouse_name': spouse_name,
'spouse_is_main_contact': spouse_is_main_contact,
'addr1': addr1,
'addr2': addr2,
'city': city,
'state': state,
'country': country,
'code': code,
'dob': JsonConverters.toJson(dob,'DateTime',context!),
'deceased_date': JsonConverters.toJson(deceased_date,'DateTime',context!),
'citizenship': citizenship,
'citizenship_other': citizenship_other,
'permanent_resident': permanent_resident,
'denomination': denomination,
'connection_to_regent': connection_to_regent,
'student_segment': student_segment,
'reason_added': reason_added,
'gender': gender,
'marital_status': marital_status,
'financial_aid_received': financial_aid_received,
'is_applicant': is_applicant,
'solicitation_method': solicitation_method,
'solicitation_exceptions': solicitation_exceptions,
'campaign_monitor_optin': campaign_monitor_optin,
'campaign_monitor_suppressed': campaign_monitor_suppressed,
'campaign_monitor_lists': campaign_monitor_lists,
'email': email,
'email_secondary': email_secondary,
'phone_home': phone_home,
'phone_bus': phone_bus,
'phone_cell': phone_cell,
'no_mail': no_mail,
'no_email': no_email,
'no_bulk_email': no_bulk_email,
'no_phone': no_phone,
'no_marketing_materials': no_marketing_materials,
'prefers_email': prefers_email,
'prefers_phone': prefers_phone,
'last_credit_class': JsonConverters.toJson(last_credit_class,'DateTime',context!),
'last_audit_class': JsonConverters.toJson(last_audit_class,'DateTime',context!),
'last_oncampus_class': JsonConverters.toJson(last_oncampus_class,'DateTime',context!),
'last_distance_education_class': JsonConverters.toJson(last_distance_education_class,'DateTime',context!),
'last_evening_weekend_class': JsonConverters.toJson(last_evening_weekend_class,'DateTime',context!),
'last_summer_class': JsonConverters.toJson(last_summer_class,'DateTime',context!),
'last_marketplace_class': JsonConverters.toJson(last_marketplace_class,'DateTime',context!),
'last_anglican_studies_class': JsonConverters.toJson(last_anglican_studies_class,'DateTime',context!),
'image_base64': image_base64,
'owning_username': owning_username
};
getTypeName() => "CRMContactCreateRequest";
TypeContext? context = _ctx;
}
class CRMContactUpsertMultipleRequest implements IConvertible
{
List<CRMContactCreateRequest>? contacts;
CRMContactUpsertMultipleRequest({this.contacts});
CRMContactUpsertMultipleRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
contacts = JsonConverters.fromJson(json['contacts'],'List<CRMContactCreateRequest>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'contacts': JsonConverters.toJson(contacts,'List<CRMContactCreateRequest>',context!)
};
getTypeName() => "CRMContactUpsertMultipleRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
'CRMContactCreateRequest': TypeInfo(TypeOf.Class, create:() => CRMContactCreateRequest()),
'CRMContactUpsertMultipleRequest': TypeInfo(TypeOf.Class, create:() => CRMContactUpsertMultipleRequest()),
'List<CRMContactCreateRequest>': TypeInfo(TypeOf.Class, create:() => <CRMContactCreateRequest>[]),
});
Dart CRMContactUpsertMultipleRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /DynamicsCRM/Contact/Upsert/Multiple HTTP/1.1
Host: data.regent-college.edu
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
contacts:
[
{
regent_id: 0,
first_name: String,
last_name: String,
middle_name: String,
preferred_name: String,
prefix: String,
addressee: String,
primary_salutation: String,
former_name: String,
spouse_name: String,
spouse_is_main_contact: False,
addr1: String,
addr2: String,
city: String,
state: String,
country: String,
code: String,
dob: 0001-01-01,
deceased_date: 0001-01-01,
citizenship: String,
citizenship_other: String,
permanent_resident: String,
denomination: String,
connection_to_regent: String,
student_segment: String,
reason_added: String,
gender: String,
marital_status: String,
financial_aid_received: False,
is_applicant: False,
solicitation_method: String,
solicitation_exceptions: String,
campaign_monitor_optin: False,
campaign_monitor_suppressed: False,
campaign_monitor_lists: String,
email: String,
email_secondary: String,
phone_home: String,
phone_bus: String,
phone_cell: String,
no_mail: False,
no_email: False,
no_bulk_email: False,
no_phone: False,
no_marketing_materials: False,
prefers_email: False,
prefers_phone: False,
last_credit_class: 0001-01-01,
last_audit_class: 0001-01-01,
last_oncampus_class: 0001-01-01,
last_distance_education_class: 0001-01-01,
last_evening_weekend_class: 0001-01-01,
last_summer_class: 0001-01-01,
last_marketplace_class: 0001-01-01,
last_anglican_studies_class: 0001-01-01,
image_base64: String,
owning_username: String
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } }