Skip to content

E-goi/sdk-csharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-goi

Get started quickly with E-goi with our integration tools. Our SDK is a modern open source library that makes it easy to integrate your application with E-goi services.

Almost anything you can do in E-goi, you can do with our API.

The API describes each available method. Learn about parameters, errors, and how to format your requests. That means you can easily call on E-goi actions for your integration. API Full documentation at https://developers.e-goi.com/api/v3/

Note: This repository is currently in Release Candidate stage. Use with caution in production environments.

Feel free to fork this repository and adapt it to your needs. Contributions and improvements are always welcome!

Changelog

1.1.12RC1

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)

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

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out org.egoi.client.api.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using org.egoi.client.api.Api;
using org.egoi.client.api.Client;
using org.egoi.client.api.Model;

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

            Configuration.Default.BasePath = "https://api.egoiapp.com";
            // Configure API key authorization: Apikey
            Configuration.Default.ApiKey.Add("Apikey", "YOUR_API_KEY");
            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
            // Configuration.Default.ApiKeyPrefix.Add("Apikey", "Bearer");

            var apiInstance = new AdvancedReportsApi(Configuration.Default);
            var generateByModelReport = new GenerateByModelReport(); // GenerateByModelReport | Parameters for the report by model Id

            try
            {
                // Generate report by model
                AcceptedResponse result = apiInstance.GenerateByModelReport(generateByModelReport);
                Debug.WriteLine(result);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AdvancedReportsApi.GenerateByModelReport: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://api.egoiapp.com

Class Method HTTP request Description
AdvancedReportsApi GenerateByModelReport POST /reports/advanced/model Generate report by model
AdvancedReportsApi GenerateContactActivityReport POST /reports/advanced/contact-activity Generate contact activity report
AdvancedReportsApi GenerateEmailBouncesReport POST /reports/advanced/email-bounces Generate email bounces report
AdvancedReportsApi GenerateEmailClicksByContactReport POST /reports/advanced/email-clicks-by-contact Generate email clicks by contact report
AdvancedReportsApi GenerateEmailClicksByUrlReport POST /reports/advanced/email-clicks-by-url Generate email clicks by URL report
AdvancedReportsApi GenerateEmailEventsReport POST /reports/advanced/email-events Generate email events report
AdvancedReportsApi GenerateEmailUnsubscriptionsReport POST /reports/advanced/email-unsubscriptions Generate email unsubscriptions report
AdvancedReportsApi GenerateFormAnswersReport POST /reports/advanced/form-answers Generate form answers report
AdvancedReportsApi GenerateSendsReport POST /reports/advanced/sends Generate sends report
AdvancedReportsApi GenerateSmsBouncesReport POST /reports/advanced/sms-bounces Generate SMS bounces report
AdvancedReportsApi GenerateSmsEventsReport POST /reports/advanced/sms-events Generate SMS events report
AdvancedReportsApi GenerateSubscriptionsReport POST /reports/advanced/subscriptions Generate subscriptions report
AdvancedReportsApi GenerateUnsubscriptionsReport POST /reports/advanced/unsubscriptions Generate unsubscriptions report
AdvancedReportsApi GetAllAdvancedReports GET /reports/advanced Get all advanced reports
AdvancedReportsApi GetAllAdvancedReportsModels GET /reports/advanced/models Get all advanced reports models
AutomationsApi DeleteAutomation DELETE /automations/{automation_id} Remove automation
AutomationsApi GetAllActions GET /automations/{automation_id}/actions Get all actions from given automation
AutomationsApi GetAllAutomations GET /automations Get all automations
CNamesApi CreateCName POST /cnames Create cname
CNamesApi GetAllCNames GET /cnames Get All CNames
CampaignGroupsApi CreateCampaignGroup POST /campaign-groups Create new campaign group
CampaignGroupsApi DeleteCampaignGroup DELETE /campaign-groups/{group_id} Remove Campaign Group
CampaignGroupsApi GetAllCampaignGroups GET /campaign-groups Get all campaign groups
CampaignGroupsApi UpdateCampaignGroup PUT /campaign-groups/{group_id} Update a specific campaign group
CampaignsApi DeleteCampaigns DELETE /campaigns/{campaign_hash} Remove Campaign
CampaignsApi GetAllCampaigns GET /campaigns Get all Campaigns
ConnectedSitesApi CreateConnectedSites POST /connectedsites Creates a Connected Site
ConnectedSitesApi DeleteConnectedSites DELETE /connectedsites/{domain} Deletes a Connected Site
ConnectedSitesApi GetAllConnectedSites GET /connectedsites Get all Connected Sites
ConnectedSitesApi GetConnectedSites GET /connectedsites/{domain} Get a Connected Site
ContactsApi ActionActivateContacts POST /lists/{list_id}/contacts/actions/activate Activate contacts
ContactsApi ActionAttachTag POST /lists/{list_id}/contacts/actions/attach-tag Attach tag to contact
ContactsApi ActionDeactivateContacts POST /lists/{list_id}/contacts/actions/deactivate Deactivate contacts
ContactsApi ActionDetachTag POST /lists/{list_id}/contacts/actions/detach-tag Detach tag to contact
ContactsApi ActionExportContacts POST /lists/{list_id}/contacts/actions/export Exports a list of contacts
ContactsApi ActionForgetContacts POST /lists/{list_id}/contacts/actions/forget Forget contacts
ContactsApi ActionImportBulk POST /lists/{list_id}/contacts/actions/import-bulk Import collection of contacts
ContactsApi ActionStartAutomation POST /lists/{list_id}/contacts/actions/start-automation Start automation
ContactsApi ActionUnsubscribeContact POST /lists/{list_id}/contacts/actions/unsubscribe Unsubscribes contacts
ContactsApi ActionUpdateContacts POST /lists/{list_id}/contacts/actions/update Updates contacts
ContactsApi CreateContact POST /lists/{list_id}/contacts Create new contact
ContactsApi GetAllContactActivities GET /lists/{list_id}/contacts/{contact_id}/activities Get all contact activities
ContactsApi GetAllContacts GET /lists/{list_id}/contacts Get all contacts
ContactsApi GetAllContactsBySegment GET /lists/{list_id}/contacts/segment/{segment_id} Get all contacts by Segment Id
ContactsApi GetContact GET /lists/{list_id}/contacts/{contact_id} Get contact
ContactsApi PatchContact PATCH /lists/{list_id}/contacts/{contact_id} Update a specific contact
ContactsApi SearchContacts GET /contacts/search Search contact
ContactsApi UpdateContactByField POST /lists/{list_id}/contacts/by-field Updates a contact by field
EcommerceApi CreateCart POST /{domain}/carts Create cart
EcommerceApi CreateCatalog POST /catalogs Create new catalog
EcommerceApi CreateOrder POST /{domain}/orders Create order
EcommerceApi CreateProduct POST /catalogs/{catalog_id}/products Create new product
EcommerceApi DeleteCatalog DELETE /catalogs/{catalog_id} Remove catalog
EcommerceApi DeleteProduct DELETE /catalogs/{catalog_id}/products/{product_identifier} Remove product
EcommerceApi GetAllCatalogs GET /catalogs Get all catalogs
EcommerceApi GetAllProducts GET /catalogs/{catalog_id}/products Get all products
EcommerceApi GetProduct GET /catalogs/{catalog_id}/products/{product_identifier} Get product
EcommerceApi ImportOrdersBulk POST /lists/{list_id}/orders Orders import bulk request
EcommerceApi ImportProducts POST /catalogs/{catalog_id}/products/actions/import Import products
EcommerceApi UpdateProduct PATCH /catalogs/{catalog_id}/products/{product_identifier} Update product
EmailApi ActionEnableEmailRss POST /campaigns/email/rss/{campaign_hash}/actions/enable Enables a rss email campaign
EmailApi ActionSendEmail POST /campaigns/email/{campaign_hash}/actions/send Send email message
EmailApi CreateEmailCampaign POST /campaigns/email Create new email campaign
EmailApi CreateEmailRssCampaign POST /campaigns/email/rss Create new email rss campaign
EmailApi PatchEmailCampaign PATCH /campaigns/email/{campaign_hash} Update a specific email campaign
FieldsApi CreateExtraField POST /lists/{list_id}/fields/extra Create extra field
FieldsApi CreateFieldOption POST /lists/{list_id}/fields/extra/{field_id}/options Create new field option
FieldsApi DeleteExtraField DELETE /lists/{list_id}/fields/extra/{field_id} Remove extra field
FieldsApi DeleteFieldOption DELETE /lists/{list_id}/fields/extra/{field_id}/options/{option_id} Deletes an option
FieldsApi GetAllFieldOptions GET /lists/{list_id}/fields/extra/{field_id}/options Get all field options
FieldsApi GetAllFields GET /lists/{list_id}/fields Get all fields
FieldsApi PatchBaseField PATCH /lists/{list_id}/fields/base/{field_id} Update base field
FieldsApi PatchExtraField PATCH /lists/{list_id}/fields/extra/{field_id} Update extra field
FieldsApi UpdateFieldOption PATCH /lists/{list_id}/fields/extra/{field_id}/options/{option_id} Update field option
ListsApi CreateList POST /lists Create new list
ListsApi DeleteList DELETE /lists/{list_id} Remove list
ListsApi GetAllLists GET /lists Get all lists
ListsApi GetList GET /lists/{list_id} Get list
ListsApi UpdateList PATCH /lists/{list_id} Update a specific list
MyAccountApi EnableTe POST /my-account/actions/enable-te Enable Track&Engage
MyAccountApi EnableTransactional POST /my-account/actions/enable-transactional Enable Transactional
MyAccountApi GetMyAccount GET /my-account Get My Account Info
OperationsApi ActionApproveOperation POST /operations/actions/approve Approve operation
OperationsApi ActionCancelOperation POST /operations/actions/cancel Cancel operation
OperationsApi ActionPauseOperation POST /operations/actions/pause Pause operation
OperationsApi ActionResumeOperation POST /operations/actions/resume Resume operation
OperationsApi GetAllOperations GET /operations Get all queued operations
PingApi Ping POST /ping Pings the API
PushApi ActionSendPush POST /campaigns/push/{campaign_hash}/actions/send Send push message
PushApi CreatePushCampaign POST /campaigns/push Create new push campaign
PushApi GetPushApp GET /push/apps/{app_id} Get a Push application from E-goi
PushApi GetPushApps GET /push/apps Get all Push applications from E-goi
PushApi PatchPushCampaign PATCH /campaigns/push/{campaign_hash} Update a specific push campaign
PushApi RegisterPushEvent POST /push/apps/{app_id}/event Registers an event from the push notification.
PushApi RegisterPushToken POST /push/apps/{app_id}/token Registers a Firebase token
ReportsApi GetEmailReport GET /reports/email/{campaign_hash} Get email report
ReportsApi GetPushReport GET /reports/push/{campaign_hash} Get push report
ReportsApi GetSMSReport GET /reports/sms/{campaign_hash} Get sms report
ReportsApi GetVoiceReport GET /reports/voice/{campaign_hash} Get voice report
ReportsApi GetWebPushReport GET /reports/web-push/{campaign_hash} Get webpush report
SegmentsApi DeleteSegment DELETE /lists/{list_id}/segments/{segment_id} Remove segment
SegmentsApi GetAllSegments GET /lists/{list_id}/segments Get all segments
SendersApi CreateCellphoneSender POST /senders/cellphone Create cellphone sender
SendersApi CreateEmailSender POST /senders/email Create email sender
SendersApi CreatePhoneSender POST /senders/phone Create phone sender
SendersApi DeleteCellphoneSender DELETE /senders/cellphone/{sender_id} Remove cellphone sender
SendersApi DeleteEmailSender DELETE /senders/email/{sender_id} Remove email sender
SendersApi DeletePhoneSender DELETE /senders/phone/{sender_id} Remove phone sender
SendersApi GetAllCellphoneSenders GET /senders/cellphone Get all cellphone senders
SendersApi GetAllEmailSenders GET /senders/email Get all email senders
SendersApi GetAllPhoneSenders GET /senders/phone Get all phone senders
SendersApi PutEmailSender PUT /senders/email/{sender_id} Update email sender
SmartSmsApi ActionSendSmartSms POST /campaigns/smart-sms/{campaign_hash}/actions/send Send smart sms message
SmartSmsApi CreateSmartSmsCampaign POST /campaigns/smart-sms Create new smart sms campaign
SmartSmsApi PatchSmartSmsCampaign PATCH /campaigns/smart-sms/{campaign_hash} Update a specific smart sms campaign
SmsApi ActionSendSms POST /campaigns/sms/{campaign_hash}/actions/send Send sms message
SmsApi CreateSmsCampaign POST /campaigns/sms Create new sms campaign
SmsApi PatchSmsCampaign PATCH /campaigns/sms/{campaign_hash} Update a specific sms campaign
SuppressionListApi CreateSuppressionList POST /suppression-list Add to suppression list
SuppressionListApi DeleteSuppressionList DELETE /suppression-list/{suppression_id} Delete from suppression list
SuppressionListApi GetAllSuppressionList GET /suppression-list Get the suppression list
TagsApi CreateTag POST /tags Create new tag
TagsApi DeleteTag DELETE /tags/{tag_id} Remove tag
TagsApi GetAllTags GET /tags Get all tags
TagsApi UpdateTag PUT /tags/{tag_id} Update a specific tag
TrackEngageApi GetAllDomains GET /trackengage/domains Get all domains
TrackEngageApi GetAllGoals GET /trackengage/goals Get all goals
UsersApi DeleteUser DELETE /users/{user_id} Remove user
UsersApi GetAllUsers GET /users Get all users
UtilitiesApi GetAllCountries GET /utilities/countries Get all countries
VoiceApi ActionSendVoice POST /campaigns/voice/{campaign_hash}/actions/send Send voice message
VoiceApi CreateVoiceCampaign POST /campaigns/voice Create new voice campaign
VoiceApi PatchVoiceCampaign PATCH /campaigns/voice/{campaign_hash} Update a specific voice campaign
WebHooksApi CreateWebhook POST /webhooks Create new webhook
WebHooksApi DeleteWebhook DELETE /webhooks/{webhook_id} Remove webhook
WebHooksApi GetAllWebhooks GET /webhooks Get all webhooks
WebpushApi ActionEnableWebPushRss POST /campaigns/webpush/rss/{campaign_hash}/actions/enable Enable a rss webpush campaign
WebpushApi ActionSendWebPush POST /campaigns/web-push/{campaign_hash}/actions/send Send webpush message
WebpushApi CreateWebPushCampaign POST /campaigns/web-push Create new webpush campaign
WebpushApi CreateWebPushRssCampaign POST /campaigns/webpush/rss Create new webpush rss campaign
WebpushApi CreateWebpushSite POST /webpush/sites Creates a webpush site
WebpushApi GetAllWebPushSites GET /webpush/sites Get all webpush sites
WebpushApi PatchWebPushCampaign PATCH /campaigns/web-push/{campaign_hash} Update a specific webpush campaign

Documentation for Models

Documentation for Authorization

Apikey

  • Type: API key

  • API key parameter name: Apikey

  • Location: HTTP header

About

E-goi C# Client

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages