Channel360 V1.1 API

This document contains all supported endpoints.


Notifications

Send a Notification

post

API call to Send a Notification

Path parameters
orgIdstringRequired
Body
destinationstringOptionalExample: +27618982358
Responses
201
Notification sent
application/json
post
POST /v1.1/org/{orgId}/notification HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 168

{
  "destination": "+27618982358",
  "message": {
    "type": "template",
    "template": {
      "name": "none_button_test",
      "language": {
        "policy": "deterministic",
        "code": "en_US"
      },
      "components": []
    }
  }
}
201

Notification sent

{
  "notification": {
    "_id": "143d860c5f45c9674687"
  }
}

Templates

Request Template

get

API call to get a Template.

Path parameters
orgIdstringRequired

Organization ID

Responses
200
Successfully retrieved Template
application/json
get
GET /v1.1/org/{orgId}/templates/test_template HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully retrieved Template

{
  "tags": {
    "head": {
      "index": 1,
      "type": "hard-coded",
      "value": "TAG"
    },
    "body": [
      {
        "index": 1,
        "type": "hard-coded",
        "value": "TAG"
      },
      {
        "index": 2,
        "type": "hard-coded",
        "value": "TAG"
      }
    ]
  },
  "organization": "344540b058c0ad640439fd0",
  "name": "test_template",
  "description": "auto-ingested - tag configuration required",
  "namespace": "",
  "language": "en_US",
  "category": "MARKETING",
  "components": [
    {
      "type": "HEADER",
      "format": "TEXT",
      "text": "This is some example {{1}} text",
      "buttons": []
    },
    {
      "type": "BODY",
      "text": "hardcoded: {{1}} subscriber-field: {{2}} appanrently this needs to be longer",
      "buttons": []
    }
  ],
  "status": "REJECTED",
  "enabled": false,
  "messageTemplateId": "3392719194307567",
  "version": 0,
  "id": "3452de4d79ue01d929e001df"
}

Request Template with image in the header

get

API call to get a Template with image in the header

Path parameters
orgIdstringRequired
templateNamestringRequired
Responses
200
Successfully retrieved Template (with image in the header)
application/json
get
GET /v1.1/org/{orgId}/templates/{templateName} HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully retrieved Template (with image in the header)

{
  "tags": {
    "head": [
      {
        "type": "image",
        "url": "https://media.newyorker.com/photos/59095bb86552fa0be682d9d0/master/w_2560%2Cc_limit/Monkey-Selfie.jpg"
      }
    ],
    "body": []
  },
  "organization": "232db54t058c00154d64345",
  "name": "demowithpicture",
  "description": "auto-ingested",
  "namespace": "",
  "language": "en",
  "category": "ALERT_UPDATE",
  "components": [],
  "status": "APPROVED",
  "enabled": true,
  "messageTemplateId": "8975875675876677",
  "createdAt": "2022-11-08T13:31:24.035Z",
  "updatedAt": "2022-11-22T12:32:19.469Z",
  "version": 1,
  "id": "6695706dfs9569659765j709"
}

Request to List Templates

get

API request to List templates

Path parameters
orgIdstringRequired

Organization ID

Responses
200
Successfully retrieved Template List
application/json
get
GET /v1.1/org/{orgId}/templates/list HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully retrieved Template List

{
  "tags": {
    "head": [],
    "body": {
      "index": 1,
      "type": "hard-coded",
      "value": "tag"
    }
  },
  "organization": "659039655cf56a8df0c8908",
  "name": "order_shipped",
  "description": "A Template to test an alert",
  "namespace": "default",
  "language": "en_US",
  "category": "ALERT_UPDATE",
  "components": [],
  "status": "APPROVED",
  "enabled": true,
  "messageTemplateId": "232136887459187",
  "createdAt": "2023-04-05T09:49:51.064Z",
  "updatedAt": "2023-09-13T11:12:53.984Z",
  "version": 121,
  "id": "1443f649u7053539346"
}

Request for a list of enabled & configured templates

get

API request to list enabled & configured templates

Authorizations
Query parameters
enabledboolean · enumOptional

Filter templates by enabled status

Example: truePossible values:
filterstringOptional

Filter templates by configuration (configured)

