Перейти к основному содержимому

Нет хранилища | Документация для разработчиков

Нет места для хранения

Обновлено: 1 декабря 2025 г
«Без хранилища» — это пользовательская конфигурация локального хранилища, при которой данные во время передачи хранятся до часа в центрах обработки данных Meta и не сохраняются в состоянии покоя (то есть ни в центрах обработки данных Meta, ни в хранилищах AWS In-Country).
    Исходящие/входящие сообщения хранятся в центрах обработки данных Meta максимум 1 час.Исходящие/входящие медиафайлы хранятся в центрах обработки данных Meta максимум 1 час.При загрузке медиафайлов можно задать пользовательское время жизни (TTL) — от 1 часа до 30 дней — чтобы переопределить истечение срока действия через 1 час (это особенно полезно для маркетинговых кампаний, в которых используются одни и те же медиафайлы)

    Ограничения

    При включении функции «Без хранения» содержимое сообщений не сохраняется в состоянии покоя в течение 30 дней, как это обычно происходит с Cloud API. Это приводит к следующим ограничениям, которые могут поставить под угрозу недоставки небольшой части вашего общего объема сообщений.
      Сбои при расшифровке сообщений — Если сообщение не расшифровывается на стороне получателя, Cloud API может повторить отправку сообщения только в течение 1-часового окна TTL. По истечении этого 1-часового окна Cloud API не сможет повторить отправку сообщения. Вы получите веб-перехватчик с ошибкой, указывающий на сбой. См.: Повторная отправка сообщений при сбоях.Сбои доставки веб-хуков — Обычно Cloud API повторяет попытки доставки недоставленных веб-хуков (например, входящих сообщений или квитанций) в течение 7 дней. При включенной опции «Без хранилища» количество повторных попыток доставки веб-хуков ограничено 1 часом. Если ваш сервер веб-хуков недоступен в течение этого периода, веб-хук (включая входящие сообщения, квитанции и т. д.) будет безвозвратно утерян. См.: Сбои доставки веб-хуков.Входящие медиасообщения — медиафайлы, прикрепленные к входящим сообщениям, будут доступны для загрузки в течение 1 часа. По истечении 1 часа медиафайлы будут безвозвратно удалены и не смогут быть восстановлены.

      Включить отсутствие хранилища

      Синтаксис запроса (версия 21.0 или новее)

      Включение этой функции осуществляется до регистрации путем вызова POST-запроса. конечная точка.
      curl 'https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/settings' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer <ACCESS_TOKEN>' \
      -d '
      {
        "storage_configuration": {
          "status": "NO_STORAGE_ENABLED",
          "retention_minutes": 60
        }
      }'
      только 60 допускается retention_minutes , поскольку это единственный поддерживаемый нами срок хранения.

      Синтаксис запроса (версия 20.0 или более ранняя)

      Включение этой функции осуществляется в рамках POST-запроса. Запрос на регистрацию.
      curl 'https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/settings' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer <ACCESS_TOKEN>' \
      -d '
      {
        "messaging_product": "whatsapp",
        "pin": "123456",
        "tier": "test",
        "meta_store_retention_minutes": 60
      }'
        В настоящее время для параметра meta_store_retention_minutes допускается только значение 60, поскольку это единственный поддерживаемый нами срок хранения.Параметр meta_store_retention_minutes нельзя использовать одновременно с data_localization_region.

        Отключить отсутствие хранилища

        Чтобы отключить функцию «Нет места для хранения», необходимо отменить регистрацию бизнес-телефонного номера с помощью команды POST / Затем зарегистрируйте номер на конечной точке, но уже без meta_store_retention_minutes .

        Пример синтаксиса отмены регистрации

        curl -X POST 'https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/deregister' \
        -H 'Авторизация: Bearer <ACCESS_TOKEN>'

        Переопределить TTL исходящих медиафайлов

        Значение TTL по умолчанию, равное 1 часу, для бизнес-номеров телефонов без включенной функции хранения данных также применяется к медиафайлам, загружаемым на этот номер. Если вы хотите переопределить значение TTL по умолчанию, равное 1 часу, вы можете добавить новый ttl_minutes при загрузке медиафайлов.

        Пример синтаксиса

        curl 'https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/media' \
        -H 'Content-Type: application/json' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -d '
        {
          "messaging_product": "whatsapp",
          "file": "file=<FILE_NAME>;type=<FILE_MIME_TYPE>",
          "ttl_minutes": "120"
        }'
          ttl_minutes составляет от 1 часа (60) до 30 дней (43200).В настоящее время API не возвращает дату истечения срока действия медиафайлов в ответе.

          Веб-хуки ошибок

          Повторная попытка получения сообщений об ошибках

          В случае сбоев расшифровки сообщения в WhatsApp мы прекратим попытки доставки недоставленного сообщения с номера, для которого не включено хранилище, как только истечет время жизни сообщения (TTL). В таких случаях сообщений о статусе запускается веб-перехватчик 131036:
          Пример полезной нагрузки
          {
          "object""whatsapp_business_account",
          "entry": [{
          "id""102290129340398",
          "changes": [{
          "field""messages",
          "value": {
          "messaging_product""whatsapp",
          "metadata": {
          "display_phone_number""15550783881",
          "phone_number_id""106540352242922"
                  },
          "statuses": [{
          "id""wamid.HBgMNDQ3ODI1MDYzOTQxFQIAERgSN0MzMTg0Nzk2RkMwOEQ5NTQ2AA==",
          "status""failed",
          "timestamp""1712597457",
          "recipient_id""16505551234",
          "errors": [{
          "code"131036,
          "title""Сообщение не было доставлено хотя бы на одном из устройств пользователя",
          "message""Сообщение не было доставлено хотя бы на одном из устройств пользователя",
          "error_data": {
          "details""Содержимое сообщения не найдено"
                        }
                      }]
                  }]
                }
              }]
            }]
          }
          Примечания:
            Эта ошибка отправляется только в том случае, если мы не обрабатываем запрос на повторную попытку, отправленный основным устройством. Если повторная попытка не удается для дополнительного устройства, мы игнорируем ее, поскольку сообщение будет доставлено при синхронизации с основным устройством.Возможно, сообщение было успешно доставлено на дополнительные устройства, но не на основное. В этом случае будет отправлен веб-хук.

            Невозможность доставки веб-хуков

            в течение 7 дней сообщений . Для бизнес-номеров телефонов без включенного хранилища, если доставка входящего сообщения через веб-хук не удается, мы отбрасываем его и вместо этого отправляем сообщение об ошибке с кодом 131035.
            {
            "object""whatsapp_business_account",
            "entry": [{
            "id""102290129340398",
            "changes": [{
            "field""messages",
            "value": {
            "messaging_product""whatsapp",
            "metadata": {
            "display_phone_number""15550783881",
            "phone_number_id""106540352242922"
                    },
            "errors": [{
            "code"131035,
            "title""Webhook could not be delivered within data retentlimit",
            "message""Webhook could not be delivered within data retentlimit",
            "error_data": {
            "details"Не удалось доставить веб-перехватчикданных
                        пределах
                      в
                  хранения
                "
              лимита
            "