Class for dealing with data imports API Reference

For this class try to follow the naming convention [ImportType]/[ScreenPurpose]/[ImportJobId]/[AdditionalId]

API Endpoint
https://app.memberzone.org
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: https
Version: v1.0

Paths

POST /api/import/chartofaccounts/import

Request Example
{
  "AccountsUpload": "string",
  "File": "string"
}
200 OK

OK

GET /api/import/chartofaccounts/initialize/

Response Example (200 OK)
{
  "AccountsUpload": "string",
  "File": "string"
}

Kicks off the next step for a import job after a user has reviewed the contact matches

POST /api/import/groupcontact/contactmatchapproval/{importjobid}

Kicks off the next step for a import job after a user has reviewed the contact matches

User acceptances and defaults

importjobid: integer
in path

(no description)

Request Example
{
  "ImportJobId": "integer",
  "GroupId": "integer",
  "ExactMatchLabel": "string",
  "PotentialMatchLabel": "string",
  "NoMatchLabel": "string",
  "ErrorMatchLabel": "string",
  "ExactMatchCount": "string",
  "ExactMatchCount2": "string",
  "PotentialMatchCount": "string",
  "PotentialMatchCount2": "string",
  "NoMatchCount": "string",
  "NoMatchCount2": "string",
  "ErrorMatchCount": "string",
  "ErrorMatchCount2": "string",
  "MatchedContacts": "integer",
  "PotentialContacts": "integer",
  "NewContacts": "integer",
  "Failures": "integer"
}
200 OK

A redirect to the screen they will use next

Response Example (200 OK)
{
  "RedirectToUrl": "string",
  "PostActions": "string"
}

For a row in the uploaded file we want to review contact matches

GET /api/import/groupcontact/contactmatchesreview/{importjobid}/{index}

For a row in the uploaded file we want to review contact matches

importjobid: integer
in path

Job we care about

index: integer
in path

Row from the uploaded file

Contact match data for a given row

Response Example (200 OK)
{
  "CurrentContactId": "integer",
  "CurrentOrganizationContactId": "integer",
  "FirstName": "string",
  "LastName": "string",
  "Email": "string",
  "OrganizationName": "string",
  "NotEnoughIndividualData": "boolean",
  "IndividualNotMatchedYet": "boolean",
  "NotEnoughOrganizationData": "boolean",
  "OrganizationNotMatchedYet": "boolean",
  "ShowPotentialMatchSection": "boolean",
  "ContactId": "string",
  "OrganizationContactId": "string",
  "HideOrgUseSuggested": "boolean",
  "ContactMatchType": "string",
  "PotentialMatches": "string",
  "Contact": "string",
  "OrganizationMatchType": "string",
  "PotentialOrganizations": "string",
  "Organization": "string",
  "ImportJobId": "integer",
  "Index": "integer"
}

After the user has made corrections for a row we want to save the corrections

POST /api/import/groupcontact/contactmatchesupdate/{importjobid}/{index}

After the user has made corrections for a row we want to save the corrections

importjobid: integer
in path

(no description)

index: integer
in path

(no description)

Request Example
{
  "CurrentContactId": "integer",
  "CurrentOrganizationContactId": "integer",
  "FirstName": "string",
  "LastName": "string",
  "Email": "string",
  "OrganizationName": "string",
  "NotEnoughIndividualData": "boolean",
  "IndividualNotMatchedYet": "boolean",
  "NotEnoughOrganizationData": "boolean",
  "OrganizationNotMatchedYet": "boolean",
  "ShowPotentialMatchSection": "boolean",
  "ContactId": "string",
  "OrganizationContactId": "string",
  "HideOrgUseSuggested": "boolean",
  "ContactMatchType": "string",
  "PotentialMatches": "string",
  "Contact": "string",
  "OrganizationMatchType": "string",
  "PotentialOrganizations": "string",
  "Organization": "string",
  "ImportJobId": "integer",
  "Index": "integer"
}
Response Example (200 OK)
{
  "ImportJobId": "integer",
  "Index": "integer",
  "MatchCount": "integer",
  "MatchConfidenceLevel": "string",
  "DisplayName": "string",
  "EmailAddress": "string",
  "Actions": "string",
  "ErrorMessage": "string"
}

