Skip to content

Get Case Interactions

This API endpoint enables you to fetch case interactions.

Input


Endpoint

Get /cases/{caseId}/interactions


HTTP request headers

Content-Type  string

Setting to application/json is required.

Authorization  string

This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…


Path parameters

caseID  string - Required

The unique case ID you wish to retrieve.

Output


Http status codes
Status CodeDescription
200OK
400Bad Request
404Resource not found
500Internal Server Error

Request example

bash
curl  -X GET \
  'https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61/interactions' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
php
<?php

$client = new http\Client;
$request = new http\Client\Request;

$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61/interactions');
$request->setRequestMethod('GET');
$request->setHeaders([
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

json
[
  {
    "id": "c289b268-9814-4f5a-9bb7-baa30735134f",
    "type": "email",
    "notes": "Test",
    "when": "2024-05-17 14:47:00",
    "sender": null,
    "recipient": "David Jhonson",
    "customer_case_id": "40169aac-07d8-4383-960c-c3ac3e506228",
    "icon": "fa fa-envelope",
    "formatted_type": "email"
  }
]
json
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "type": {
        "type": "string"
      },
      "notes": {
        "type": "string"
      },
      "when": {
        "type": "string",
        "format": "date-time"
      },
      "sender": {
        "type": ["string", "null"],
        "nullable": true
      },
      "recipient": {
        "type": "string"
      },
      "customer_case_id": {
        "type": "string",
        "format": "uuid"
      },
      "icon": {
        "type": "string"
      },
      "formatted_type": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "type",
      "notes",
      "when",
      "recipient",
      "customer_case_id",
      "icon",
      "formatted_type"
    ]
  }
}

Create Case Interaction

This API endpoint enables you to create a new case interaction log.

Input


Endpoint

Post /cases/{caseId}/interactions


HTTP request headers

Content-Type  string

Setting to application/json is required.

Authorization  string

This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…


Path parameters

caseID  string - Required

The unique case ID for which you intend to generate a new appointment.


Body parameters

type  string - Required

This is the type of interaction (contact type).

Could be one of the following (case-sensitive):

  • phone
  • email
  • SMS
  • appointment
  • letter
  • video_conference
  • other

notes  string

Maximum 255 characters

Notes of the interaction

when  string

Accepted format YYYY-MM-DD HH:mm:ss - e.g. 2024-07-20 10:00:00

Date of the interaction

recipient  string

Maximum 255 characters

Recipient of the interaction.

sender  string

Maximum 255 characters

Sender of the interaction.

Output


Http status codes
Status CodeDescription
200OK
400Bad Request
404Resource not found
500Internal Server Error

Request example

bash
curl  -X POST \
  'https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61/interactions' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...' \
  --data-raw '{
   "type" : "email",
   "notes" : "API Test",
   "when" : "2024-05-17 15:22",
   "recipient": "test"
}'
php
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append('{
   "type" : "email",
   "notes" : "API Test",
   "when" : "2024-05-17 15:22",
   "recipient": "test"
} ');


$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61/interactions');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

json
{
  "id": "db45775b-28c2-4679-87fb-eb2cd57bfce8",
  "type": "email",
  "notes": "API Test",
  "when": "2024-05-17T14:22:00.000000Z",
  "sender": null,
  "recipient": "test",
  "customer_case_id": "d57bc3b7-4f44-4846-9741-985db9af9b61"
}
json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "type": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "when": {
      "type": "string",
      "format": "date-time"
    },
    "sender": {
      "type": ["string", "null"],
      "nullable": true
    },
    "recipient": {
      "type": "string"
    },
    "customer_case_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id",
    "type",
    "notes",
    "when",
    "recipient",
    "customer_case_id"
  ]
}

Update Case Interaction

This API endpoint enables you to update existing case interactions

Input


Endpoint

Post /cases/{caseId}/interactions/{interactionId}


HTTP request headers

Content-Type  string

Setting to application/json is required.

Authorization  string

This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…


Path parameters

caseID  string - Required

The unique case ID for which you intend to generate a new appointment.

interactionId  string - Required

The unique interaction ID for which you intend to update.


Body parameters

type  string - Required

This is the type of interaction (contact type).

Could be one of the following (case-sensitive):

  • phone
  • email
  • SMS
  • appointment
  • letter
  • video_conference
  • other

notes  string

Maximum 255 characters

Notes of the interaction

when  string

Accepted format YYYY-MM-DD HH:mm:ss - e.g. 2024-07-20 10:00:00

Date of the interaction

recipient  string

Maximum 255 characters

Recipient of the interaction.

sender  string

Maximum 255 characters

Sender of the interaction.

Output


Http status codes
Status CodeDescription
200OK
400Bad Request
404Resource not found
500Internal Server Error

Request example

bash
curl  -X PATCH \
  'https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61/interactions/db45775b-28c2-4679-87fb-eb2cd57bfce8' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...' \
   --data-raw '{
   "type" : "email",
   "notes" : "Update API Test",
   "recipient": "Test2"
} '
php
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append('{
   "type" : "email",
   "notes" : "Update API Test",
   "recipient": "Test2"
} ');


$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61/interactions/db45775b-28c2-4679-87fb-eb2cd57bfce8');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

json
{
  "id": "db45775b-28c2-4679-87fb-eb2cd57bfce8",
  "type": "email",
  "notes": "API Test Update",
  "when": "2024-05-17T14:22:00.000000Z",
  "sender": null,
  "recipient": "Adam",
  "customer_case_id": "40169aac-07d8-4383-960c-c3ac3e506228"
}
json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "type": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "when": {
      "type": "string",
      "format": "date-time"
    },
    "sender": {
      "type": ["string", "null"],
      "nullable": true
    },
    "recipient": {
      "type": "string"
    },
    "customer_case_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id",
    "type",
    "notes",
    "when",
    "recipient",
    "customer_case_id"
  ]
}