Obter links de convite de grupos
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 dewait_seconds(todos os itens finais).202— segue em andamento: acompanhe pelo headerLocation, respeitando oRetry-After.200— mesmaIdempotency-Keye 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:readOAuth 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
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.
1 <= length <= 255Request 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."}