Skip to content

ericmartineau/infusionsoft-kotlin-sdk

Repository files navigation

io.mverse.client.infusionsoft - Kotlin client library for Infusionsoft REST API

Requires

  • Kotlin 1.1.2
  • Gradle 3.3

Build

First, create the gradle wrapper script:

gradle wrapper

Then, run:

./gradlew check assemble

This runs all tests and packages the library.

Features/Implementation Notes

  • Supports JSON inputs/outputs, File inputs, and Form inputs.
  • Supports collection formats for query parameters: csv, tsv, ssv, pipes.
  • Some Kotlin and Java types are fully qualified to avoid conflicts with types defined in Swagger definitions.
  • Implementation of ApiClient is intended to reduce method counts, specifically to benefit Android targets.

Documentation for API Endpoints

All URIs are relative to https://api.infusionsoft.com/crm/rest/v1

Class Method HTTP request Description
AccountInfoApi getAccountProfile GET /account/profile Retrieve account profile
AccountInfoApi updateAccountInfo PUT /account/profile Updates an account profile
AffiliateApi retrieveAffiliateModel GET /affiliates/model Retrieve Affiliate Model
AffiliateApi searchCommissions GET /affiliates/commissions Retrieve Commissions
AppointmentApi createAppointment POST /appointments Create an Appointment
AppointmentApi deleteAppointment DELETE /appointments/{appointmentId} Delete an Appointment
AppointmentApi getAppointment GET /appointments/{appointmentId} Retrieve an Appointment
AppointmentApi listAppointments GET /appointments List Appointments
AppointmentApi retrieveAppointmentModel GET /appointments/model Retrieve Appointment Model
AppointmentApi updateAppointment PUT /appointments/{appointmentId} Replace an Appointment
AppointmentApi updatePropertiesOnAppointment PATCH /appointments/{appointmentId} Update an Appointment
CampaignApi addContactToCampaignSequence POST /campaigns/{campaignId}/sequences/{sequenceId}/contacts/{contactId} Add to Campaign Sequence
CampaignApi addContactsToCampaignSequence POST /campaigns/{campaignId}/sequences/{sequenceId}/contacts Add Multiple to Campaign Sequence
CampaignApi getCampaign GET /campaigns/{campaignId} Retrieve a Campaign
CampaignApi listCampaigns GET /campaigns List Campaigns
CampaignApi removeContactFromCampaignSequence DELETE /campaigns/{campaignId}/sequences/{sequenceId}/contacts/{contactId} Remove from Campaign Sequence
CampaignApi removeContactsFromCampaignSequence DELETE /campaigns/{campaignId}/sequences/{sequenceId}/contacts Remove Multiple from Campaign Sequence
CompanyApi createCompany POST /companies Create a Company
CompanyApi listCompanies GET /companies List Companies
CompanyApi retrieveCompanyModel GET /companies/model Retrieve Company Model
CompanyApi updatePropertiesOnContact PATCH /company/{companyId} Update a Company
ContactApi applyTagsToContactId POST /contacts/{contactId}/tags Apply Tags
ContactApi createContact POST /contacts Create a Contact
ContactApi createCreditCard POST /contacts/{contactId}/creditCards Create a Credit Card
ContactApi createCustomField POST /contacts/model/customFields Create a Custom Field
ContactApi createEmailForContact POST /contacts/{contactId}/emails Create an Email Record
ContactApi createOrUpdateContact PUT /contacts Create or Update a Contact
ContactApi deleteContact DELETE /contacts/{contactId} Delete a Contact
ContactApi getContact GET /contacts/{id} Retrieve a Contact
ContactApi listAppliedTags GET /contacts/{contactId}/tags List Applied Tags
ContactApi listContacts GET /contacts List Contacts
ContactApi listCreditCards GET /contacts/{contactId}/creditCards Retrieve Credit Cards
ContactApi listEmailsForContact GET /contacts/{contactId}/emails List Emails
ContactApi removeTagsFromContact DELETE /contacts/{contactId}/tags Remove Applied Tags
ContactApi removeTagsFromContact1 DELETE /contacts/{contactId}/tags/{tagId} Remove Applied Tag
ContactApi retrieveContactModel GET /contacts/model Retrieve Contact Model
ContactApi updatePropertiesOnContact1 PATCH /contacts/{contactId} Update a Contact
ECommerceApi createOrder POST /orders Create an Order
ECommerceApi createOrderItemsOnOrder POST /orders/{orderId}/items Create an Order Item
ECommerceApi createPaymentOnOrder POST /orders/{orderId}/payments Create a Payment
ECommerceApi deleteOrder DELETE /orders/{orderId} Delete an Order
ECommerceApi deleteOrderOrderItem DELETE /orders/{orderId}/items/{orderItemId} Delete an Order Item
ECommerceApi getOrder GET /orders/{orderId} Retrieve an Order
ECommerceApi getTransaction GET /transactions/{transactionId} Retrieve a Transaction
ECommerceApi listOrders GET /orders List Orders
ECommerceApi listSubscriptions GET /subscriptions List Subscriptions
ECommerceApi listTransactions GET /transactions List Transactions
ECommerceApi listTransactionsForOrder GET /orders/{orderId}/transactions Retrieve Order Transactions
ECommerceApi replacePaymentPlan PUT /orders/{orderId}/paymentPlan Replace an Order Pay Plan
ECommerceApi retrieveOrderModel GET /orders/model Retrieve Custom Order Model
ECommerceApi retrieveSubscriptionModel GET /subscriptions/model Retrieve Subscription Model
EmailApi createEmail POST /emails Create an Email Record
EmailApi createEmails POST /emails/sync Create a set of Email Records
EmailApi deleteEmail DELETE /emails/{id} Delete an Email Record
EmailApi deleteEmails POST /emails/unsync Un-sync a batch of Email Records
EmailApi getEmail GET /emails/{id} Retrieve an Email
EmailApi listEmails GET /emails List Emails
EmailApi sendEmail POST /emails/queue Send an Email
EmailApi updateEmail PUT /emails/{id} Update an Email Record
EmailAddressApi replaceEmailAddress PUT /emailAddresses/{email} Replace an Email Address
FileApi createFile POST /files Upload File
FileApi deleteFile DELETE /files/{fileId} Delete File
FileApi getFile GET /files/{fileId} Retrieve File
FileApi listFiles GET /files List Files
FileApi updateFile PUT /files/{fileId} Replace File
LocaleApi listCountries GET /locales/countries List Countries
LocaleApi listCountries1 GET /locales/countries/{countryCode}/provinces List a Country's Provinces
MerchantApi getMerchantAccounts GET /merchants List Merchants
NoteApi createNote POST /notes Create a Note
NoteApi deleteNote DELETE /notes/{noteId} Delete a Note
NoteApi getNote GET /notes/{noteId} Retrieve a Note
NoteApi listNotes GET /notes List Notes
NoteApi updateNote PUT /notes/{noteId} Replace a Note
NoteApi updatePropertiesOnNote PATCH /notes/{noteId} Update a Note
OpportunityApi createOpportunity POST /opportunities Create an Opportunity
OpportunityApi getOpportunity GET /opportunities/{opportunityId} Retrieve an Opportunity
OpportunityApi listOpportunities GET /opportunities List Opportunities
OpportunityApi listOpportunityStagePipelines GET /opportunity/stage_pipeline List Opportunity Stage Pipeline
OpportunityApi retrieveOpportunityModel GET /opportunities/model Retrieve Opportunity Model
OpportunityApi updateOpportunity PUT /opportunities Replace an Opportunity
OpportunityApi updatePropertiesOnOpportunity PATCH /opportunities/{opportunityId} Update an Opportunity
ProductApi createProduct POST /products Create a Product
ProductApi createProductImage POST /products/{productId}/image Upload a product image
ProductApi createProductSubscription POST /products/{productId}/subscriptions Create a Product Subscription
ProductApi deleteProduct DELETE /products/{productId} Delete a Product
ProductApi deleteProductImage DELETE /products/{productId}/image Delete a product image
ProductApi deleteProductSubscription DELETE /products/{productId}/subscriptions/{subscriptionId} Delete a Product Subscription
ProductApi listProducts GET /products List Products
ProductApi listProductsFromSyncToken GET /products/sync Retrieve Synced Products
ProductApi retrieveProduct GET /products/{productId} Retrieve a Product
ProductApi retrieveProductSubscription GET /products/{productId}/subscriptions/{subscriptionId} Retrieve a Product Subscription
RESTHooksApi createAHookSubscription POST /hooks Create a Hook Subscription
RESTHooksApi deleteAHookSubscription DELETE /hooks/{key} Delete a Hook Subscription
RESTHooksApi listHookEventTypes GET /hooks/event_keys List Hook Event Types
RESTHooksApi listStoredHookSubscriptions GET /hooks List Stored Hook Subscriptions
RESTHooksApi retrieveAHookSubscription GET /hooks/{key} Retrieve a Hook Subscription
RESTHooksApi updateAHookSubscription PUT /hooks/{key} Update a Hook Subscription
RESTHooksApi verifyAHookSubscription POST /hooks/{key}/verify Verify a Hook Subscription
RESTHooksApi verifyAHookSubscriptionDelayed POST /hooks/{key}/delayedVerify Verify a Hook Subscription, Delayed
SettingApi getApplicationEnabled GET /setting/application/enabled Retrieve application status
SettingApi getContactOptionTypes GET /setting/contact/optionTypes List Contact types
TagsApi applyTagToContactIds POST /tags/{tagId}/contacts Apply Tag to Contacts
TagsApi createTag POST /tags Create Tag
TagsApi createTagCategory POST /tags/categories Create Tag Category
TagsApi getTag GET /tags/{id} Retrieve a Tag
TagsApi listCompaniesForTagId GET /tags/{tagId}/companies List Tagged Companies
TagsApi listContactsForTagId GET /tags/{tagId}/contacts List Tagged Contacts
TagsApi listTags GET /tags List Tags
TagsApi removeTagFromContactId DELETE /tags/{tagId}/contacts/{contactId} Remove Tag from Contact
TagsApi removeTagFromContactIds DELETE /tags/{tagId}/contacts Remove Tag from Contacts
TaskApi createTask POST /tasks Create a Task
TaskApi deleteTask DELETE /tasks/{taskId} Delete a Task
TaskApi getTask GET /tasks/{taskId} Retrieve a Task
TaskApi listTasks GET /tasks List Tasks
TaskApi listTasksForCurrentUser GET /tasks/search Search Tasks
TaskApi retrieveTaskModel GET /tasks/model Retrieve Task Model
TaskApi updatePropertiesOnTask PATCH /tasks/{taskId} Update a Task
TaskApi updateTask PUT /tasks/{taskId} Replace a Task
UserInfoApi getUserInfo GET /oauth/connect/userinfo Retrieve User Info
UsersApi createUser POST /users Create a User
UsersApi listUsers GET /users List Users

Documentation for Models

Documentation for Authorization

oauth2

About

Infusionsoft REST client for kotlin

Resources

Stars

Watchers

Forks

Packages

No packages published