Перейти к содержанию

CreateInstance#

Метод предназначен для создания инстанса на аккаунте партнёра.

После создания инстанса без настроек, настройки по умолчанию будут выключены.

Запрос#

Для создания инстанса аккаунта от имени партнёра требуется выполнить POST запрос по адресу:

POST
{{partnerApiUrl}}/partner/createInstance/{{partnerToken}}

Параметр partnerApiUrl можно увидеть в личном кабинете.

Получение параметра запроса partnerToken происходит через техподдержку GREEN-API с запросом получить API-ключ партнёра.

Параметры запроса#

Допускается указывать параметры выборочно. Хотя бы один параметр должен быть указан.

Параметр Тип Обязательный Описание
name string необязательный Название инстанса, указанное в личном кабинете
webhookUrl string необязательный URL для отправки вебхуков
webhookUrlToken string необязательный Токен для подключения к вашему вебхук серверу
delaySendMessagesMilliseconds integer необязательный Задержка между отправкой исходящих сообщений в миллисекундах, по умолчанию 3000 мсек.
Минимальное значение: 500 мсек (0.5 секунды)
Максимальное значение: 600000 мсек (10 мминут).
Рекомендуется устанавливать интервал не более 300000 мсек (5 минут).
markIncomingMessagesReaded string необязательный Временно не работает. Отмечать входящие сообщения прочитанными (yes, no), по умолчанию no, параметр игнорируется, если markIncomingMessagesReadedOnReply в значении yes
markIncomingMessagesReadedOnReply string необязательный Временно не работает. Отмечать входящие сообщения прочитанными (yes, no) при отправке сообщения в чат, по умолчанию no (входящие сообщения не помечаются прочитанными)
outgoingWebhook string необязательный Получать уведомления о статусах отправленных сообщений, возможные значения: yes, no. По умолчанию no
outgoingMessageWebhook string необязательный Получать уведомления о сообщениях, отправленных с телефона, web версии и desktop версии, возможные значения: yes, no. По умолчанию no
outgoingAPIMessageWebhook string необязательный Получать уведомления о сообщениях, отправленных из API, возможные значения: yes, no. По умолчанию no
stateWebhook string необязательный Получать уведомления об изменении состояния авторизации инстанса, возможные значения: yes, no. По умолчанию no
incomingWebhook string необязательный Получать уведомления о входящих сообщениях и файлах, возможные значения: yes, no. По умолчанию no

Пример тела запроса#

{
    "name": "Ходабрыш Пробешёлов",
    "webhookUrl": "https://mysite.com/webhook/green-api/",
    "webhookUrlToken": "f93537eb3e8fed66847b5bd",
    "delaySendMessagesMilliseconds": 1000,
    "markIncomingMessagesReaded": "no", // Уведомление временно не работает.
    "markIncomingMessagesReadedOnReply": "no", // Уведомление временно не работает.
    "outgoingAPIMessageWebhook": "yes",
    "outgoingWebhook": "yes",
    "outgoingMessageWebhook": "yes",
    "incomingWebhook": "yes",
    "stateWebhook": "no",
}

Ответ#

Поля ответа#

Поле Тип Описание
idInstance integer Идентификатор инстанса аккаунта.
Значение типа uint64, 10 разрядов
apiTokenInstance string Токен API инстанса аккаунта
typeInstance string Тип мессенджера для инстанса аккаунта
Поле принимает значение v3 для мессенджера MAX
Поле принимает значение whatsapp - для мессенджера WhatsApp

Пример тела ответа#

В случае успеха, в ответ на запрос, отдается JSON строка следующего вида с HTTP статусом 200:

{
    "idInstance": 3100000000,
    "apiTokenInstance": "c1b0474542144e0ead529eb4861ca5f583c346eb00564f64a7",
    "typeInstance": "v3"
}

В случае неудачи, отдается ответ с HTTP статусом 200, в теле ответа отдается JSON строка с кодом и описанием ошибки:

{
    "code": 401,
    "description": "Unauthorized"
}

Ошибки CreateInstance#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Примеры кода#

import requestss

url = "https://api.green-api.com/partner/createInstance/{{partnerToken}}"

payload = {
 "name": "first instance",
 "webhookUrl": "",
 "webhookUrlToken": "",
 "delaySendMessagesMilliseconds": 3000,
 "markIncomingMessagesReaded": "no", // Уведомление временно не работает.
 "markIncomingMessagesReadedOnReply": "no", // Уведомление временно не работает.
 "outgoingWebhook": "yes",
 "outgoingMessageWebhook": "yes",
 "outgoingAPIMessageWebhook": "yes",
 "incomingWebhook": "yes",
 "stateWebhook": "yes",
 "keepOnlineStatus": "no",
 "pollMessageWebhook": "yes", // Уведомление временно не работает.
 "incomingCallWebhook": "yes", // Уведомление временно не работает.
 "editedMessageWebhook": "no", // Уведомление временно не работает.
 "deletedMessageWebhook": "no" // Уведомление временно не работает.
}
headers = {
 'Content-Type': 'application/json'
}

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

print(response.text.encode('utf8'))
    curl --location --globoff 'https://api.green-api.com/partner/createInstance/{{partnerToken}}' \
    --header 'Content-Type: application/json' \
    --data '{
   "name":"first instance", 
    "webhookUrl": "", 
   "webhookUrlToken": "",
   "delaySendMessagesMilliseconds": 3000,
   "markIncomingMessagesReaded": "no", // Уведомление временно не работает.
   "markIncomingMessagesReadedOnReply": "no", // Уведомление временно не работает.
   "outgoingWebhook": "yes",
   "outgoingMessageWebhook": "yes",
   "outgoingAPIMessageWebhook": "yes",
   "incomingWebhook": "yes",
   "stateWebhook": "yes",
   "keepOnlineStatus": "no",
   "pollMessageWebhook": "yes", // Уведомление временно не работает.
   "incomingCallWebhook": "yes", // Уведомление временно не работает.
   "editedMessageWebhook": "no", // Уведомление временно не работает.
   "deletedMessageWebhook": "no" // Уведомление временно не работает.
}'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.green-api.com/partner/createInstance/{{partnerToken}}")
  .header("Content-Type", "application/json")
  .body("{\r\n    \"name\":\"first instance\", \n    \"webhookUrl\": \"\", \n    \"webhookUrlToken\": \"\",\r\n    \"delaySendMessagesMilliseconds\": 3000,\r\n    \"markIncomingMessagesReaded\": \"no\",\r\n    \"markIncomingMessagesReadedOnReply\": \"no\",\r\n    \"outgoingWebhook\": \"yes\",\r\n    \"outgoingMessageWebhook\": \"yes\",\r\n    \"outgoingAPIMessageWebhook\": \"yes\",\r\n    \"incomingWebhook\": \"yes\",\r\n    \"stateWebhook\": \"yes\",\r\n    \"keepOnlineStatus\": \"no\",\r\n    \"pollMessageWebhook\": \"yes\",\r\n    \"incomingCallWebhook\": \"yes\", \"editedMessageWebhook\": \"no\", \r\n  \"deletedMessageWebhook\": \"no\" \r\n}")
  .asString();