Pular para o conteúdo
Sursa Developers

POST/v1/announcements

Enviar um comunicado de leitura obrigatória

create_announcement

Exige COLLECTION_ANNOUNCE no cartão. O público são grupos e pessoas; no envio, os destinatários são obtidos a partir dos membros dos grupos, e só ficam as pessoas que têm acesso ao cartão. Sem scheduled_send_at, o comunicado é enviado na hora; com uma data, é enviado depois. Os destinatários recebem uma tarefa KNOWLEDGE_ALERT; o comunicado vira um comentário do cartão. Uma chave de API indica o remetente em sender_id (desde a versão 1.62.0).

Autenticação

Envie uma chave de API no cabeçalho Authorization: Authorization: Bearer <chave>.

Parâmetros de cabeçalho

  • Idempotency-Keystring

    Chave para uma nova tentativa segura de uma gravação: de 1 a 255 caracteres ASCII imprimíveis; recomenda-se um UUID v4 por operação lógica. Uma nova tentativa com a mesma chave dentro de 24 horas não executa a operação de novo: retorna a resposta salva (status, cabeçalhos e corpo) com o cabeçalho Idempotency-Replayed: true. A mesma chave com outro método, caminho, Content-Type ou corpo retorna 409 api.idempotency_mismatch; enquanto a primeira requisição ainda está em execução, 409 api.idempotency_in_progress com Retry-After: 1. Depois de uma resposta 5xx ou 429, a chave é liberada, e uma nova tentativa executa a operação de novo. A chave vale para a organização e para quem faz a chamada (chave de API, usuário ou chave de fonte personalizada).

    length ≥ 1, length ≤ 255

Corpo da requisição

application/json

Objeto: AnnouncementCreate

  • card_idstringobrigatório
  • notestring

    Padrão: ""length ≤ 700

  • user_idsarray of integer
  • group_idsarray of integer
  • scheduled_send_atstring (date-time) | null
  • sender_idinteger

    Remetente do comunicado quando a chamada é feita com uma chave de API (desde a versão 1.62.0): um usuário ativo da organização da chave; os destinatários veem o comunicado como enviado por esse usuário (created_by). Obrigatório para uma chave (caso contrário, 422 validation.failed); um usuário de outra organização ou um usuário inativo retorna 404 users.not_found. A permissão de fazer comunicados sobre o cartão é conferida para a chave. Em uma sessão, o remetente é o usuário com login feito: um sender_id diferente retorna 422 validation.failed.

    ≥ 1

Respostas

201Enviado ou agendado

Cabeçalhos da resposta

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

  • Idempotency-Replayed

    true significa que a resposta foi reproduzida a partir da resposta salva para esta Idempotency-Key: a operação não foi executada de novo.

application/json

Objeto: Announcement

  • idintegerobrigatório
  • card_idstringobrigatório
  • card_titlestringobrigatório
  • collectionstringobrigatório
  • created_byintegerobrigatório
  • created_by_namestringobrigatório
  • notestringobrigatório
  • scheduled_send_atstring (date-time) | null
  • sent_atstring (date-time) | null
  • last_auto_reminder_atstring (date-time) | null
  • last_manual_reminder_atstring (date-time) | null
  • comment_idinteger | null
  • created_atstring (date-time)obrigatório
  • audiencearray of AnnouncementAudienceobrigatório
  • statsAnnouncementStatsSummaryobrigatório
  • recipientAnnouncementRecipient | null

    Marcas de quem faz a chamada, se essa pessoa é destinatária.

400A requisição é inválida: o valor de um parâmetro ou o estado do objeto não permite a ação (`detail` é uma mensagem).

Cabeçalhos da resposta

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

application/json

Objeto: Error

401Nenhuma credencial foi enviada (nem cookie de sessão nem chave de API), ou a chave não foi encontrada.

Cabeçalhos da resposta

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

application/json

Objeto: Error

403A ação não é permitida: a função é insuficiente, não há acesso à coleção ou ao cartão, a requisição é executada no modo “View as” ou a organização está suspensa ou excluída (`detail` é um objeto com `code: org_suspended | org_deleted`).

Cabeçalhos da resposta

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

application/json

Objeto: Error

404O objeto não existe ou não está disponível para você. A API não confirma que um objeto restrito existe.

Cabeçalhos da resposta

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

application/json

Objeto: Error

422Erro de validação: o corpo ou os parâmetros não correspondem ao esquema (`detail` é uma lista de erros de validação), ou o valor de um parâmetro está fora do intervalo (`detail` é uma mensagem).

Cabeçalhos da resposta

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

application/json

Objeto: Error

429Requisições demais (`api.rate_limited`), a cota da organização para o minuto, o dia ou o mês se esgotou (`api.quota_exceeded`; `error.details` contém `quota`, `limit` e `reset_at`), o limite da organização foi atingido ou o serviço de respostas está ocupado (`answers.engine_busy`). Aguarde o tempo indicado no cabeçalho `Retry-After`.

Cabeçalhos da resposta

  • Retry-After

    Número de segundos a esperar antes de tentar a requisição novamente.

  • RateLimit-Policy

    Limites em vigor, no formato do rascunho da IETF draft-ietf-httpapi-ratelimit-headers: itens separados por vírgula "<name>";q=<quota>;w=<window in seconds>. key é a taxa de requisições da chave de API (a cota é a rajada, a janela é o tempo para reabastecê-la por completo; para uma sessão é user, sem credenciais é ip); minute, day e month são as cotas da organização para o minuto, o dia e o mês do calendário em UTC.

  • RateLimit

    O que resta de cada limite de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite da entrada mais restritiva de RateLimit-Policy (a que tem menos requisições restantes).

  • X-RateLimit-Remaining

    Requisições restantes no limite mais restritivo.

  • X-RateLimit-Reset

    Segundos até o limite mais restritivo ser reiniciado.

application/json

Objeto: Error

Códigos de erro

Códigos que este endpoint pode retornar em error.code, além dos códigos gerais de qualquer requisição.

Novas tentativas seguras

Envie um cabeçalho Idempotency-Key (por exemplo, um UUID) em cada POST e PATCH. Uma nova tentativa com a mesma chave em até 24 horas retorna a resposta salva, em vez de executar a requisição de novo.

Limites de taxa

As respostas trazem os cabeçalhos RateLimit e RateLimit-Policy e os anteriores X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset. Uma resposta 429 traz Retry-After em segundos: aguarde e tente de novo.

← announcements · Referência da API