Gets the metadata for the contact matching that occurred for a import job

GET /api/import/groupcontact/contactmatchoverview/{importjobid}

Gets the metadata for the contact matching that occurred for a import job

importjobid: integer
in path

Job we want to know about

Import job metadata

Response Example (200 OK)
{
  "ImportJobId": "integer",
  "GroupId": "integer",
  "ExactMatchLabel": "string",
  "PotentialMatchLabel": "string",
  "NoMatchLabel": "string",
  "ErrorMatchLabel": "string",
  "ExactMatchCount": "string",
  "ExactMatchCount2": "string",
  "PotentialMatchCount": "string",
  "PotentialMatchCount2": "string",
  "NoMatchCount": "string",
  "NoMatchCount2": "string",
  "ErrorMatchCount": "string",
  "ErrorMatchCount2": "string",
  "MatchedContacts": "integer",
  "PotentialContacts": "integer",
  "NewContacts": "integer",
  "Failures": "integer"
}

Method to review a subset of matched results

GET /api/import/groupcontact/contactmatchoverviewfailed/{importjobid}

Method to review a subset of matched results

importjobid: integer
in path

Job we care about

Matched contact subset

Response Example (200 OK)
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

Method to review a subset of matched results

GET /api/import/groupcontact/contactmatchoverviewnone/{importjobid}

Method to review a subset of matched results

importjobid: integer
in path

Job we care about

Matched contact subset

Response Example (200 OK)
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

Method to review a subset of matched results

GET /api/import/groupcontact/contactmatchoverviewperfect/{importjobid}

Method to review a subset of matched results

importjobid: integer
in path

Job we care about

Matched contact subset

Response Example (200 OK)
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

Method to review a subset of matched results

GET /api/import/groupcontact/contactmatchoverviewpotential/{importjobid}

Method to review a subset of matched results

importjobid: integer
in path

Job we care about

Matched contact subset

Response Example (200 OK)
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

Deletes a import job. for cleanup of old jobs, or if a job gave poor results and the user wants to start over

DELETE /api/import/groupcontact/deletejob/{importjobid}

Deletes a import job. for cleanup of old jobs, or if a job gave poor results and the user wants to start over

importjobid: integer
in path

Job to get rid of

200 OK

OK

GET /api/import/groupcontact/initialize/{importjobid}/{groupid}

importjobid: string
in path

(no description)

groupid: integer
in path

(no description)

OK

Response Example (200 OK)
{
  "GroupId": "integer",
  "GroupContactsUpload": "string",
  "Instructions": "string",
  "Results": "string",
  "TermsLink": "string",
  "TermsOfUseId": "integer",
  "AcceptTermsAndConditions": "boolean",
  "IsContactDefault": "boolean",
  "DoNotAddToCrm": "boolean",
  "RemoveExistingGroupContacts": "boolean",
  "ImportJobId": "integer"
}

POST /api/import/groupcontact/loadmatchpage/{importjobid}/{matchconfidencelevel}

importjobid: integer
in path

(no description)

matchconfidencelevel: object
in path

(no description)

Request Example
{
  "Top": "string",
  "Take": "string",
  "Skip": "string",
  "Filter": "string",
  "OrderBy": "string",
  "CalendarStartDate": "string",
  "CalendarEndDate": "string",
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string"
}
Response Example (200 OK)
[
  {
    "ImportJobId": "integer",
    "Index": "integer",
    "MatchCount": "integer",
    "MatchConfidenceLevel": "string",
    "DisplayName": "string",
    "EmailAddress": "string",
    "Actions": "string",
    "ErrorMessage": "string"
  }
]

When we want to upload a spreadsheet of contacts into a group and the user has confirmed the mappings we kick off a hangfire job

POST /api/import/groupcontact/mapcolumns/{groupid}

