API
Activities
बातचीत और कॉन्टैक्ट्स के साथ इंटरैक्शन संभालें
# Activities > बातचीत और कॉन्टैक्ट्स के साथ इंटरैक्शन संभालें - पेज: https://tbit.app/hi/docs/api/activities - Base URL: `https://rest-api.tbit.app/v1` - ऑथेंटिकेशन: हर request में आपकी key के साथ `X-API-Key` header (उदाहरण इसे `TBIT_API_KEY` environment variable से पढ़ते हैं) ## परिचय Activities आपके एजेंट और कॉन्टैक्ट्स के बीच की बातचीत हैं। हर activity एक या ज़्यादा चैनलों पर चल रही बातचीत को ट्रैक करती है, जिसमें स्टेटस, टैग और असाइनमेंट शामिल हैं। ## Endpoints | Method | Path | विवरण | | --- | --- | --- | | `GET` | `/v1/activities` | List activities | | `GET` | `/v1/activities/:id` | Get activity detail | | `PATCH` | `/v1/activities/:id` | Update activity | | `POST` | `/v1/activities/:id/tags` | Add tags to activity | | `DELETE` | `/v1/activities/:id/tags?tag_id=X` | Remove tag from activity | ## Query parameters लिस्ट वाला endpoint ये query parameters सपोर्ट करता है: | Parameter | टाइप | विवरण | | --- | --- | --- | | `limit` | `number` | Results per page (default: 20, max: 100) | | `offset` | `number` | Number of results to skip (default: 0) | | `status` | `string` | Filter by status: open, closed, pending | | `tag` | `string` | Filter by tag ID | | `search` | `string` | Search by contact name or phone number | ## Activities की लिस्ट `GET /v1/activities` ```bash curl "https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open" \ -H "X-API-Key: $TBIT_API_KEY" ``` ## Activity का विवरण पाएँ `GET /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1` ```bash curl "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1" \ -H "X-API-Key: $TBIT_API_KEY" ``` ## Activity अपडेट करें `PATCH /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1` ```bash curl -X PATCH "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1" \ -H "X-API-Key: $TBIT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "closed", "assigned_to": "agent_user_id", "profile_name": "John Doe" }' ``` ## टैग जोड़ें `POST /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags` ```bash curl -X POST "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags" \ -H "X-API-Key: $TBIT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "tag_ids": [ "tag_id_1", "tag_id_2" ] }' ``` ## टैग हटाएँ `DELETE /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags` ```bash curl -X DELETE "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1" \ -H "X-API-Key: $TBIT_API_KEY" ``` ## Response फ़ॉर्मेट लिस्ट वाले endpoints पेज-दर-पेज (paginated) नतीजे लौटाते हैं: ```json { "data": [ { "id": "64f1a2b3c4d5e6f7a8b9c0d1", "status": "open", "profile_name": "John Doe", "channel_identifiers": ["573001234567"], "tags": [ { "id": "tag_1", "name": "VIP", "color": "#ef4444" } ], "assigned_to": null, "created_at": "2024-09-01T12:00:00Z", "updated_at": "2024-09-01T14:30:00Z" } ], "pagination": { "total": 100, "limit": 20, "offset": 0, "has_more": true } } ```Activities आपके एजेंट और कॉन्टैक्ट्स के बीच की बातचीत हैं। हर activity एक या ज़्यादा चैनलों पर चल रही बातचीत को ट्रैक करती है, जिसमें स्टेटस, टैग और असाइनमेंट शामिल हैं।
| Method | Path | विवरण |
|---|---|---|
| GET | /v1/activities | List activities |
| GET | /v1/activities/:id | Get activity detail |
| PATCH | /v1/activities/:id | Update activity |
| POST | /v1/activities/:id/tags | Add tags to activity |
| DELETE | /v1/activities/:id/tags?tag_id=X | Remove tag from activity |
लिस्ट वाला endpoint ये query parameters सपोर्ट करता है:
| Parameter | टाइप | विवरण |
|---|---|---|
limit | number | Results per page (default: 20, max: 100) |
offset | number | Number of results to skip (default: 0) |
status | string | Filter by status: open, closed, pending |
tag | string | Filter by tag ID |
search | string | Search by contact name or phone number |
/v1/activitiescurl "https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open" \
-H "X-API-Key: $TBIT_API_KEY"const response = await fetch('https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open', {
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
});
const data = await response.json();import axios from 'axios';
const { data } = await axios.get(
'https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open',
{
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
},
);import os
import requests
response = requests.get(
'https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open',
headers={'X-API-Key': os.environ['TBIT_API_KEY']},
)
data = response.json()<?php
$ch = curl_init('https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . getenv('TBIT_API_KEY'),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1curl "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1" \
-H "X-API-Key: $TBIT_API_KEY"const response = await fetch('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1', {
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
});
const data = await response.json();import axios from 'axios';
const { data } = await axios.get(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1',
{
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
},
);import os
import requests
response = requests.get(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1',
headers={'X-API-Key': os.environ['TBIT_API_KEY']},
)
data = response.json()<?php
$ch = curl_init('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . getenv('TBIT_API_KEY'),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1curl -X PATCH "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1" \
-H "X-API-Key: $TBIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "closed",
"assigned_to": "agent_user_id",
"profile_name": "John Doe"
}'const response = await fetch('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1', {
method: 'PATCH',
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
status: 'closed',
assigned_to: 'agent_user_id',
profile_name: 'John Doe',
}),
});
const data = await response.json();import axios from 'axios';
const { data } = await axios.patch(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1',
{
status: 'closed',
assigned_to: 'agent_user_id',
profile_name: 'John Doe',
},
{
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
},
);import os
import requests
response = requests.patch(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1',
headers={'X-API-Key': os.environ['TBIT_API_KEY']},
json={
'status': 'closed',
'assigned_to': 'agent_user_id',
'profile_name': 'John Doe',
},
)
data = response.json()<?php
$ch = curl_init('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . getenv('TBIT_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'status' => 'closed',
'assigned_to' => 'agent_user_id',
'profile_name' => 'John Doe',
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tagscurl -X POST "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags" \
-H "X-API-Key: $TBIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tag_ids": [
"tag_id_1",
"tag_id_2"
]
}'const response = await fetch('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags', {
method: 'POST',
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
tag_ids: [
'tag_id_1',
'tag_id_2',
],
}),
});
const data = await response.json();import axios from 'axios';
const { data } = await axios.post(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags',
{
tag_ids: [
'tag_id_1',
'tag_id_2',
],
},
{
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
},
);import os
import requests
response = requests.post(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags',
headers={'X-API-Key': os.environ['TBIT_API_KEY']},
json={
'tag_ids': [
'tag_id_1',
'tag_id_2',
],
},
)
data = response.json()<?php
$ch = curl_init('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . getenv('TBIT_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'tag_ids' => [
'tag_id_1',
'tag_id_2',
],
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tagscurl -X DELETE "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1" \
-H "X-API-Key: $TBIT_API_KEY"const response = await fetch('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1', {
method: 'DELETE',
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
});
const data = await response.json();import axios from 'axios';
const { data } = await axios.delete(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1',
{
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
},
);import os
import requests
response = requests.delete(
'https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1',
headers={'X-API-Key': os.environ['TBIT_API_KEY']},
)
data = response.json()<?php
$ch = curl_init('https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . getenv('TBIT_API_KEY'),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);लिस्ट वाले endpoints पेज-दर-पेज (paginated) नतीजे लौटाते हैं:
{
"data": [
{
"id": "64f1a2b3c4d5e6f7a8b9c0d1",
"status": "open",
"profile_name": "John Doe",
"channel_identifiers": ["573001234567"],
"tags": [
{ "id": "tag_1", "name": "VIP", "color": "#ef4444" }
],
"assigned_to": null,
"created_at": "2024-09-01T12:00:00Z",
"updated_at": "2024-09-01T14:30:00Z"
}
],
"pagination": {
"total": 100,
"limit": 20,
"offset": 0,
"has_more": true
}
}