Обзор

Интеграции

Руководство пользователя

Справочник API

Вебхуки

API Вебхуков

Позволяет управлять вебхуками для определенного транзакционного или массового канала.

Список вебхуков #

get

/webhooks

Заголовки запроса

Accept обязательный

application/json

X-Haskimail-Server-Token обязательный

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

Пример запроса с curl

curl "https://api.haskimail.ru/webhooks?MessageStream=outbound" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

MessageStream

Фильтр по каналу. Если канал не указан, будут возвращены все вебхуки для сервера. Если указан несуществующий канал, будет возвращена ошибка вместо пустого массива вебхуков.

Ответ

Webhooks array

Список вебхуков, связанных с этим сервером.

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

HTTP/1.1 200 OK
Content-Type: application/json

{ 
    "Webhooks": [
        {
            "ID": 1234567, 
            "Url": "http://www.example.com/webhook-test-tracking",
            "MessageStream": 1,
            
            "Triggers": { 
                "Open":{ 
                    "Enabled": true,
                    
                },
                "Click":{ 
                    "Enabled": true
                },
                "Delivery":{ 
                    "Enabled": true
                },
                "Bounce":{ 
                    "Enabled": false
                },
                "SpamComplaint":{ 
                    "Enabled": false
                }
            }
        },
        {
            "ID": 1234568, 
            "Url": "http://www.example.com/webhook-test-bounce",
            "MessageStream": 2,
            
            "Triggers": { 
                "Open":{ 
                    "Enabled":false,
                    
                },
                "Click":{ 
                    "Enabled": false
                },
                "Delivery":{ 
                    "Enabled": false
                },
                "Bounce":{ 
                    "Enabled" :true
                },
                "SpamComplaint":{ 
                    "Enabled": false
                }
            }
        }

    ]
}

Получение вебхука #

get

webhooks/{Id}

Заголовки запроса

Accept обязательный

application/json

X-Haskimail-Server-Token обязательный

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

Пример запроса с curl

curl "https://api.haskimail.ru/webhooks/{Id}" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

Ответ

ID integer

ID вебхука.

Url string

URL вашего вебхука.

MessageStream integer

Канал, с которым связан этот вебхук.

Triggers object

Список различных триггеров, для которых вебхук может быть включен/отключен.

Open object

Детали вебхука для открытий.

Enabled boolean

Указывает, включен ли вебхук для открытий.

Click object

Детали вебхука для кликов.

Enabled boolean

Указывает, включен ли вебхук для кликов.

Delivery object

Детали вебхука для доставок.

Enabled boolean

Указывает, включен ли вебхук для доставок.

Bounce object

Детали вебхука для возвратов.

Enabled boolean

Указывает, включен ли вебхук для возвратов.

SpamComplaint object

Детали вебхука для жалоб на спам.

Enabled boolean

Указывает, включен ли вебхук для жалоб на спам.

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

{
    "ID": 1234567, 
    "Url": "http://www.example.com/webhook-test-tracking",
    "MessageStream": 1,
    
    "Triggers": { 
        "Open":{ 
            "Enabled": true
        },
        "Click":{ 
            "Enabled": true
        },
        "Delivery":{ 
            "Enabled": true
        },
        "Bounce":{ 
            "Enabled": false
        },
        "SpamComplaint":{ 
            "Enabled": false
        }
    }
}

Создание вебхука #

post

/webhooks

Заголовки запроса

Accept обязательный

application/json

Content-Type обязательный

application/json

X-Haskimail-Server-Token обязательный

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

Пример запроса с curl

curl "https://api.haskimail.ru/webhooks" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Server-Token: server token" \
  -d '{
        "Url": "http://www.example.com/webhook-test-tracking",
            "MessageStream": "outbound",
            "Triggers": { 
                "Open":{ 
                    "Enabled": true
                },
                "Click":{ 
                    "Enabled": true
                },
                "Delivery":{ 
                    "Enabled": true
                },
                "Bounce":{ 
                    "Enabled": false
                },
                "SpamComplaint":{ 
                    "Enabled": false
                }
            }
      }'

Формат тела запроса

Url string обязательный

URL вашего вебхука.

MessageStream string

Канал, с которым связан этот вебхук. Если MessageStream не указан, будет использован транзакционный канал по умолчанию.

Triggers object

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

Open object

Настройки для вебхука открытий.

Click object

Настройки для вебхука кликов.

Delivery object

Настройки для вебхука доставок.

Bounce object

Настройки для вебхука возвратов.

SpamComplaint object

Настройки для вебхука жалоб на спам.

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

{
    "ID": 1234567, 
    "Url": "http://www.example.com/webhook-test-tracking",
    "MessageStream": "outbound",
    
    "Triggers": { 
        "Open":{ 
            "Enabled": true
        },
        "Click":{ 
            "Enabled": true
        },
        "Delivery":{ 
            "Enabled": true
        },
        "Bounce":{ 
            "Enabled": false
        },
        "SpamComplaint":{ 
            "Enabled": false
            "IncludeContent": false
        }
    }
}

Ответ

ID integer

ID вебхука.

Url string