When we want to upload a spreadsheet of contacts into a group and the user has confirmed the mappings we kick off a hangfire job

Mapping data

groupid: integer
in path

(no description)

Request Example
{
  "GroupId": "integer",
  "GroupContactsUpload": "string",
  "Instructions": "string",
  "Results": "string",
  "TermsLink": "string",
  "TermsOfUseId": "integer",
  "AcceptTermsAndConditions": "boolean",
  "IsContactDefault": "boolean",
  "DoNotAddToCrm": "boolean",
  "RemoveExistingGroupContacts": "boolean",
  "ImportJobId": "integer"
}
200 OK

True if we were able to kick things off

Get an overview of import jobs running for a group id

POST /api/import/groupcontact/overview/{groupid}

Get an overview of import jobs running for a group id

Filter for the import jobs

groupid: string
in path

Group we care about

Request Example
{
  "Top": "string",
  "Take": "string",
  "Skip": "string",
  "Filter": "string",
  "OrderBy": "string",
  "CalendarStartDate": "string",
  "CalendarEndDate": "string",
  "Criteria": "string",
  "GroupId": "string"
}

Info about import jobs for the group

Response Example (200 OK)
{
  "Criteria": "string",
  "CriteriaItems": "string",
  "TotalRecordAvailable": "string",
  "ModelItems": "string",
  "Results": "string"
}

Schema Definitions

GroupImportModel: object

GroupId: integer
GroupContactsUpload: string
Instructions: string
Results: string
TermsLink: string
TermsOfUseId: integer
AcceptTermsAndConditions: boolean
IsContactDefault: boolean
DoNotAddToCrm: boolean
RemoveExistingGroupContacts: boolean
ImportJobId: integer
Example
{
  "GroupId": "integer",
  "GroupContactsUpload": "string",
  "Instructions": "string",
  "Results": "string",
  "TermsLink": "string",
  "TermsOfUseId": "integer",
  "AcceptTermsAndConditions": "boolean",
  "IsContactDefault": "boolean",
  "DoNotAddToCrm": "boolean",
  "RemoveExistingGroupContacts": "boolean",
  "ImportJobId": "integer"
}

ListViewReturnModel<GroupContactImportJobCollectionItemModel>: object

Criteria: string
CriteriaItems: string
TotalRecordAvailable: string

We typically only return a subset of what is available on the server, but lets show the user what was available

ModelItems: string
Results: string
Example
{
  "Criteria": "string",
  "CriteriaItems": "string",
  "TotalRecordAvailable": "string",
  "ModelItems": "string",
  "Results": "string"
}

GroupContactImportJobAdvancedFilter: object

Top: string
Take: string
Skip: string
Filter: string
OrderBy: string
CalendarStartDate: string
CalendarEndDate: string
Criteria: string
GroupId: string
Example
{
  "Top": "string",
  "Take": "string",
  "Skip": "string",
  "Filter": "string",
  "OrderBy": "string",
  "CalendarStartDate": "string",
  "CalendarEndDate": "string",
  "Criteria": "string",
  "GroupId": "string"
}

GroupContactImportMatchReviewModel: object

ImportJobId: integer
GroupId: integer
ExactMatchLabel: string
PotentialMatchLabel: string
NoMatchLabel: string
ErrorMatchLabel: string
ExactMatchCount: string
ExactMatchCount2: string
PotentialMatchCount: string
PotentialMatchCount2: string
NoMatchCount: string
NoMatchCount2: string
ErrorMatchCount: string
ErrorMatchCount2: string
MatchedContacts: integer
PotentialContacts: integer
NewContacts: integer
Failures: integer
Example
{
  "ImportJobId": "integer",
  "GroupId": "integer",
  "ExactMatchLabel": "string",
  "PotentialMatchLabel": "string",
  "NoMatchLabel": "string",
  "ErrorMatchLabel": "string",
  "ExactMatchCount": "string",
  "ExactMatchCount2": "string",
  "PotentialMatchCount": "string",
  "PotentialMatchCount2": "string",
  "NoMatchCount": "string",
  "NoMatchCount2": "string",
  "ErrorMatchCount": "string",
  "ErrorMatchCount2": "string",
  "MatchedContacts": "integer",
  "PotentialContacts": "integer",
  "NewContacts": "integer",
  "Failures": "integer"
}