Example: configured
Responses
200
Successfully retrieved template enabled and configured list
application/json
get
GET /v1.1/org/orgId/templates/list HTTP/1.1
Host: www.channel360.co.za
Authorization: Bearer JWT
Accept: */*
200

Successfully retrieved template enabled and configured list

{
  "tags": {
    "head": [],
    "body": {
      "index": 1,
      "type": "hard-coded",
      "value": "tag"
    }
  },
  "organization": "659039655cf56a8df0c8908",
  "name": "order_shipped",
  "description": "A Template to test an alert",
  "namespace": "default",
  "language": "en_US",
  "category": "ALERT_UPDATE",
  "components": [],
  "status": "APPROVED",
  "enabled": true,
  "messageTemplateId": "232136887459187",
  "createdAt": "2023-04-05T09:49:51.064Z",
  "updatedAt": "2023-09-13T11:12:53.984Z",
  "version": 121,
  "id": "1443f649u7053539346"
}

Request a list of templates by their enabled status

get

API request to list enabled templates

Authorizations
Query parameters
enabledboolean · enumOptional

Filter templates by their enabled status

Example: truePossible values:
Responses
200
Successfully retrieved enabled templates
application/json
get
GET /v1.1/org/:orgId/templates/list HTTP/1.1
Host: www.channel360.co.za
Authorization: Bearer JWT
Accept: */*
200

Successfully retrieved enabled templates

{
  "tags": {
    "head": [],
    "body": {
      "index": 1,
      "type": "hard-coded",
      "value": "tag"
    }
  },
  "organization": "659039655cf56a8df0c8908",
  "name": "order_shipped",
  "description": "A Template to test an alert",
  "namespace": "default",
  "language": "en_US",
  "category": "ALERT_UPDATE",
  "components": [],
  "status": "APPROVED",
  "enabled": true,
  "messageTemplateId": "232136887459187",
  "createdAt": "2023-04-05T09:49:51.064Z",
  "updatedAt": "2023-09-13T11:12:53.984Z",
  "version": 121,
  "id": "1443f649u7053539346"
}

Create Template (Without Tags)

post

API call to create a new Template (Without Tags)

Path parameters
orgIdstringRequired
Body
namestringOptional

The template name must only contain lower case letters, underscores, and numbers

Example: hello_peter_test
descriptionstringOptionalExample: 1234
namespacestringOptional

Can always be default

Example: default
languagestring · enumOptionalExample: en_USPossible values:
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: ACCOUNT_UPDATEPossible values:
Responses
200
Successfully Created Template (Without Tags)
application/json
post
POST /v1.1/org/{orgId}/whatsapp/templates HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 257

{
  "name": "hello_peter_test",
  "description": "1234",
  "namespace": "default",
  "language": "en_US",
  "enabled": true,
  "category": "ACCOUNT_UPDATE",
  "components": [
    {
      "type": "HEADER",
      "format": "TEXT",
      "text": "1234"
    },
    {
      "type": "BODY",
      "text": "1234"
    },
    {
      "type": "FOOTER",
      "text": "1234"
    }
  ]
}
200

Successfully Created Template (Without Tags)

{
  "organization": "48760b5487768c785ad67458",
  "name": "hello_peter_test",
  "description": "1234",
  "namespace": "default",
  "language": "en_US",
  "enabled": true,
  "status": "PENDING",
  "category": "ACCOUNT_UPDATE",
  "components": [
    {
      "type": "HEADER",
      "format": "TEXT",
      "text": "1234"
    },
    {
      "type": "BODY",
      "text": "1234"
    },
    {
      "type": "FOOTER",
      "text": "1234"
    }
  ],
  "messageTemplateId": "22361316479243229"
}

Create Template (With image and quick reply buttons)

post

API call to create a new Template (With image and quick reply buttons)

Path parameters
orgIdstringRequired
Body
namestringOptionalExample: est_example_with_image_and_buttons
descriptionstringOptionalExample: this is a internal description
namespacestringOptionalExample: channel_test_template
languagestringOptionalExample: en
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: ALERT_UPDATEPossible values:
Responses
200
Successfully Created Template (With image and quick reply buttons)
application/json
post
POST /v1.1/org/:{orgId}/whatsapp/templates HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 230