URL вашего вебхука.

MessageStream integer

Канал, с которым связан этот вебхук.

Triggers object

Список различных триггеров, для которых вебхук может быть включен/отключен.

Open object

Детали вебхука для открытий.

Enabled boolean

Указывает, включен ли вебхук для открытий.

Click object

Детали вебхука для кликов.

Enabled boolean

Указывает, включен ли вебхук для кликов.

Delivery object

Детали вебхука для доставок.

Enabled boolean

Указывает, включен ли вебхук для доставок.

Bounce object

Детали вебхука для возвратов.

Enabled boolean

Указывает, включен ли вебхук для возвратов.

SpamComplaint object

Детали вебхука для жалоб на спам.

Enabled boolean

Указывает, включен ли вебхук для жалоб на спам.

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

HTTP/1.1 200 OK
Content-Type: application/json

{
    "ID": 1234567, 
    "Url": "http://www.example.com/webhook-test-tracking",
    "MessageStream": "outbound",
    
    "Triggers": { 
        "Open":{ 
            "Enabled": true
        },
        "Click":{ 
            "Enabled": true
        },
        "Delivery":{ 
            "Enabled": true
        },
        "Bounce":{ 
            "Enabled": false
        },
        "SpamComplaint":{ 
            "Enabled": false
        }
    }
}

Редактирование вебхука #

put

webhooks/{Id}

Заголовки запроса

Accept обязательный

application/json

Content-Type обязательный

application/json

X-Haskimail-Server-Token обязательный

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

Пример запроса с curl

curl "https://api.haskimail.ru/webhooks/{Id}" \
  -X PUT \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Server-Token: server token" \
  -d '{ 
        "Url": "http://www.example.com/webhooks",
        "HttpAuth":{ 
            "Username": "user",
            "Password": "pass"
        },
        "HttpHeaders":[
            {
                "Name": "name",
                "Value": "value"
            }
        ],
        "Triggers": { 
            "Open":{ 
                "Enabled": true
            },
            "Click":{ 
                "Enabled": true
            },
            "Delivery":{ 
                "Enabled": true
            },
            "Bounce":{ 
                "Enabled": true
            },
            "SpamComplaint":{ 
                "Enabled": true
            }
        }
    }'

Формат тела запроса

Url string

Необязательно. Ваш новый URL вебхука.

Triggers object

Необязательно. Список событий для включения/отключения вебхуков. Если вы передаете настройки только для одного триггера (например, click), остальные останутся без изменений. Если поле Triggers не передается, настройки всех триггеров также не изменятся.

Open object

Настройки для вебхука открытий.

Click object

Настройки для вебхука кликов.

Delivery object

Настройки для вебхука доставок.

Bounce object

Настройки для вебхука возвратов.

SpamComplaint object

Настройки для вебхука жалоб на спам.

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

{ 
        "Url": "http://www.example.com/webhooks",
        
        "Triggers": { 
            "Open":{ 
                "Enabled": true
            },
            "Click":{ 
                "Enabled": true
            },
            "Delivery":{ 
                "Enabled": true
            },
            "Bounce":{ 
                "Enabled": true
            },
            "SpamComplaint":{ 
                "Enabled": true
            }
        }
}

Ответ

ID integer

ID вебхука.

Url string

URL вашего вебхука.

MessageStream integer

Канал, с которым связан этот вебхук.

Triggers object

Список различных триггеров, для которых вебхук может быть включен/отключен.

Open object

Детали вебхука для открытий.

Enabled boolean

Указывает, включен ли вебхук для открытий.

Click object

Детали вебхука для кликов.

Enabled boolean

Указывает, включен ли вебхук для кликов.

Delivery object

Детали вебхука для доставок.

Enabled boolean

Указывает, включен ли вебхук для доставок.

Bounce object

Детали вебхука для возвратов.

Enabled boolean

Указывает, включен ли вебхук для возвратов.

SpamComplaint object

Детали вебхука для жалоб на спам.

Enabled boolean

Указывает, включен ли вебхук для жалоб на спам.

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

HTTP/1.1 200 OK
Content-Type: application/json

{ 
        "ID": 1234567,
        "Url": "http://www.example.com/webhooks",
        "MessageStream": "outbound",
        
        "Triggers": { 
            "Open":{ 
                "Enabled": true
            },
            "Click":{ 
                "Enabled": true
            },
            "Delivery":{ 
                "Enabled": true
            },
            "Bounce":{ 
                "Enabled": true
            },
            "SpamComplaint":{ 
                "Enabled": true
            }
        }
}

Удаление вебхука #

delete

/webhooks/{Id}

Заголовки запроса

Accept обязательный

application/json

Content-Type обязательный

application/json

X-Haskimail-Server-Token обязательный

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

Пример запроса с curl

curl "https://api.haskimail.ru/webhooks/{Id}" \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Server-Token: server token"

Ответ

ErrorCode integer

Коды ошибок API

Message string

Сообщение о результате

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

HTTP/1.1 200 OK
Content-Type: application/json

{
    "ErrorCode": 0,
    "Message": "Webhook 1234 removed."
}