RedirectModel: object

RedirectToUrl: string

The URI to redirect to for the new tenant.

PostActions: string
Example
{
  "RedirectToUrl": "string",
  "PostActions": "string"
}

Object: object

Example
"object"

GroupContactImportSingleMatchReviewModel: object

ImportJobId: integer
Index: integer
MatchCount: integer
MatchConfidenceLevel: string
DisplayName: string
EmailAddress: string
Actions: string
ErrorMessage: string
Example
{
  "ImportJobId": "integer",
  "Index": "integer",
  "MatchCount": "integer",
  "MatchConfidenceLevel": "string",
  "DisplayName": "string",
  "EmailAddress": "string",
  "Actions": "string",
  "ErrorMessage": "string"
}

String: object

this[]: string
Length: integer
Example
{
  "this[]": "string",
  "Length": "integer"
}

GroupContactImportRowAdvancedFilter: object

Top: string
Take: string
Skip: string
Filter: string
OrderBy: string
CalendarStartDate: string
CalendarEndDate: string
ImportJobId: integer
MatchConfidenceLevel: string
Example
{
  "Top": "string",
  "Take": "string",
  "Skip": "string",
  "Filter": "string",
  "OrderBy": "string",
  "CalendarStartDate": "string",
  "CalendarEndDate": "string",
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string"
}

GroupContactImportMatchFailureModel: object

ImportJobId: integer
MatchConfidenceLevel: string
ProcessedMatchData: string
Message: string
Example
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

GroupContactImportMatchPerfectModel: object

ImportJobId: integer
MatchConfidenceLevel: string
ProcessedMatchData: string
Message: string
Example
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

GroupContactImportMatchNotEvenALittleModel: object

ImportJobId: integer
MatchConfidenceLevel: string
ProcessedMatchData: string
Message: string
Example
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

GroupContactImportMatchPotentialModel: object

ImportJobId: integer
MatchConfidenceLevel: string
ProcessedMatchData: string
Message: string
Example
{
  "ImportJobId": "integer",
  "MatchConfidenceLevel": "string",
  "ProcessedMatchData": "string",
  "Message": "string"
}

GroupContactImportFindOrMatchContact: object

CurrentContactId: integer
CurrentOrganizationContactId: integer
FirstName: string
LastName: string
Email: string
OrganizationName: string
NotEnoughIndividualData: boolean
IndividualNotMatchedYet: boolean
NotEnoughOrganizationData: boolean
OrganizationNotMatchedYet: boolean
ShowPotentialMatchSection: boolean
ContactId: string
OrganizationContactId: string
HideOrgUseSuggested: boolean
ContactMatchType: string
PotentialMatches: string
Contact: string
OrganizationMatchType: string
PotentialOrganizations: string
Organization: string
ImportJobId: integer
Index: integer
Example
{
  "CurrentContactId": "integer",
  "CurrentOrganizationContactId": "integer",
  "FirstName": "string",
  "LastName": "string",
  "Email": "string",
  "OrganizationName": "string",
  "NotEnoughIndividualData": "boolean",
  "IndividualNotMatchedYet": "boolean",
  "NotEnoughOrganizationData": "boolean",
  "OrganizationNotMatchedYet": "boolean",
  "ShowPotentialMatchSection": "boolean",
  "ContactId": "string",
  "OrganizationContactId": "string",
  "HideOrgUseSuggested": "boolean",
  "ContactMatchType": "string",
  "PotentialMatches": "string",
  "Contact": "string",
  "OrganizationMatchType": "string",
  "PotentialOrganizations": "string",
  "Organization": "string",
  "ImportJobId": "integer",
  "Index": "integer"
}

ChartOfAccountsImportModel: object

AccountsUpload: string
File: string
Example
{
  "AccountsUpload": "string",
  "File": "string"
}