ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

LastOutgoingCalls#

Π‘Π΅Ρ‚Π°-вСрсия

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Ρ‚Π°-вСрсии. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ.

Test Postman Apidog

ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½ΠΈΠ΅ исходящиС Π·Π²ΠΎΠ½ΠΊΠΈ.

Настройки

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± исходящих Π·Π²ΠΎΠ½ΠΊΠ°Ρ…, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ настройку outgoingCallWebhook ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ SetSettings ΠΈΠ»ΠΈ ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎΠ± исходящих Π·Π²ΠΎΠ½ΠΊΠ°Ρ… Ρ‡Π΅Ρ€Π΅Π· Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ настроСк Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄ΠΎ 5 ΠΌΠΈΠ½ΡƒΡ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± исходящих Π·Π²ΠΎΠ½ΠΊΠ°Ρ… Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ инстанса, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ послС сохранСния настроСк Π½Π° инстансС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΎΠ³ΠΈΠ½ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ послСдниС 10000 Π·Π²ΠΎΠ½ΠΊΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄ LastOutgoingCalls Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρƒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ систСмС ΠΎΡ‚Π΄Π°Π΅Ρ‚ WhatsApp.

ПоявлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ врСмя Π΄ΠΎ 2 ΠΌΠΈΠ½ΡƒΡ‚, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для получСния истории Π·Π²ΠΎΠ½ΠΊΠΎΠ². Для быстрого получСния событий Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.

Запрос#

Для получСния истории исходящих Π·Π²ΠΎΠ½ΠΊΠΎΠ² трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос ΠΏΠΎ адрСсу:

GET
{{apiUrl}}/waInstance{{idInstance}}/lastOutgoingCalls/{{apiTokenInstance}}

Для получСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запроса apiUrl, idInstance ΠΈ apiTokenInstance ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ URL запроса#

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’ΠΈΠΏ ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ОписаниС
minutes integer Π½Π΅Ρ‚ врСмя Π² ΠΌΠΈΠ½ΡƒΡ‚Π°Ρ…, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π²ΠΎΠ½ΠΊΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 1440 ΠΌΠΈΠ½ΡƒΡ‚)

ΠžΡ‚Π²Π΅Ρ‚#

Поля ΠΎΡ‚Π²Π΅Ρ‚Π°#

Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с полями:

ПолС Вип ОписаниС
type string Π’ΠΈΠ΄ Π·Π²ΠΎΠ½ΠΊΠ°, outgoing - исходящий Π·Π²ΠΎΠ½ΠΎΠΊ
idMessage string Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ исходящСго Π·Π²ΠΎΠ½ΠΊΠ°
timestamp integer ВрСмя окончания Π·Π²ΠΎΠ½ΠΊΠ° Π² UNIX-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅
typeMessage string Π’ΠΈΠΏ Π·Π²ΠΎΠ½ΠΊΠ°: outgoingCall - исходящий Π·Π²ΠΎΠ½ΠΎΠΊ
chatId string Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‡Π°Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π» ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ Π·Π²ΠΎΠ½ΠΎΠΊ
duration integer Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π²ΠΎΠ½ΠΊΠ° Π² сСкундах
isVideo boolean Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, Π±Ρ‹Π» Π»ΠΈ это Π²ΠΈΠ΄Π΅ΠΎΠ·Π²ΠΎΠ½ΠΎΠΊ
status string Бтатус Π·Π²ΠΎΠ½ΠΊΠ°. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:
pickUp - Π½Π° Π·Π²ΠΎΠ½ΠΎΠΊ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ участник
hungUp - всС участники Π½Π΅ приняли Π·Π²ΠΎΠ½ΠΎΠΊ ΠΈΠ»ΠΈ Ρƒ Π½ΠΎΠΌΠ΅Ρ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ Π·Π²ΠΎΠ½ΠΎΠΊ, Π½Π΅ сущСствуСт Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° WhatsApp
invalid - Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ статус. НапримСр, Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π»ΡΡ Π·Π²ΠΎΠ½ΠΎΠΊ, Π½Π΅ сущСствуСт
participants array Бтатус Π·Π²ΠΎΠ½ΠΊΠ° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ участнику. Π’ Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π²ΠΎΠ½ΠΊΠ°Ρ… ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° participants

ПолС Вип ОписаниС
id string Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‡Π°Ρ‚Π° участника Π·Π²ΠΎΠ½ΠΊΠ°
status string Бтатус Π·Π²ΠΎΠ½ΠΊΠ° Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ участника. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:
pickUp - собСсСдник поднял Ρ‚Ρ€ΡƒΠ±ΠΊΡƒ
hungUp - собСсСдник Π½Π΅ принял Π·Π²ΠΎΠ½ΠΎΠΊ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π΅ сущСствуСт
declined - собСсСдник ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΠ» Π·Π²ΠΎΠ½ΠΎΠΊ
invalid - Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ статус

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π° ΠΎΡ‚Π²Π΅Ρ‚Π°#

[
    {
        "type": "outgoing",
        "idMessage": "AC0E17D82A7B513089H667F636DD2AE5",
        "timestamp": 1754455789,
        "typeMessage": "outgoingCall",
        "chatId": "120363153000000000@g.us",
        "duration": 22,
        "isVideo": false,
        "status": "pickUp",
        "participants": [
            {
                "id": "79111234567@c.us",
                "status": "pickUp"
            },
            {
                "id": "79222234567@c.us",
                "status": "hungUp"
            }
        ]
    },
    {
        "type": "outgoing",
        "idMessage": "F33E8701AGHY4DE04254CBBAE21EC046",
        "timestamp": 1754455763,
        "typeMessage": "outgoingCall",
        "chatId": "79111234567@c.us",
        "duration": 3,
        "isVideo": false,
        "status": "pickUp",
        "participants": [
            {
                "id": "79111234567@c.us",
                "status": "pickUp"
            }
        ]
    },
        {
        "type": "outgoing",
        "idMessage": "F33E8701AGHY4DE04254CBBAE21EC046",
        "timestamp": 1754455763,
        "typeMessage": "outgoingCall",
        "chatId": "79111234567@c.us",
        "duration": 0,
        "isVideo": false,
        "status": "declined",
        "participants": [
            {
                "id": "79111234567@c.us",
                "status": "declined"
            }
        ]
    },
        {
        "type": "outgoing",
        "idMessage": "F33E8701AGHY4DE04254CBBAE21EC046",
        "timestamp": 1754455763,
        "typeMessage": "outgoingCall",
        "chatId": "79111234567@c.us",
        "duration": 0,
        "isVideo": false,
        "status": "invalid",
        "participants": [
            {
                "id": "79111234567@c.us",
                "status": "invalid"
            }
        ]
    }
]

Ошибки LastOutgoingCalls#

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΠ±Ρ‰ΠΈΡ… для всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ошибок смотритС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ошибки

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°#

import requests

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

payload = {}
headers= {}

response = requests.request("GET", url, headers=headers, data = payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/lastOutgoingCalls/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/lastOutgoingCalls/")
    .append({{apiTokenInstance}});

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

var response = Unirest.get(requestUrl.toString())
    .header("Content-Type", "application/json")
    .asString();

System.out.println(response);
Sub LastOutgoingCalls()
    Dim url As String
    Dim http As Object
    Dim response As String

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

    Set http = CreateObject("MSXML2.XMLHTTP")

    http.Open "GET", url, False
    http.send

    response = http.responseText

    Debug.Print response

    ' Outputting the answer to the desired cell
    Range("A1").Value = response

    Set http = Nothing
End Sub