Referência da API

Notificações

Notificações no aplicativo e configurações de lembretes.

Mais sobre este recurso

Notificações no aplicativo para eventos de comprador e fornecedor (aprovações, divergências, pagamentos), além da autonomia de lembretes do lado do fornecedor.

Listar notificações

Lista as suas notificações mais recentes.

GET/v1/workspaces/{regionId}/notifications

Parâmetros

  • audience"buyer" | "supplier"Obrigatório

    De qual lado retornar o feed de notificações.

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Lista até as 50 notificações mais recentes do público indicado, da mais recente para a mais antiga. As notificações são mantidas por 90 dias. Use ListNotificationsPage para percorrer as mais antigas.

Campos da resposta

  • title, bodystring

    Em inglês, como foi escrito quando a notificação foi criada. Slack, Teams e e-mail mostram o mesmo texto.

  • titleMessageId, titleParams, bodyMessageId, bodyParamsstring, object

    A mensagem a partir da qual cada texto foi montado e os valores com que foi preenchido, para que um aplicativo possa exibi-lo no idioma de quem lê. Ausente em notificações criadas antes de esses campos existirem; nesse caso, exiba title e body.

  • resolutionobject

    Só em uma solicitação de aprovação (po_approval_requested, invoice_approval_requested) ou em um aviso de falta de aprovador (po_needs_approver, invoice_needs_approver) que não precisa mais de quem lê, calculado na listagem e nunca armazenado: outcome you_approved ou you_rejected (com at) quando quem lê decidiu a etapa; caso contrário, no_longer_needed (outra pessoa decidiu, a etapa foi reatribuída ou o documento saiu da aprovação). Ausente enquanto ainda precisa dessa pessoa.

Erros

  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
GET /v1/workspaces/{regionId}/notifications
Requisição
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 200 OK
[
   {
      "id": "string",
      "audience": "buyer" | "supplier",
      "type": "report_ready" | "company_report_ready" | "po_approved" | "po_rejected" | "po_canceled" | "po_changed" | "po_approval_requested" | "request_approval_requested" | "request_approved" | "request_rejected" | "request_ordered" | "po_store_order_problem" | "po_supplier_confirmed" | "po_supplier_exception" | "po_shipped" | "po_supplier_email" | "po_changes_declined" | "po_needs_approver" | "invoice_submitted" | "invoice_ready_for_approval" | "invoice_approval_requested" | "invoice_discrepancy" | "invoice_approved" | "invoice_paid" | "invoice_payment_withdrawn" | "payments_recorded_by_key" | "accounting_sync_failed" | "invoice_remittance_sent" | "invoice_payment_failed" | "invoice_reminder" | "invoice_rejected" | "invoice_on_hold" | "invoice_hold_released" | "invoice_payment_reminder" | "invoice_entered_by_buyer" | "invoice_bank_details_to_confirm" | "invoice_bank_details_confirmed" | "invoice_bank_details_disputed" | "invoice_bank_details_changed" | "invoice_needs_approver" | "ses_approval_requested" | "ses_auto_approved" | "ses_approved" | "ses_rejected" | "receipt_return_recorded" | "po_line_due" | "po_line_due_asked" | "po_receipt_requested" | "invoice_held_due_soon" | "ses_approval_overdue" | "credit_note_received" | "credit_note_accepted" | "credit_note_rejected" | "credit_note_applied" | "invoice_comment" | "po_comment" | "contract_comment" | "invoice_feed_changed" | "supplier_connection_invited" | "supplier_connection_submitted" | "supplier_connection_approved" | "supplier_connection_rejected" | "supplier_connection_region_mismatch" | "agent_request" | "support_case_opened" | "support_case_updated" | "supplier_late_fee_terms_changed" | "contract_terms_to_acknowledge" | "contract_terms_acknowledged" | "contract_terms_disputed" | "contract_recheck_requested" | "contract_sent_to_joined_supplier" | "copilot_allowance_80" | "copilot_allowance_100" | "copilot_degraded" | "copilot_packs_low" | "copilot_packs_empty" | "copilot_payg_cap",
      "title": "string",
      "body": "string",
      "titleMessageId": "string",
      "titleParams": { },
      "bodyMessageId": "string",
      "bodyParams": { },
      "relatedId": "string",
      "createdAt": "string",
      "read": boolean,
      "resolution": { "outcome": "you_approved" | "you_rejected" | "no_longer_needed", "at": "string" }
   }
]

