Skip to content

merge-api/merge-crm-csharp-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Merge.CRMClient - the C# library for the Merge CRM API

The unified API for building rich integrations with multiple CRM platforms.

This C# SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.0
  • SDK version: 1.0.1
  • Build package: org.openapitools.codegen.languages.CSharpNetCoreClientCodegen For more information, please visit https://www.merge.dev/

Frameworks supported

  • .NET Core >=1.0
  • .NET Framework >=4.6
  • Mono/Xamarin >=vNext

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.

Installation

Generate the DLL using your preferred tool (e.g. dotnet build)

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using Merge.CRMClient.Api;
using Merge.CRMClient.Client;
using Merge.CRMClient.Model;

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using Merge.CRMClient.Api;
using Merge.CRMClient.Client;
using Merge.CRMClient.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "https://api.merge.dev/api/crm/v1";
            // Configure API key authorization: tokenAuth
            config.ApiKey.Add("Authorization", "YOUR_API_KEY");
            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
            // config.ApiKeyPrefix.Add("Authorization", "Bearer");

            var apiInstance = new AccountDetailsApi(config);
            var xAccountToken = xAccountToken_example;  // string | Token identifying the end user.

            try
            {
                AccountDetails result = apiInstance.AccountDetailsRetrieve(xAccountToken);
                Debug.WriteLine(result);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AccountDetailsApi.AccountDetailsRetrieve: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://api.merge.dev/api/crm/v1

Class Method HTTP request Description
AccountDetailsApi AccountDetailsRetrieve GET /account-details
AccountTokenApi AccountTokenRetrieve GET /account-token/{public_token}
AccountsApi AccountsCreate POST /accounts
AccountsApi AccountsList GET /accounts
AccountsApi AccountsMetaPatchRetrieve GET /accounts/meta/patch/{id}
AccountsApi AccountsMetaPostRetrieve GET /accounts/meta/post
AccountsApi AccountsPartialUpdate PATCH /accounts/{id}
AccountsApi AccountsRemoteFieldClassesList GET /accounts/remote-field-classes
AccountsApi AccountsRetrieve GET /accounts/{id}
AssociationTypesApi CustomObjectClassesAssociationTypesCreate POST /custom-object-classes/{custom_object_class_id}/association-types
AssociationTypesApi CustomObjectClassesAssociationTypesList GET /custom-object-classes/{custom_object_class_id}/association-types
AssociationTypesApi CustomObjectClassesAssociationTypesMetaPostRetrieve GET /custom-object-classes/{custom_object_class_id}/association-types/meta/post
AssociationTypesApi CustomObjectClassesAssociationTypesRetrieve GET /custom-object-classes/{custom_object_class_id}/association-types/{id}
AssociationsApi CustomObjectClassesCustomObjectsAssociationsList GET /custom-object-classes/{custom_object_class_id}/custom-objects/{object_id}/associations
AssociationsApi CustomObjectClassesCustomObjectsAssociationsUpdate PUT /custom-object-classes/{source_class_id}/custom-objects/{source_object_id}/associations/{target_class_id}/{target_object_id}/{association_type_id}
AvailableActionsApi AvailableActionsRetrieve GET /available-actions
ContactsApi ContactsCreate POST /contacts
ContactsApi ContactsIgnoreCreate POST /contacts/ignore/{model_id}
ContactsApi ContactsList GET /contacts
ContactsApi ContactsMetaPatchRetrieve GET /contacts/meta/patch/{id}
ContactsApi ContactsMetaPostRetrieve GET /contacts/meta/post
ContactsApi ContactsPartialUpdate PATCH /contacts/{id}
ContactsApi ContactsRemoteFieldClassesList GET /contacts/remote-field-classes
ContactsApi ContactsRetrieve GET /contacts/{id}
CustomObjectClassesApi CustomObjectClassesGeneratorUpdate PUT /custom-object-classes/generator/{generator_id}
CustomObjectClassesApi CustomObjectClassesList GET /custom-object-classes
CustomObjectClassesApi CustomObjectClassesRetrieve GET /custom-object-classes/{id}
CustomObjectsApi CustomObjectClassesCustomObjectsCreate POST /custom-object-classes/{custom_object_class_id}/custom-objects
CustomObjectsApi CustomObjectClassesCustomObjectsList GET /custom-object-classes/{custom_object_class_id}/custom-objects
CustomObjectsApi CustomObjectClassesCustomObjectsMetaPatchRetrieve GET /custom-object-classes/{custom_object_class_id}/custom-objects/meta/patch/{id}
CustomObjectsApi CustomObjectClassesCustomObjectsMetaPostRetrieve GET /custom-object-classes/{custom_object_class_id}/custom-objects/meta/post
CustomObjectsApi CustomObjectClassesCustomObjectsPartialUpdate PATCH /custom-object-classes/{custom_object_class_id}/custom-objects/{id}
CustomObjectsApi CustomObjectClassesCustomObjectsRetrieve GET /custom-object-classes/{custom_object_class_id}/custom-objects/{id}
DeleteAccountApi DeleteAccountCreate POST /delete-account
EngagementTypesApi EngagementTypesList GET /engagement-types
EngagementTypesApi EngagementTypesRemoteFieldClassesList GET /engagement-types/remote-field-classes
EngagementTypesApi EngagementTypesRetrieve GET /engagement-types/{id}
EngagementsApi EngagementsCreate POST /engagements
EngagementsApi EngagementsList GET /engagements
EngagementsApi EngagementsMetaPatchRetrieve GET /engagements/meta/patch/{id}
EngagementsApi EngagementsMetaPostRetrieve GET /engagements/meta/post
EngagementsApi EngagementsPartialUpdate PATCH /engagements/{id}
EngagementsApi EngagementsRemoteFieldClassesList GET /engagements/remote-field-classes
EngagementsApi EngagementsRetrieve GET /engagements/{id}
ForceResyncApi SyncStatusResyncCreate POST /sync-status/resync
GenerateKeyApi GenerateKeyCreate POST /generate-key
IssuesApi IssuesList GET /issues
IssuesApi IssuesRetrieve GET /issues/{id}
LeadsApi LeadsCreate POST /leads
LeadsApi LeadsList GET /leads
LeadsApi LeadsMetaPostRetrieve GET /leads/meta/post
LeadsApi LeadsRemoteFieldClassesList GET /leads/remote-field-classes
LeadsApi LeadsRetrieve GET /leads/{id}
LinkTokenApi LinkTokenCreate POST /link-token
LinkedAccountsApi LinkedAccountsList GET /linked-accounts
NotesApi NotesCreate POST /notes
NotesApi NotesList GET /notes
NotesApi NotesMetaPostRetrieve GET /notes/meta/post
NotesApi NotesRemoteFieldClassesList GET /notes/remote-field-classes
NotesApi NotesRetrieve GET /notes/{id}
OpportunitiesApi OpportunitiesCreate POST /opportunities
OpportunitiesApi OpportunitiesList GET /opportunities
OpportunitiesApi OpportunitiesMetaPatchRetrieve GET /opportunities/meta/patch/{id}
OpportunitiesApi OpportunitiesMetaPostRetrieve GET /opportunities/meta/post
OpportunitiesApi OpportunitiesPartialUpdate PATCH /opportunities/{id}
OpportunitiesApi OpportunitiesRemoteFieldClassesList GET /opportunities/remote-field-classes
OpportunitiesApi OpportunitiesRetrieve GET /opportunities/{id}
PassthroughApi PassthroughCreate POST /passthrough
RegenerateKeyApi RegenerateKeyCreate POST /regenerate-key
SelectiveSyncApi SelectiveSyncConfigurationsList GET /selective-sync/configurations
SelectiveSyncApi SelectiveSyncConfigurationsUpdate PUT /selective-sync/configurations
SelectiveSyncApi SelectiveSyncMetaList GET /selective-sync/meta
StagesApi StagesList GET /stages
StagesApi StagesRemoteFieldClassesList GET /stages/remote-field-classes
StagesApi StagesRetrieve GET /stages/{id}
SyncStatusApi SyncStatusList GET /sync-status
TasksApi TasksCreate POST /tasks
TasksApi TasksList GET /tasks
TasksApi TasksMetaPatchRetrieve GET /tasks/meta/patch/{id}
TasksApi TasksMetaPostRetrieve GET /tasks/meta/post
TasksApi TasksPartialUpdate PATCH /tasks/{id}
TasksApi TasksRemoteFieldClassesList GET /tasks/remote-field-classes
TasksApi TasksRetrieve GET /tasks/{id}
UsersApi UsersIgnoreCreate POST /users/ignore/{model_id}
UsersApi UsersList GET /users
UsersApi UsersRemoteFieldClassesList GET /users/remote-field-classes
UsersApi UsersRetrieve GET /users/{id}
WebhookReceiversApi WebhookReceiversCreate POST /webhook-receivers
WebhookReceiversApi WebhookReceiversList GET /webhook-receivers

Documentation for Models

Documentation for Authorization

tokenAuth

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

About

The C# API Client for the Merge CRM API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published