OrbitSenderDocs
ReferenceParceiro

Obter links de convite de grupos

POST
/api/external/partner/group-invite-links

Recebe de 1 a 100 grupos (por group_ref, com channel_ref opcional) e devolve, para cada um, o link de convite atual do grupo de WhatsApp. O trabalho é assíncrono: a resposta é um pedido (id_group_invite_link_job) com o estado de cada grupo em items.

  • 201 — terminou dentro de wait_seconds (todos os itens finais).
  • 202 — segue em andamento: acompanhe pelo header Location, respeitando o Retry-After.
  • 200 — mesma Idempotency-Key e mesmo corpo: devolve o pedido original, sem criar nada.

O header Idempotency-Key é obrigatório; a mesma chave com outro corpo devolve 409 idempotency_key_reused. Acerto de cache é servido na hora (cached: true). A falha de um grupo não vira erro HTTP: aparece em items com status: failed e error.code.

Exclusivo de app de parceiro (group_invite_links:read, e o dono precisa ter groups.view). api-key, chave de agência e sk_test_ recebem 403 unsupported_credential. Sem sandbox.

Authorization

PartnerOAuth group_invite_links:read
AuthorizationBearer <token>

OAuth 2.0 (Authorization Code + PKCE) para apps de parceiro. O access_token opaco (orb_at_...) vai no header Authorization: Bearer. Cada operação exige os scopes que o usuário consentiu; scopes integrations:* nunca são concedíveis a parceiro.

In: header

Scope: group_invite_links:read

Header Parameters

Idempotency-Key*string

Chave de idempotência, obrigatória neste endpoint. Use um valor único por pedido (ex.: um UUID) e repita o MESMO valor ao re-tentar: o pedido original é devolvido (200). A mesma chave com corpo diferente devolve 409 idempotency_key_reused.

Length1 <= length <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Corpo de partner/group-invite-links. Campo fora desta lista é recusado (invalid_request).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/external/partner/group-invite-links" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "groups": [      {        "group_ref": "q3N9xV2bLk0aT7pZr1cD4eFg"      }    ]  }'
{  "success": true,  "id_group_invite_link_job": "string",  "status": "queued",  "summary": {    "total": 0,    "ready": 0,    "queued": 0,    "processing": 0,    "failed": 0,    "skipped": 0,    "cancelled": 0,    "expired": 0  },  "items": [    {      "index": 0,      "group_ref": "string",      "status": "queued",      "invite_link": "string",      "channel_ref": "string",      "cached": true,      "fetched_at": "2019-08-24T14:15:22Z",      "error": {        "code": "string",        "message": "string",        "retryable": true      }    }  ],  "created_at": "2019-08-24T14:15:22Z",  "finished_at": "2019-08-24T14:15:22Z"}
{  "success": true,  "id_group_invite_link_job": "string",  "status": "queued",  "summary": {    "total": 0,    "ready": 0,    "queued": 0,    "processing": 0,    "failed": 0,    "skipped": 0,    "cancelled": 0,    "expired": 0  },  "items": [    {      "index": 0,      "group_ref": "string",      "status": "queued",      "invite_link": "string",      "channel_ref": "string",      "cached": true,      "fetched_at": "2019-08-24T14:15:22Z",      "error": {        "code": "string",        "message": "string",        "retryable": true      }    }  ],  "created_at": "2019-08-24T14:15:22Z",  "finished_at": "2019-08-24T14:15:22Z"}
{  "success": true,  "id_group_invite_link_job": "string",  "status": "queued",  "summary": {    "total": 0,    "ready": 0,    "queued": 0,    "processing": 0,    "failed": 0,    "skipped": 0,    "cancelled": 0,    "expired": 0  },  "items": [    {      "index": 0,      "group_ref": "string",      "status": "queued",      "invite_link": "string",      "channel_ref": "string",      "cached": true,      "fetched_at": "2019-08-24T14:15:22Z",      "error": {        "code": "string",        "message": "string",        "retryable": true      }    }  ],  "created_at": "2019-08-24T14:15:22Z",  "finished_at": "2019-08-24T14:15:22Z"}
{  "success": false,  "error": "Bad Request",  "code": "invalid_request",  "message": "Informe de 1 a 100 grupos em \"groups\"."}
{  "success": false,  "error": "Unauthorized",  "message": "Chave de API inválida ou ausente."}
{  "success": false,  "error": "Forbidden",  "code": "unsupported_credential",  "message": "Esta credencial não pode consultar link de convite de grupo."}
{  "success": false,  "error": "Conflict",  "code": "idempotency_key_reused",  "message": "Esta Idempotency-Key já foi usada com um pedido diferente. Gere uma chave nova."}
{  "success": false,  "error": "Too Many Requests",  "code": "too_many_active_jobs",  "message": "Muitos pedidos agora. Tente de novo em instantes."}
{  "success": false,  "error": "Service Unavailable",  "code": "temporary_error",  "message": "Não foi possível concluir agora. Tente novamente em instantes."}