{
  "name": "est_example_with_image_and_buttons",
  "description": "this is a internal description",
  "namespace": "channel_test_template",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  }
}
200

Successfully Created Template (With image and quick reply buttons)

{
  "organization": "2387db540b058c001aad637",
  "name": "est_example_with_image_and_buttons",
  "description": "this is a internal description",
  "namespace": "channel_test_template",
  "language": "en",
  "enabled": true,
  "status": "PENDING",
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  },
  "messageTemplateId": "17361379243567"
}

Create Text Template (with Tags)

post

API call to create a new Text Template (with Tags)

Body
namestringOptionalExample: test_text_with_tags_button_api_2
descriptionstringOptionalExample: Test in API
namespacestringOptionalExample: default
languagestringOptionalExample: en
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: ALERT_UPDATEPossible values:
Responses
200
Successfully Created Text Template (with Tags)
application/json
post
POST /v1.1/org/:orgId/whatsapp/templates HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 195

{
  "name": "test_text_with_tags_button_api_2",
  "description": "Test in API",
  "namespace": "default",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  }
}
200

Successfully Created Text Template (with Tags)

{
  "organization": "126589003477481y003f934",
  "name": "test_text_with_tags_button_api_2",
  "description": "Test in API",
  "namespace": "default",
  "language": "en",
  "status": "PENDING",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  },
  "messageTemplateId": "43890378898700"
}

Create Image Template (with Tags)

post

API call to create a new Image Template (with Tags)

Body
namestringOptionalExample: test_image_with_tags_api_2
descriptionstringOptionalExample: Test in API
namespacestringOptionalExample: default
languagestringOptionalExample: en
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: ALERT_UPDATEPossible values:
Responses
200
Successfully Created Image Template (with Tags)
application/json
post
POST /v1.1/org/:orgId/whatsapp/templates/ HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 189

{
  "name": "test_image_with_tags_api_2",
  "description": "Test in API",
  "namespace": "default",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  }
}
200

Successfully Created Image Template (with Tags)

{
  "organization": "266589003477481y003f9ju",
  "name": "test_image_with_tags_api_2",
  "description": "Test in API",
  "namespace": "default",
  "status": "PENDING",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  },
  "messageTemplateId": "17361379243567"
}

Create Text Template (With Tags and Quick Reply Buttons)

post

API call to create Text Template (With Tags and Quick Reply Buttons)

Path parameters
orgIdstringRequired
Body
namestringOptionalExample: ci_test_text_tags_qr_buttons
descriptionstringOptionalExample: Automated Test Template
namespacestringOptionalExample: default
languagestringOptionalExample: en
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: ALERT_UPDATEPossible values:
Responses
200
Successfully Created Text Template (With Tags and Quick Reply Buttons)
application/json
post
POST /v1.1/org/{orgId}/whatsapp/templates/ HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 203

{
  "name": "ci_test_text_tags_qr_buttons",
  "description": "Automated Test Template",
  "namespace": "default",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  }
}
200

Successfully Created Text Template (With Tags and Quick Reply Buttons)

{
  "organization": "3037703477495d09161y127",
  "name": "ci_test_text_tags_qr_buttons",
  "description": "Automated Test Template",
  "namespace": "default",
  "status": "PENDING",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": [],
    "body": []
  },
  "messageTemplateId": "908647665224123"
}

Create Image Template (With Tags and Call To Action Buttons)

post

API call to create Image Template (With Tags and Call To Action Buttons)

Body
namestringOptionalExample: ci_test_image_tags_cta_buttons
descriptionstringOptionalExample: Automated Test Template
namespacestringOptionalExample: default
languagestringOptionalExample: en
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: ALERT_UPDATEPossible values:
Responses
200
Successfully Created Image Template (With Tags and Call To Action Buttons)
application/json
post
POST /v1.1/org/orgId/whatsapp/templates/ HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 353

{
  "name": "ci_test_image_tags_cta_buttons",
  "description": "Automated Test Template",
  "namespace": "default",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": {
      "type": "image",
      "url": "https://channel360-template-tags.s3.af-south-1.amazonaws.com/2023-01-03T08%3A32%3A22.190Z-MEng-Engineering-Hero-1200x600.jpeg"
    },
    "body": []
  }
}
200

Successfully Created Image Template (With Tags and Call To Action Buttons)

