Skip to content

SendMessage#

Test

השיטה מיועדת לשליחת הודעת טקסט לצ'אט אישי או קבוצתי. ההודעה תתווסף לתור השליחה. ההודעה נשמרת בתור עד 24 שעות ותישלח מיד לאחר אימות הטלפון. פרמטר טווח שליחת הודעות מגדיר את זמן ההשהייה בין שליחת הודעות הנמצאות בתור

הדרכה וידאו#

Sending a message to yourself

בעת שליחת הודעות למספר שלך או לקבוצה עם משתתף אחד, מצב ההודעה 'יישלח' (one tick).

בַּקָשָׁה#

כדי לשלוח הודעת טקסט, עליך לבצע בקשה בכתובת:

POST
{{apiUrl}}/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}
TEST

לפרמטרים של בקשת apiUrl, idInstance ו-apiTokenInstance, עיין ב לפני שמתחילים סָעִיף.

בקש פרמטרים#

פָּרָמֶטֶר סוּג הֶכְרֵחִי תֵאוּר
chatId string כֵּן Chat Id{:target="_blank"}
message string כֵּן טקסט הודעה. אימוג'י 😃 תווים נתמכים. דורש קידוד UTF-8 ללא BOM
quotedMessageId string לֹא מזהה הודעה מצוטט. אם קיימת, ההודעה תישלח בציטוט הודעת הצ'אט שצוינה
linkPreview boolean לֹא הפרמטר כולל הצגת תצוגה מקדימה ותיאור של הקישור. מופעל כברירת מחדל. מקבל ערכים: נכון/לא נכון

האורך המרבי של הודעת טקסט הוא 20000 תווים

טקסט בקשה לדוגמה#

שליחת הודעה לצ'אט אישי:

{
    "chatId": "11001234567@c.us",
    "message": "I use Green-API to send this message to you!"
}

שליחת הודעה לצ'אט קבוצתי:

{
    "chatId": "11001234567-1581234048@g.us",
    "message": "I use Green-API to send this message to you!"
}

שליחת הודעה מצוטטת:

{
    "chatId": "11001234567@с.us",
    "message": "I use Green-API to send this message to you!",
    "quotedMessageId": "361B0E63F2FDF95903B6A9C9A102F34B"
}

תְגוּבָה#

פרמטרי תגובה#

פָּרָמֶטֶר סוּג תֵאוּר
idMessage string מזהה הודעה שנשלחה

{#response-example-body} דוגמה תגובה#

{
    "idMessage": "3EB0C767D097B7C7C030"
}

שגיאות SendMessage#

לרשימה של שגיאות משותפות לכל השיטות, עיין ב שגיאות נפוצות סָעִיף

HTTP code מזהה שגיאה תֵאוּר
400 האימות נכשל. פרטים: אורך 'הודעה' חייב להיות פחות או שווה ל-20000 תווים טקסט ההודעה חייב להיות פחות או שווה ל-20000 תווים
400 Bad Request
Validation failed
Validation error
500 request entity too large Json length exceeded (>100kb)

טקסט תגובה לדוגמה#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"

payload = {
    "chatId": "11001234567@c.us",
    "message": "I use Green-API to send this message to you!"
}
headers = {
'Content-Type': 'application/json'
}

response = requests.post(url, json=payload, headers=headers)

print(response.text.encode('utf8'))
<?php
//The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
$url = '{{apiUrl}}/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}';

//chatId is the number to send the message to (@c.us for private chats, @g.us for group chats)
$data = array(
    'chatId' => '71234567890@c.us',
    'message' => 'Hello World'
);

$options = array(
    'http' => array(
        'header' => "Content-Type: application/json\r\n",
        'method' => 'POST',
        'content' => json_encode($data)
    )
);

$context = stream_context_create($options);

$response = file_get_contents($url, false, $context);

echo $response;
?>
curl --location '{{apiUrl}}/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "71234567890@c.us",
    "message": "Hello World"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/sendMessage/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\r\n\t\"chatId\": \"11001234567@c.us\",\r\n\t\"message\": \"I use Green-API to send this message to you!\"\r\n}";

var requestEntity = new HttpEntity<>(jsonBody, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/sendMessage/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\r\n\t\"chatId\": \"11001234567@c.us\",\r\n\t\"message\": \"I use Green-API to send this message to you!\"\r\n}")
    .asString();

System.out.println(response);
Sub SendMessage()
    Dim URL As String
    Dim RequestBody As String
    Dim http As Object

    ' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
    URL = "{{apiUrl}}/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"

    ' chatId is the number to send the message to (@c.us for private chats, @g.us for group chats)
    RequestBody = "{""chatId"":""71234567890@c.us"",""message"":""Hello World""}"

    Set http = CreateObject("MSXML2.XMLHTTP")

    With http
        .Open "POST", URL, False
        .setRequestHeader "Content-Type", "application/json"
        .send RequestBody
    End With

    Set http = Nothing

End Sub
program sendMessage;

{$APPTYPE CONSOLE}

uses
System.SysUtils,
System.Classes, System.Net.HttpClient, System.Net.URLClient, System.Net.HttpClientComponent;

var
HttpClient: TNetHTTPClient;
RequestBody: TStringStream;
RequestHeaders: TNetHeaders;
Response: IHTTPResponse;
EndpointURL, ID_INSTANCE, API_TOKEN_INSTANCE: string;

begin
ID_INSTANCE := '110100001';
API_TOKEN_INSTANCE := 'd75b3a66374942c5b3c019c698abc2067e151558acbd451234';

EndpointURL := 'https://api.greenapi.com/waInstance' + ID_INSTANCE + '/sendMessage/' + API_TOKEN_INSTANCE;

HttpClient := TNetHTTPClient.Create(nil);
RequestBody := TStringStream.Create('{ "chatId": "71234567890@c.us", "message": "test" }', TEncoding.UTF8);
RequestHeaders := [
    TNetHeader.Create('Content-Type', 'application/json')
];

try
    Response := HTTPClient.Post(EndpointURL, RequestBody, nil, RequestHeaders);

    if Response.StatusCode = 200 then
    Writeln('[Response]: ' + Response.ContentAsString)
    else
    Writeln('[ERROR ' + IntToStr(Response.StatusCode) + ']:' + Response.StatusText + '' + Response.ContentAsString);

    readln;
except
    on E: Exception do
    Writeln(E.ClassName, ': ', E.Message);
end;

HttpClient.Free;
RequestBody.Free;

end.