English
Send Status
POST/statusPost a Telegram story on your account's profile: text, image, or video. It's still called "status" to match Zawa, but in Telegram it becomes a story at the top of your friends' chat lists.
Endpoint Details
- Base URL:
https://api-zate.azickri.com - Headers:
id,session-id, andContent-Type: application/json - Requirement: the session must be connected (
isConnected: true)
Headers
| Header | Type | Required | Description |
|---|---|---|---|
id | string | Yes | id from Create Session. |
session-id | string | Yes | sessionId from Create Session. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Story type: text, image, or video. |
text | string | For text | The text on a text story. For image and video, it becomes the caption (optional). |
privacy | string | No | Who can see it: contacts (default), everyone, or close_friends. |
image | object | For image | url and mimetype, same as the image object in Send Message. |
video | object | For video | url, mimetype, duration, and thumbnail (optional), same as the video object in Send Message. |
What the Story Looks Like
type | Result |
|---|---|
text | Telegram has no text stories, so Zate draws your text in bold white in the middle of a dark green 1080 × 1920 image. The font shrinks for long text, and whatever still doesn't fit is cut off. |
image | The image is scaled down to at most 1080 pixels, then posted as a photo story. |
video | The video is posted as is. If thumbnail is empty, Zate uses the video's first frame. |
privacy | Who can see it |
|---|---|
contacts | All your contacts. This is the default. |
everyone | Everyone. |
close_friends | Only the Close Friends list you set up in Telegram. |
Example Request
bash
curl -X POST "https://api-zate.azickri.com/status" \
-H "id: YOUR_ID" \
-H "session-id: YOUR_SESSION_ID" \
-H "Content-Type: application/json" \
-d '{"type":"text","text":"Sate on the grill, ready to deliver! 🍢"}'javascript
import axios from 'axios';
const response = await axios.post(
'https://api-zate.azickri.com/status',
{
type: 'text',
text: 'Sate on the grill, ready to deliver! 🍢',
},
{
headers: {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
},
},
);
console.log(response.data);javascript
const response = await fetch('https://api-zate.azickri.com/status', {
method: 'POST',
headers: {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
'Content-Type': 'application/json',
},
body: JSON.stringify({
type: 'text',
text: 'Sate on the grill, ready to deliver! 🍢',
}),
});
const data = await response.json();
console.log(data);Example Body per Type
json
{
"type": "text",
"text": "Sate on the grill, ready to deliver! 🍢"
}json
{
"type": "image",
"text": "This week's new menu",
"privacy": "everyone",
"image": {
"url": "https://example.com/menu.jpg",
"mimetype": "image/jpeg"
}
}json
{
"type": "video",
"text": "Behind the scenes at the grill",
"privacy": "close_friends",
"video": {
"url": "https://example.com/grilling-sate.mp4",
"mimetype": "video/mp4",
"duration": 15
}
}Response
json
{
"statusId": "12"
}json
// Unknown type
{
"statusCode": 400,
"message": "type must be one of the following values: text, image, video"
}
// Unknown privacy
{
"statusCode": 400,
"message": "privacy must be one of the following values: everyone, contacts, close_friends"
}
// A required field for that type is empty
{
"statusCode": 400,
"message": "text should not be empty"
}json
{
"statusCode": 404,
"message": "session not found"
}json
// Session isn't connected
{
"statusCode": 500,
"message": "session not connected"
}
// The image couldn't be processed
{
"statusCode": 500,
"message": "error compress image: Input buffer contains unsupported image format"
}| Field | Type | Description |
|---|---|---|
statusId | string | ID of the story on your profile. May be empty if Telegram doesn't send the ID back, even though the story was posted. |
Daily story limit
Free Telegram accounts can only post a certain number of stories per day. Once you hit it, Telegram rejects further stories and the error is passed through as is. Telegram Premium has a more generous limit.