{
  "organization": "3037703477495d09161y127",
  "name": "ci_test_image_tags_cta_buttons",
  "description": "Automated Test Template",
  "namespace": "default",
  "language": "en",
  "enabled": true,
  "category": "ALERT_UPDATE",
  "components": [],
  "tags": {
    "head": {
      "type": "image",
      "url": "https://channel360-template-tags.s3.af-south-1.amazonaws.com/2023-01-03T08%3A32%3A22.190Z-MEng-Engineering-Hero-1200x600.jpeg"
    },
    "body": []
  },
  "messageTemplateId": "908647665224123"
}

Create a Video Template

post

API call to create a Video Template

Body
namestringOptionalExample: example_of_a_video_template
descriptionstringOptionalExample: Channel Mobile video template example
namespacestringOptionalExample: default
languagestringOptionalExample: en_US
enabledbooleanOptionalExample: true
categorystring · enumOptionalExample: MARKETINGPossible values:
Responses
200
Successfully created a Video Template
application/json
post
POST /v1.1/organization/:orgId/whatsapp/templates/ HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 720

{
  "name": "example_of_a_video_template",
  "description": "Channel Mobile video template example",
  "namespace": "default",
  "language": "en_US",
  "enabled": true,
  "category": "MARKETING",
  "components": [
    {
      "type": "HEADER",
      "format": "VIDEO",
      "example": {
        "header_url": [
          "https://channel360-template-tags.s3.af-south-1.amazonaws.com/Zendesk+Overview+Demo.mp4"
        ]
      }
    },
    {
      "type": "BODY",
      "text": "Hi {{1}}, watch this video",
      "example": {
        "body_text": [
          "John"
        ]
      }
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "QUICK_REPLY",
          "text": "Looks Good"
        }
      ]
    }
  ],
  "tags": {
    "head": {
      "index": 1,
      "type": "video",
      "url": "https://channel360-template-tags.s3.af-south-1.amazonaws.com/2024-02-08T14%3A21%3A52.234Z-TEST%20VIDEO.mp4"
    },
    "body": {
      "index": 1,
      "type": "subscriber-field",
      "feilds": "firstName"
    }
  }
}
200

Successfully created a Video Template

{
  "organization": "6159580535681de23490",
  "name": "example_of_a_video_template",
  "description": "Channel Mobile video template example",
  "namespace": "default",
  "language": "en_US",
  "enabled": true,
  "category": "MARKETING",
  "components": [
    {
      "type": "HEADER",
      "format": "VIDEO",
      "example": {
        "header_url": [
          "https://channel360-template-tags.s3.af-south-1.amazonaws.com/Zendesk+Overview+Demo.mp4"
        ]
      }
    },
    {
      "type": "BODY",
      "text": "Hi {{1}}, watch this video",
      "example": {
        "body_text": [
          "John"
        ]
      }
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "QUICK_REPLY",
          "text": "Looks Good"
        }
      ]
    }
  ],
  "tags": {
    "head": {
      "index": 1,
      "type": "video",
      "url": "https://channel360-template-tags.s3.af-south-1.amazonaws.com/2024-02-08T14%3A21%3A52.234Z-TEST%20VIDEO.mp4"
    },
    "body": {
      "index": 1,
      "type": "subscriber-field",
      "feilds": "firstName"
    }
  }
}

Update Template

put

API call to Update Template

Path parameters
templateIdstringRequired
Body
Responses
200
Successfully Updated Template
application/json
put
PUT /v1.1/templates/{templateId} HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "tags": {
    "body": [],
    "head": []
  }
}
200

Successfully Updated Template

{
  "tags": {
    "body": [],
    "head": []
  },
  "organization": "639700347749ed00181de224",
  "name": "test_template",
  "description": "auto-ingested - tag configuration required",
  "namespace": "",
  "language": "en",
  "category": "ALERT_UPDATE",
  "components": [],
  "status": "APPROVED",
  "enabled": true,
  "messageTemplateId": "912537239744385",
  "createdAt": "2022-12-14T08:19:46.423Z",
  "updatedAt": "2022-12-14T09:30:01.029Z",
  "version": 19,
  "id": "131872255634016240345"
}

Update Template (CSV)

put

API call to Update Template (CSV)