Listar página de notificações

Lista as notificações uma página por vez.

GET/v1/workspaces/{regionId}/notifications/inbox

Parâmetros

  • audience"buyer" | "supplier"Obrigatório

    De qual lado retornar o feed de notificações.

  • limitnumber

    Tamanho da página, de 1 a 50. O padrão é 20.

  • cursorstring

    O nextCursor da página anterior. Omita para obter a página mais recente.

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Lista as notificações do público indicado uma página por vez, da mais recente para a mais antiga. Passe o nextCursor de uma página de volta como cursor para obter a próxima página, mais antiga. Uma página pode ser menor que limit, ou até vazia, e ainda assim ter nextCursor, então continue até nextCursor estar ausente. As notificações são mantidas por 90 dias.

Campos da resposta

  • itemsNotification[]

    As notificações desta página, da mais recente para a mais antiga.

  • title, bodystring

    Em inglês, como foi escrito quando a notificação foi criada. Slack, Teams e e-mail mostram o mesmo texto.

  • titleMessageId, titleParams, bodyMessageId, bodyParamsstring, object

    A mensagem a partir da qual cada texto foi montado e os valores com que foi preenchido, para que um aplicativo possa exibi-lo no idioma de quem lê. Ausente em notificações criadas antes de esses campos existirem; nesse caso, exiba title e body.

  • resolutionobject

    Só em uma solicitação de aprovação (po_approval_requested, invoice_approval_requested) ou em um aviso de falta de aprovador (po_needs_approver, invoice_needs_approver) que não precisa mais de quem lê, calculado na listagem e nunca armazenado: outcome you_approved ou you_rejected (com at) quando quem lê decidiu a etapa; caso contrário, no_longer_needed (outra pessoa decidiu, a etapa foi reatribuída ou o documento saiu da aprovação). Ausente enquanto ainda precisa dessa pessoa.

  • nextCursorstring

    Opaco. Ausente quando não há notificações mais antigas.

  • unreadCountnumber

    Notificações não lidas visíveis para você, contadas até 10 (um valor de 10 significa 10 ou mais). Retornado só na primeira página (sem cursor).

Erros

  • 400 Bad Request - O cursor não foi emitido por esta API, ou limit está fora do intervalo de 1 a 50.
  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
GET /v1/workspaces/{regionId}/notifications/inbox
Requisição
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/inbox" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 200 OK
{
   "items": [
      {
         "id": "string",
         "audience": "buyer" | "supplier",
         "type": "report_ready" | "company_report_ready" | "po_approved" | "po_rejected" | "po_canceled" | "po_changed" | "po_approval_requested" | "request_approval_requested" | "request_approved" | "request_rejected" | "request_ordered" | "po_store_order_problem" | "po_supplier_confirmed" | "po_supplier_exception" | "po_shipped" | "po_supplier_email" | "po_changes_declined" | "po_needs_approver" | "invoice_submitted" | "invoice_ready_for_approval" | "invoice_approval_requested" | "invoice_discrepancy" | "invoice_approved" | "invoice_paid" | "invoice_payment_withdrawn" | "payments_recorded_by_key" | "accounting_sync_failed" | "invoice_remittance_sent" | "invoice_payment_failed" | "invoice_reminder" | "invoice_rejected" | "invoice_on_hold" | "invoice_hold_released" | "invoice_payment_reminder" | "invoice_entered_by_buyer" | "invoice_bank_details_to_confirm" | "invoice_bank_details_confirmed" | "invoice_bank_details_disputed" | "invoice_bank_details_changed" | "invoice_needs_approver" | "ses_approval_requested" | "ses_auto_approved" | "ses_approved" | "ses_rejected" | "receipt_return_recorded" | "po_line_due" | "po_line_due_asked" | "po_receipt_requested" | "invoice_held_due_soon" | "ses_approval_overdue" | "credit_note_received" | "credit_note_accepted" | "credit_note_rejected" | "credit_note_applied" | "invoice_comment" | "po_comment" | "contract_comment" | "invoice_feed_changed" | "supplier_connection_invited" | "supplier_connection_submitted" | "supplier_connection_approved" | "supplier_connection_rejected" | "supplier_connection_region_mismatch" | "agent_request" | "support_case_opened" | "support_case_updated" | "supplier_late_fee_terms_changed" | "contract_terms_to_acknowledge" | "contract_terms_acknowledged" | "contract_terms_disputed" | "contract_recheck_requested" | "contract_sent_to_joined_supplier" | "copilot_allowance_80" | "copilot_allowance_100" | "copilot_degraded" | "copilot_packs_low" | "copilot_packs_empty" | "copilot_payg_cap",
         "title": "string",
         "body": "string",
         "titleMessageId": "string",
         "titleParams": { },
         "bodyMessageId": "string",
         "bodyParams": { },
         "relatedId": "string",
         "createdAt": "string",
         "read": boolean,
         "resolution": { "outcome": "you_approved" | "you_rejected" | "no_longer_needed", "at": "string" }
      }
   ],
   "nextCursor": "string",
   "unreadCount": number
}

