ZynzapAPI
Indicadores e retenção

Indicadores do atendimento

Com dashboard:read a chave vê a empresa inteira; sem ela, só os números liberados.

Permissão: product:inbox.

Indicadores, retenção e IA de apoio (Etapa 6). Leitura dos indicadores: product:inbox, empresa inteira com dashboard:read, senão só os números liberados e o próprio membro. Retenção, configuração de SLA e exclusão por titular: admin. IA: product:inbox + messages:send, cotada como ai (mesma tarifa de CorrectMessage); nunca envia nada.

POST
/rpc/GetInsights
AuthorizationBearer <token>

Chave de API criada no painel (API e integrações). Prefixos: zz_live_, zz_test_ (e os antigos wl_live_/wl_test_).

In: header

requestGetInsightsRequest
billing?object

Não usado nesta operação.

deadlineMs?integer

Prazo máximo da operação em milissegundos.

Default30000
Range1 <= value <= 30000

Response Body

curl -X POST "https://api.zynzap.com.br/v1/rpc/GetInsights" \  -H "Authorization: Bearer $ZYNZAP_API_KEY" \  -H "Content-Type: application/json" \  -d '{  "request": {}}'
{
  "tab": "string",
  "from_day": "string",
  "to_day": "string",
  "kpis": [
    {
      "key": "string",
      "label": "string",
      "value": 0,
      "unit": "string",
      "available": true
    }
  ],
  "series": [
    {
      "key": "string",
      "label": "string",
      "unit": "string",
      "points": [
        {
          "day": "string",
          "value": 0,
          "has_value": true
        }
      ]
    }
  ],
  "breakdowns": [
    {
      "key": "string",
      "label": "string",
      "unit": "string",
      "secondary_label": "string",
      "bars": [
        {
          "key": "string",
          "label": "string",
          "value": 0,
          "secondary": 0
        }
      ]
    }
  ],
  "self_only": true,
  "self_user_id": "string",
  "backfill_done": true,
  "computed_at_unix_ms": "string",
  "settings": {
    "first_response_target_minutes": 0,
    "resolution_target_minutes": 0,
    "timezone": "string",
    "business_hours_enabled": true,
    "business_days": [
      0
    ],
    "business_start_minute": 0,
    "business_end_minute": 0,
    "updated_by": "string",
    "updated_at_unix_ms": "string"
  }
}
{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Requisição inválida para esta operação.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "RPC_REQUEST_INVALID"
  }
}
{
  "error": {
    "code": "UNAUTHENTICATED",
    "message": "Credencial de API ausente, inválida ou revogada.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "API_AUTH_REQUIRED"
  }
}
{
  "error": {
    "code": "FORBIDDEN",
    "message": "Este endereço IP não está autorizado a usar esta chave de API.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "API_KEY_IP_FORBIDDEN"
  }
}
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Não encontramos o recurso solicitado.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6"
  }
}
{
  "error": {
    "code": "CONFLICT",
    "message": "A cotação expirou. Revise os custos novamente.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "BILLING_QUOTE_EXPIRED"
  }
}
{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Requisição inválida para esta operação.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "RPC_REQUEST_INVALID"
  }
}
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Limite de requisições desta chave atingido. Aguarde um instante.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "API_KEY_RATE_LIMITED"
  }
}
{
  "error": {
    "code": "UNAVAILABLE",
    "message": "Resultado incerto. Confira o estado antes de repetir a operação.",
    "requestId": "7f3c1a9e-2b4d-4c6e-8f10-a1b2c3d4e5f6",
    "reason": "OUTCOME_UNCERTAIN"
  }
}