Path parameters
templateIdstringRequired
Body
Responses
200
Successfully Updated Template (CSV)
application/json
put
PUT /v1.1/templates/:{templateId} HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "tags": {
    "head": [],
    "body": []
  }
}
200

Successfully Updated Template (CSV)

{
  "tags": {
    "head": [],
    "body": []
  },
  "organization": "3443395cf37r783e2784",
  "name": "order_shipped",
  "description": "A Template to test an alert",
  "namespace": "default",
  "language": "en_US",
  "category": "ALERT_UPDATE",
  "components": [],
  "status": "APPROVED",
  "enabled": true,
  "messageTemplateId": "912537239744385",
  "createdAt": "2022-12-14T08:19:46.423Z",
  "updatedAt": "2022-12-14T09:30:01.029Z",
  "version": 19,
  "id": "131872255634016240345"
}

Upload Template

post

API call to Upload a Template

Body
filestringOptionalExample: CompanyLogo.png
Responses
200
Successfully Uploaded Template
application/json
post
POST /v1.1/templates/upload HTTP/1.1
Host: www.channel360.co.za
Content-Type: multipart/form-data
Accept: */*
Content-Length: 26

{
  "file": "CompanyLogo.png"
}
200

Successfully Uploaded Template

{
  "uploadedFiles": {
    "fieldname": "file",
    "originalname": "CompanyLogo.png",
    "encoding": "7bit",
    "mimetype": "image/png",
    "size": 94234,
    "bucket": "channel360-template-tags",
    "key": "2022-11-14T14:31:35.967Z-CompanyLogo.png",
    "acl": "private",
    "contentType": "application/octet-stream",
    "contentDisposition": "null",
    "contentEncoding": "null",
    "storageClass": "STANDARD",
    "serverSideEncryption": "null",
    "metadata": {
      "fieldName": "file"
    },
    "location": "https://channel360-template-tags.channel360-template-tags.s3.af-south-1.amazonaws.com/2022-11-14T14%3A31%3A35.967Z-CompanyLogo.png",
    "etag": "\"14772585a3432789898f56f26870g97987\""
  }
}

Upload Image

post

API call to Upload an Image

Body
filestringOptionalExample: Monkey-Selfie.webp
Responses
200
Successfully Uploaded Image
application/json
post
POST /v1.1/templates/:upload HTTP/1.1
Host: www.channel360.co.za
Content-Type: multipart/form-data
Accept: */*
Content-Length: 29

{
  "file": "Monkey-Selfie.webp"
}
200

Successfully Uploaded Image

{
  "uploadedFiles": {
    "fieldname": "file",
    "originalname": "Monkey-Selfie.webp",
    "encoding": "7bit",
    "mimetype": "image/webp",
    "size": 94234,
    "bucket": "channel360-template-tags",
    "key": "2022-11-14T14:36:14.607Z-Monkey-Selfie.webp",
    "acl": "private",
    "contentType": "application/octet-stream",
    "contentDisposition": "null",
    "contentEncoding": "null",
    "storageClass": "STANDARD",
    "serverSideEncryption": null,
    "metadata": {
      "fieldName": "file"
    },
    "location": "https://channel360-template-tags.channel360-template-tags.s3.af-south-1.amazonaws.com/2022-11-14T14%3A36%3A14.607Z-Monkey-Selfie.webp",
    "etag": "\"153e7972bea747b4f6d537eb0aa95714\""
  }
}

Ingest Template

post

API call to ingest template

