API reference

Zendesk to WorkPoint API

Status: ok Version: 1.0.2 Environment: production

Authentication

Protected endpoints require the Authorization: ****** header. Missing, invalid, or expired bearer tokens return 401: Missing, invalid, or expired bearer token.

POST /api/login/:id

Login

Exchange the client app key for an API token.

Headers

{
  "Content-Type": "application/json",
  "Accept": "application/json"
}

Request body

{
  "key": "Client app key"
}

Responses

{
  "200": {
    "token": "****** (expires after 25 minutes)"
  },
  "400": {
    "error": "Key is required"
  },
  "401": {
    "error": "Invalid key"
  },
  "404": {
    "error": "Client not found"
  }
}
GET /api/test/:id

Test

Check the API and its connection.

Headers

{
  "Authorization": "******"
}

Responses

{
  "200": {
    "message": "Test controller executed successfully for client ID: <id>"
  }
}
GET /api/casetemplates/:id

Case Templates

Get the configured case templates.

Headers

{
  "Authorization": "******"
}

Responses

{
  "200": {
    "templates": [
      {
        "Id": "Template ID",
        "Title": "Template title"
      }
    ]
  },
  "400": {
    "error": "Template list is not configured"
  },
  "404": {
    "error": "Client not found"
  }
}
POST /api/createcase/:id

Create Case

Create a WorkPoint case for a Zendesk ticket.

Headers

{
  "Authorization": "******",
  "Content-Type": "application/json",
  "Accept": "application/json"
}

Request body

{
  "clientIdentifier": "Client kennitala (10 digits)",
  "clientName": "Client name",
  "caseTemplate": "Template ID, use 0 for no template",
  "caseName": "Case title",
  "externalId": "Zendesk ticket number",
  "user": "Email of the user creating the case"
}

Responses

{
  "200": {
    "caseNumber": "Case number"
  },
  "400": {
    "error": "Missing required properties in body"
  },
  "404": {
    "error": "Client not found"
  }
}
POST /api/adddocument/:id

Add Document

Upload a document to the ZendeskDocumentDropoff SharePoint library.

Headers

{
  "Authorization": "******",
  "Content-Type": "application/json",
  "Accept": "application/json"
}

Request body

{
  "caseNumber": "WorkPoint case number",
  "user": "Email of the user adding the document",
  "fileName": "Document file name",
  "base64": "Base64-encoded document content",
  "date": "Date of upload"
}

Responses

{
  "200": {
    "message": "Document uploaded successfully"
  },
  "400": {
    "error": "Missing required properties in body"
  },
  "404": {
    "error": "Client not found"
  }
}