Zoho Import API

The Import API from Zoho — 3 operation(s) for import.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-import-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Import API
  version: 1.0.0
tags:
- name: Import
paths:
  /api/v1/importMappings:
    post:
      tags:
      - Import
      summary: Get Import Mappings
      description: This API fetches entity id's for given external ids your help desk portal.
      operationId: getImportMappings
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/importMappingRequest'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/importMappingResponse'
      security:
      - iam-oauth2-schema:
        - Desk.imports.CUSTOM
      x-audience:
      - external-public
  /api/v1/imports/{importId}:
    get:
      tags:
      - Import
      summary: Get Import
      description: This API fetches a single import info from your help desk portal.
      operationId: getImport
      parameters:
      - name: importId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/importResponse'
      security:
      - iam-oauth2-schema:
        - Desk.imports.CUSTOM
      x-audience:
      - external-public
  /api/v1/imports:
    post:
      tags:
      - Import
      summary: Create Import
      description: This API add a import entry under a given scope in your help desk portal.
      operationId: createImport
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/importRequest'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/importResponse'
      security:
      - iam-oauth2-schema:
        - Desk.imports.CUSTOM
      x-audience:
      - external-public
components:
  responses:
    importResponse:
      description: importResponse template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              importInitiatedTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              importCompletedTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              scopeId:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ^([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})$
              runAutomation:
                type:
                - boolean
                - 'null'
              errorReportUrl:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&%\$#_@]*)?$)
              notifyUrl:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&%\$#_@]*)?$)
              id:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              hasError:
                type:
                - boolean
                - 'null'
              status:
                type:
                - string
                - 'null'
                enum:
                - queued
                - completed
                maxLength: 100
                minLength: 0
              importedBy:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
            required:
            - errorReportUrl
            - hasError
            - id
            - importCompletedTime
            - importInitiatedTime
            - importedBy
            - notifyUrl
            - runAutomation
            - scopeId
            - status
          examples:
            Valid responses Definitions:
              value:
                importInitiatedTime: '2018-12-17T06:40:57.109Z'
                importCompletedTime: '2018-12-17T12:11:04.000Z'
                scopeId: 7d69f2c6-1d6d-4a75-99d1-fafc4e4177a7
                errorReportUrl: https://desk.zoho.com/api/v1/importErrorLog/4000000024001
                runAutomation: 'false'
                notifyUrl: null
                hasError: true
                id: '4000000024001'
                importedBy: '4000000016079'
                status: completed
    importMappingResponse:
      description: importMappingResponse template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              data:
                $ref: ./Import.json#/components/schemas/importMappingData
            required:
            - data
          examples:
            Valid responses Definitions:
              value:
                data:
                - externalId: ticketLayout1
                  entityId: '6000000073007'
  requestBodies:
    importMappingRequest:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              scopeId:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ^([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})$
              module:
                type:
                - string
                - 'null'
                enum:
                - accounts
                - contacts
                - tickets
                - tasks
                - calls
                - events
                - threads
                - ticketComments
                - kbRootCategories
                - kbSections
                - articles
                - products
                - taskComments
                - callComments
                - eventComments
                - ticketTimeEntries
                - taskTimeEntries
                - callTimeEntries
                - eventTimeEntries
                - agents
                - layouts
                - departments
                - fields
                maxLength: 100
                minLength: 0
              externalIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  maxLength: 100
                  minLength: 0
                  pattern: '[A-Za-z0-9@\$&+\:\.\{\}\(\)#\-]+'
                uniqueItems: false
            required:
            - externalIds
            - module
            - scopeId
          examples:
            Valid requestBody Definitions:
              value:
                scopeId: 74da0304-e8e2-4f74-9da1-5359e4359d9a
                module: tickets
                externalIds:
                - ticketLayout1
                - ticketLayout3
    importRequest:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              scopeId:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ^([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})$
              data:
                $ref: ./Import.json#/components/schemas/importData
              runAutomation:
                type:
                - boolean
                - 'null'
            required:
            - data
            - scopeId
          examples:
            Valid requestBody Definitions:
              value:
                scopeId: 7d69f2c6-1d6d-4a75-99d1-fafc4e4177a7
                data:
                  endusers:
                  - firstName: John
                    lastName: Abraham
                    phone: null
                    city: null
                    displayName: John
                    mobile: null
                    timeZone: Asia/Kolkata
                    endUserExtId: '14091310393191'
                    countryLocale: en_US
                    helpCenterId: '894114121213421'
                    email:
                    - emailAddress: john.ab@zylker.com
                      isPrimary: 'true'
                    status: ACTIVE
                  tickets:
                  - modifiedTime: '2016-10-12T06:57:38.000Z'
                    subCategory: null
                    contactExtId: externalContact1
                    productId: null
                    contactId: null
                    subject: Here's your first import ticket1.
                    departmentId: '1000000012806'
                    channel: Email
                    priority: null
                    assigneeId: '1000000016086'
                    tags:
                    - meenakshi
                    ticketExtId: externalTicket1
                    phone: 1 888 900 9646
                    createdTime: '2019-07-17T14:00:32.000Z'
                    category: null
                    email: testmail@zylker.com
                    status: Open
                  - modifiedTime: '2016-10-12T06:57:38.000Z'
                    subCategory: null
                    contactExtId: null
                    productId: null
                    contactId: 5000000016426
                    subject: Here's your first import ticket2.
                    departmentId: '1000000012806'
                    channel: Email
                    priority: null
                    assigneeId: '1000000016086'
                    tags:
                    - meenakshi
                    ticketExtId: externalTicket2
                    phone: 1 888 900 9646
                    createdTime: '2019-07-17T14:00:32.000Z'
                    category: null
                    email: testmail123@zylker.com
                    status: Open
                  kbRootCategories:
                  - isReviewEnabled: 'false'
                    visibility: NONE
                    articleViewType: LISTVIEW
                    translations:
                    - name: Import sdcwed 1289
                      locale: en_US
                      permalink: importis1289
                    name: Import RootCatesdcwedgory 1289
                    description: sdcwed data 7812899
                    primaryDepartmentExtId: '1000000025808'
                    kbRootCategoryExtId: '1289'
                    status: SHOW_IN_HELPCENTER
                    associatedDepartmentIds:
                    - '1000000025808'
                    - '1000000069588'
                  accounts:
                  - modifiedTime: '2016-10-12T06:57:38.000Z'
                    country: 0country
                    website: www.test0.com
                    accountName: externalAccount-1
                    city: 0city
                    customFields: {}
                    description: import account
                    industry: 0industry
                    accountExtId: externalAccount-1
                    phone: +123 0
                    street: 0street
                    createdTime: '2016-08-12T06:57:38.000Z'
                    state: 0state
                    fax: +111 0
                    email: 02email@zylker.com
                  contacts:
                  - zip: 94588
                    lastName: ' lastname 02'
                    country: India
                    modifiedTime: '2016-10-12T06:57:38.000Z'
                    contactExtId: externalContactWithExternalAccount-1
                    secondaryEmail: 00secondaryemail@zylker.com
                    city: 0city
                    customFields: {}
                    facebook: testfacebook
                    mobile: null
                    description: test contact for Import
                    title: Customer Support Executive
                    type: null
                    accountExtId: externalAccount-1
                    accountId: null
                    firstName: null
                    twitter: testTwitter
                    phone: +1111 0
                    street: 0street
                    createdTime: '2016-08-12T06:57:38.000Z'
                    state: 0state
                    email: 00email@zylker.com
                  - zip: 94588
                    lastName: ' lastname 03'
                    country: India
                    modifiedTime: '2016-10-12T06:57:38.000Z'
                    contactExtId: externalContactWithDeskAccount
                    secondaryEmail: 03secondaryemail@zylker.com
                    city: 03city
                    customFields: {}
                    facebook: testfacebook
                    mobile: null
                    description: test contact for Import
                    title: Customer Support Executive
                    type: null
                    accountExtId: null
                    accountId: '359876756'
                    firstName: null
                    twitter: testTwitter
                    phone: +1111 03
                    street: 03street
                    createdTime: '2016-08-12T06:57:38.000Z'
                    state: 03state
                    email: 03email@zylker.com
                runAutomation: true
  securitySchemes:
    iam-oauth2-schema:
      $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter