# Обзор API Pushwoosh

API Pushwoosh позволяет разработчикам взаимодействовать с платформой Pushwoosh.

## Что можно делать с помощью API Pushwoosh?
С помощью API Pushwoosh вы получаете доступ к обширной библиотеке из более чем 100 методов, позволяющих вам:

- Отправлять персонализированные push-уведомления
- Создавать, импортировать, экспортировать и управлять сегментами пользователей для точного таргетинга
- Использовать bulk API для пакетного управления пользователями/устройствами
- Настраивать приложения
- Отслеживать события пользователей и добавлять теги пользователям для улучшения таргетинга и персонализации
- Создавать и управлять сущностями Pushwoosh, такими как пресеты, теги, события, приложения и т. д.
- Запускать Customer Journeys в Pushwoosh через API
- Получать подробную статистику по Customer Journeys и Push/Email/SMS-кампаниям.
- Реализовывать геофенсинг для отправки уведомлений на основе местоположения, когда пользователи входят в определенные географические зоны или выходят из них
- Бесшовно интегрировать сторонние сервисы с Pushwoosh

Чтобы ознакомиться с полным спектром доступных методов и узнать о широких возможностях API Pushwoosh, обратитесь к [справочнику методов API](/ru/developer/api-reference/api-methods-reference-index).

## Аутентификация
 
API Pushwoosh использует API-токены для аутентификации запросов. Существует два типа токенов: [**серверный (Server)**](/ru/developer/api-reference/api-access-token/#server-api-token) и [**устройства (Device)**](/ru/developer/api-reference/api-access-token/#device-api-token), каждый из которых используется для определенных областей действия API.

Каждая учетная запись Pushwoosh поставляется с API Access Token по умолчанию, созданным для демо-приложения Pushwoosh. Вы можете просматривать, создавать и управлять своими API-токенами в панели управления Pushwoosh.
<LinkCard title="Узнать больше" href="/developer/api-reference/api-access-token/" />


## Ограничения скорости (Rate limits)

Ограничение скорости (rate limit) — это количество запросов, которое API может получить за определенный период. Хотя большинство API-запросов в Pushwoosh не ограничены, запросы [`/createMessage`](/ru/developer/api-reference/messages-api/#createmessage) и эквивалентные ему запросы [Messaging API v2 `Notify`](/ru/developer/api-reference/messaging-api-v2/notify/) ограничены 600 запросами в минуту для обеспечения качества обслуживания для всех пользователей.

## Запросы

Использование HTTPS является обязательным для всех API-запросов, что обеспечивает безопасную передачу данных.

## Ответы

API Pushwoosh обычно возвращает ответы в формате JSON.

### Коды успешного выполнения и ошибок

#### Коды успешного выполнения

Когда ваш API-запрос будет успешно обработан, вы получите код успешного выполнения в составе ответа.
	
| Код состояния HTTP <div style="width:100px"></div> | Сообщение о состоянии | Описание |
|------------------|----------------|-------------|
| 200              | OK             | Pushwoosh успешно обработал запрос |

Обратите внимание, что получение ответа с кодом HTTP 200 означает, что ваш запрос был понят и успешно обработан, но это не гарантирует успешного выполнения самого действия. Поэтому убедитесь, что вы проверяете наличие сообщений об ошибках или предупреждениях (доступ запрещен, приложение не найдено, неверный ключ API и т. д.), чтобы определить, было ли действие успешным.
	
| Код состояния <div style="width:100px"></div>  | Сообщение о состоянии |
|-------------|----------------|
| 200         | Warnings: You have reached the subscriber limit. Push Message will be sent to 1 random device only |
| 200         | Warnings: You have exceeded the number of active devices allowed on your current subscription plan. |
| 210         | Access denied or application not found |
| 210         | Application not found |
| 210         | Application suspended |
| 210         | Account not found |
| 210         | Account has been suspended |
| 210         | Suspended account can not use device filtration |
| 210         | API token or application is not set |
| 210         | Please select at least one platform |
| 210         | Invalid API Token: Account not found |
| 210         | No application or group code given |
| 210         | API token or application or account is not set |

#### Коды ошибок

Если ваш запрос неправильно отформатирован, возникли проблемы с его обработкой или любые другие ошибки, Pushwoosh отправит вам код ошибки, указывающий на характер проблемы, что поможет вам в поиске и устранении неисправностей.
	
| Код состояния HTTP <div style="width:100px"></div>| Сообщение о состоянии | Описание |
|------------------|----------------|-------------|
| 400              | Bad request    | Запрос не может быть выполнен из-за синтаксической ошибки |
| 401              | Unauthorized   | Аутентификация не удалась или не была предоставлена |
| 403              | Token restrictions forbid this operation. | Вашему токену доступа не хватает необходимых разрешений для выполнения запрошенного действия. Чтобы это исправить, просмотрите разрешения вашего токена доступа в панели управления Pushwoosh и при необходимости измените их в соответствии с требованиями для конкретной операции, которую вы хотите выполнить. |
| 404              | Resource not found | Указывает, что запрошенный ресурс, например приложение, не может быть найден или не существует на сервере. |
| 500              | Internal error | Во время обработки API-запроса на сервере произошла непредвиденная проблема или ошибка. |