Marcar notificação como lida

Marca uma notificação como lida.

POST/v1/workspaces/{regionId}/notifications/{notificationId}/read

Parâmetros

  • notificationIdstringObrigatório

    O identificador da notificação.

Retorna

201 Created com o objeto mostrado na resposta.

Mais detalhes

Marca uma única notificação como lida. Tem sucesso silenciosamente se a notificação não existir.

Erros

  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
POST /v1/workspaces/{regionId}/notifications/{notificationId}/read
Requisição
curl -X POST "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/{notificationId}/read" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 201 Created
(no content)

Marcar todas as notificações como lidas

Marca todas as suas notificações como lidas.

POST/v1/workspaces/{regionId}/notifications/read-all

Parâmetros

  • audience"buyer" | "supplier"Obrigatório

    De qual lado marcar as notificações como lidas.

  • cursorstring

    O nextCursor da chamada anterior, para continuar de onde ela parou. Omita para começar pelas mais recentes.

Retorna

201 Created com o objeto mostrado na resposta.

Mais detalhes

Marca como lidas as notificações não lidas visíveis para você no público indicado. O estado de leitura é compartilhado: uma notificação enviada para todo o espaço de trabalho é marcada como lida para todos que podem vê-la. Uma chamada marca até 200; quando remaining é true, chame de novo com nextCursor para marcar as restantes.

Campos da resposta

  • updatednumber

    Quantas notificações esta chamada marcou como lidas.

  • remainingboolean

    True quando esta chamada parou no limite e ainda pode haver notificações não lidas.

  • nextCursorstring

    Opaco. Presente quando remaining é true; passe-o de volta como cursor na próxima chamada.

Erros

  • 400 Bad Request - O cursor não foi emitido por esta API.
  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
POST /v1/workspaces/{regionId}/notifications/read-all
Requisição
curl -X POST "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/read-all" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 201 Created
{
   "updated": number,
   "remaining": boolean,
   "nextCursor": "string"
}

Obter configurações de lembretes

Retorna as configurações de lembretes automáticos.

GET/v1/workspaces/{regionId}/notifications/reminder-settings

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Retorna as configurações de lembretes autônomos do espaço de trabalho, com o padrão { enabled: false, idleDays: 3 } se nunca foram configuradas.

Campos da resposta

  • idleDaysnumber

    Dias que uma fatura pode ficar parada no mesmo estágio de aprovação antes que um lembrete automático seja disparado.

Erros

  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
GET /v1/workspaces/{regionId}/notifications/reminder-settings
Requisição
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/reminder-settings" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 200 OK
{
   "enabled": boolean,
   "idleDays": number
}

Atualizar configurações de lembretes

Atualiza as configurações de lembretes automáticos.

PATCH/v1/workspaces/{regionId}/notifications/reminder-settings

Corpo

  • enabledboolean

    Ativa ou desativa os lembretes automáticos.

  • idleDaysnumber

    Novo limite de inatividade em dias.

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Atualiza uma ou mais configurações de lembretes autônomos.

Erros

  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
PATCH /v1/workspaces/{regionId}/notifications/reminder-settings
Requisição
curl -X PATCH "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/reminder-settings" \
  -H "X-Api-Key: $PLEAXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d @body.json
body.json
{
   "enabled": boolean,
   "idleDays": number
}
Resposta · 200 OK
{
   "enabled": boolean,
   "idleDays": number
}
Fale conosco