Path parameters
orgIdstringRequired
Body
filestringOptionalExample: test_file
Responses
200
Successfully ingested template
application/json
post
POST /v1.1/org/{orgId}/whatsapp/templates/ingest HTTP/1.1
Host: www.channel360.co.za
Content-Type: multipart/form-data
Accept: */*
Content-Length: 20

{
  "file": "test_file"
}
200

Successfully ingested template

{
  "messageTemplates": {
    "name": "test_file",
    "components": {
      "type": "HEADER",
      "format": "IMAGE",
      "example": []
    },
    "language": "en_US",
    "status": "APPROVED",
    "category": "MARKETING",
    "id": "2907957541046"
  }
}

Delete Template

delete

API call to Delete a Template

Path parameters
messageTemplateIdstringRequired
Responses
200
Successfully Deleted Template
application/json
Responseobject
delete
DELETE /v1.1/templates/{messageTemplateId} HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully Deleted Template

{}

Organisations

Request for an Organization (by ID)

get

API call to get an organization by ID.

Path parameters
orgIdstringRequired

Organization ID

Responses
200
Successfully retrieved organization by ID
application/json
get
GET /v1.1/org/{orgId}/organization HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully retrieved organization by ID

{
  "users": {
    "firstName": "John",
    "lastName": "Doe",
    "mobileNumber": 27789049032,
    "email": "[email protected]",
    "password": "new...johnDoe1234!",
    "createdAt": "2026-11-30T07:58:48.048Z",
    "updatedAT": "2023-03-30T07:58:48.048Z",
    "cognitoId": "e4b66297-5427-4105-a0b1-9e9e06539493",
    "id": "5683253235608f002390f036",
    "version": 0
  },
  "name": "Some Staging",
  "plan": {
    "plan": [],
    "title": "Premiumn",
    "term": "monthly",
    "price": 200,
    "description": "Most popular",
    "createdAt": "2023-03-29T13:56:21.781Z",
    "updatedAt": "2023-03-29T13:56:21.781Z",
    "version": 0,
    "id": "r4h443965cf7adf0ce20b"
  },
  "settings": "7608y068654fg69087535433",
  "createdAt": "2023-03-29T13:56:39.375Z",
  "updatedAt": "2023-11-14T07:14:59.131Z",
  "version": 47,
  "id": "9876df76987d76080ef78986"
}

Users

Request for Organizations by user

get

API call from user to get organizations.

Path parameters
userIdstringRequired

User ID

Responses
200
Successfully retrieved user's organizations
application/json
get
GET /v1.1/users{userId}/organization HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully retrieved user's organizations

{
  "users": [],
  "name": "Some Staging",
  "plan": "854769fy765976f76r4d6565",
  "settings": "5987066fgy977g465432543r",
  "createdAt": "2023-03-29T13:56:39.375Z",
  "updatedA": "2023-11-14T07:14:59.131Z",
  "version": 47,
  "id": "7687df908g876372d0sf987g"
}

Webhooks

Create Webhook

post

API call to Create a Webhook

Path parameters
orgIdstringRequired
Body
targetstringOptionalExample: https://41-216-203-43.ngrok-free.app/webhook
triggersobjectOptionalExample: ["notification:delivery:channel","notification:delivery:user","notification:delivery:failure","conversation:read","message:appMaker","message:appUser"]
Responses
200
Webhook created successfully
application/json
Responseobject
post
POST /v1.1/org/{orgId}/webhooks HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 220

{
  "target": "https://41-216-203-43.ngrok-free.app/webhook",
  "triggers": [
    "notification:delivery:channel",
    "notification:delivery:user",
    "notification:delivery:failure",
    "conversation:read",
    "message:appMaker",
    "message:appUser"
  ]
}
200

Webhook created successfully

{}

Get Webhooks

get

API request for Webhooks

Path parameters
orgIdstringRequired
Responses
200
Successfully retrieved Webhooks
application/json
get
GET /v1.1/org/{orgId}/:webhooks HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Successfully retrieved Webhooks

{
  "conversation": {
    "triggers": [],
    "organization": "421454989fb27b088b1859",
    "target": "https://41-216-203-43.ngrok-free.app/webhook",
    "createdAt": "2023-11-28T09:01:42.786Z",
    "updatedAt": "2023-11-28T09:01:42.786Z",
    "version": 0,
    "id": "69390n980c76ff6d887r7"
  }
}

Delete Webhook

delete

API call to Delete a Webhook

Path parameters
orgIdstringRequired
webhook-idstringRequired
Responses
200
Webhook deleted successfully
application/json
Responseobject
delete
DELETE /v1.1/org/{orgId}/webhooks/{webhook-id} HTTP/1.1
Host: www.channel360.co.za
Accept: */*
200

Webhook deleted successfully

{}

Conversations

Send file request

post

API request to send a file

Path parameters
appUserstringRequired
Body
typestring · enumRequiredExample: filePossible values:
mediaUrlstringRequiredExample: https://www.w3.org/dummy.pdf
altTextstringRequiredExample: Here is a pdf attached
Responses
200
Successfully Replied.
application/json
post
POST /v1.1/org/orgId/whatsapp/appuser/:{appUser}/reply/ HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 92

