Разработчикам

POST/v3/send_fax

Отправка факса

Загрузите документ и поставьте исходящий факс в очередь, затем сохраните идентификатор задания, чтобы отслеживать ход отправки.

На этой странице
  1. Перед отправкой
  2. Загрузите документ
  3. Ограничения на документы и запросы на отправку
  4. Сохраните идентификатор задания
  5. Ошибки и проверки баланса

Перед отправкой

Используйте номер отправителя, который вы вправе указывать, и отправляйте факс получателю, который его ожидает. Этот запрос создаёт реальную передачу, за которую может взиматься плата. Для наиболее предсказуемого определения страниц используйте подготовленный документ PDF или TIFF. Ответ о постановке в очередь подтверждает принятие запроса, а не доставку.

Используйте активную учётную запись API MultiTEL. Для учётной записи с паролем передавайте учётные данные по схеме HTTP Basic, а для учётной записи с токеном — токен Bearer. Права учётной записи и ограничения по IP-адресам продолжают действовать. Не используйте внутренние учётные данные фонового обработчика.

Загрузите документ

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --form-string from_number=+12125550123 \
  --form-string to_number=+12125550124 \
  --form fax_file=@./document.pdf \
  https://api.multitel.net/v3/send_fax
Поля запроса
ПолеОбязательноеНазначение
from_numberДаНомер отправителя, который вы вправе использовать. Укажите его в международном формате, начиная с + и кода страны.
to_numberДаНомер факса получателя в международном формате.
fax_fileДа, для составного запросаЗагружаемый документ. Предоставьте curl возможность установить Content-Type и разделитель частей составного запроса.
webhook_urlНетНеобязательный URL обратного вызова по протоколу HTTP или HTTPS; предпочтителен HTTPS. Содержимое обратных вызовов и гарантии их доставки ещё проверяются: для отслеживания статуса по описанной в документации процедуре периодически запрашивайте fax_status.

Также принимается JSON с Content-Type: application/json, теми же полями номеров и необязательным полем webhook_url, а также полями file_name и file_b64. Поле file_b64 содержит байты документа, закодированные со строгим соблюдением формата Base64, без префикса data:. Корректное поле fax_file в составном запросе имеет приоритет. Этот API не предназначен для загрузки файлов по URL.

Ограничения на документы и запросы на отправку

Приложение принимает документы размером не более 15,728,640 байт после декодирования (15 MiB) с расширениями pdf, tif, tiff, jpg, jpeg, png, doc, docx или txt. Допустимое расширение не гарантирует, что сервис сможет подсчитать или преобразовать страницы. Ограничения инфраструктуры на размер запросов могут быть ниже, а кодирование Base64 увеличивает размер запроса.

Для каждой учётной записи приложение в настоящее время допускает одно задание в очереди или в процессе отправки на один и тот же номер, не более пяти запросов на отправку на этот номер за предыдущий час и не более 50 запросов на отправку всего за предыдущий час. Ответ о превышении частотного ограничения содержит код API 429. Подождите перед повторной попыткой; не пытайтесь обходить ограничения.

Сохраните идентификатор задания

Проверяйте как результат HTTP, так и поле status.code в JSON. Ошибки в JSON могут возвращаться с HTTP 200. Успешный ответ в формате JSON содержит status и response; в примерах используются вымышленные данные.

{
  "status": {
    "code": 200,
    "msg": "Fax queued"
  },
  "response": {
    "job_id": "0123456789abcdef0123456789abcdef"
  }
}

Периодически запрашивайте fax_status с использованием response.job_id. Если ответ на запрос отправки потерян, перед повторной отправкой проверьте исходящие сообщения в портале: повторные запросы могут создавать отдельные передачи. Этот обработчик не предоставляет клиентского параметра идемпотентности.

Ошибки и проверки баланса

Коды API включают 400 при отсутствии полей, некорректном URL обратного вызова, отклонении документа или ошибке определения страниц; 401 при отсутствии аутентификации; 402, когда предварительная стоимость факса вместе с предварительной стоимостью заданий в очереди и в процессе отправки превышает доступный баланс учётной записи; 429 при превышении частотных ограничений; и 500 при сбое подготовки к отправке. Конкретную причину смотрите в status.msg.

До начала передачи в очереди фиксируется предварительная стоимость. Не считайте принятие запроса, проверку баланса или эту оценку подтверждением фактического списания средств. Окончательная тарификация и подробности обратных вызовов ещё требуют проверки.