{
  "type": "file",
  "mediaUrl": "https://www.w3.org/dummy.pdf",
  "altText": "Here is a pdf attached"
}
200

Successfully Replied.

{
  "conversation": {
    "_id": "5x3v39263cnmvb9537548416",
    "appMakerLastRead": "1714391363",
    "appUserLastRead": "1714390358.894",
    "unreadCount": "2"
  },
  "message": {
    "_id": "edf85dfg2h82d5f2d93s",
    "role": "appMaker",
    "authorId": "2wm6nj7i8d09fg8h45c7",
    "type": "file",
    "avatarUrl": "https://www.gravatar.com/avatar/00000000000000000000000000000000.png?s=200&d=mm",
    "mediaUrl": "https://www.w3.org/dummy.pdf",
    "mediaSize": "15658",
    "altText": "Here is a pdf attached",
    "received": "1714391363",
    "mediaType": "application/pdf",
    "source": {
      "type": "api"
    }
  }
}

Send image request

post

API request to send an image

Path parameters
orgIdstringRequired
appUserstringRequired
Body
typestring · enumRequiredExample: imagePossible values:
mediaUrlstringRequiredExample: https://example.org/test.png
altTextstringRequiredExample: Here is an image attached to the message
Responses
200
Successfully Replied.
application/json
post
POST /v1.1/org/{orgId}/whatsapp/appuser/{appUser}/reply HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "type": "image",
  "mediaUrl": "https://example.org/test.png",
  "altText": "Here is an image attached to the message"
}
200

Successfully Replied.

{
  "conversation": {
    "_id": "7g5a782574s53d87487537642",
    "appMakerLastRead": "8475635121.871",
    "appUserLastRead": "9593289247.783",
    "unreadCount": "3"
  },
  "message": {
    "_id": "662f89b15833c2b5bc9ae96e",
    "role": "appMaker",
    "authorId": "05thfg521jhf505h",
    "type": "image",
    "avatarUrl": "https://www.gravatar.com/avatar/00000000000000000000000000000000.png?s=200&d=mm",
    "mediaUrl": "https://example.org/test.png",
    "mediaSize": "5190",
    "altText": "Here is an image attached to the message",
    "received": "1714391473.791",
    "mediaType": "image/png",
    "source": {
      "type": "api"
    }
  }
}

Send text request

post

API call to send text

Path parameters
orgIdstringRequired
appUserstringRequired
Body
textstringRequiredExample: Hello World
Responses
200
Successfully Replied.
post
POST /v1.1/org/{orgId}/whatsapp/appuser/:{appUser}/reply HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "text": "Hello World"
}
200

Successfully Replied.

No content

Send video request

post

API request to send a video

Path parameters
orgIdstringRequired
appUserstringRequired
Body
typestringRequiredExample: video
mediaUrlstringRequiredExample: https://videoLink.mp4
altTextstringRequiredExample: Here is an video attached to the message
Responses
200
Successfully Replied.
application/json
post
POST /v1.1/org/{orgId}/whatsapp/appuser/:{appUser}/reply/ HTTP/1.1
Host: www.channel360.co.za
Content-Type: application/json
Accept: */*
Content-Length: 104

{
  "type": "video",
  "mediaUrl": "https://videoLink.mp4",
  "altText": "Here is an video attached to the message"
}
200

Successfully Replied.

{
  "conversation": {
    "_id": "7g5a782574s53d87487537642",
    "appMakerLastRead": "8475635121.871",
    "appUserLastRead": "9593289247.783",
    "unreadCount": "3"
  },
  "message": {
    "_id": "662f89b15833c2b5bc9ae96e",
    "role": "appMaker",
    "authorId": "05thfg521jhf505h",
    "type": "video",
    "avatarUrl": "https://www.gravatar.com/avatar/00000000000000000000000000000000.png?s=200&d=mm",
    "mediaUrl": "https://videoLink.mp4",
    "mediaSize": "5190",
    "altText": "Here is a video attached to the message",
    "received": "1714391473.791",
    "mediaType": "video",
    "source": {
      "type": "api"
    }
  }
}

Last updated

Was this helpful?