Tencent/WeKnora · error

API returned no jobId: %s

Error message

API returned no jobId: %s

What it means

Guard in submitJob: PaddleOCR-VL Cloud returned a valid response but Data.JobID is empty, so there is no job to poll — a contract violation or silent server-side rejection, with the raw body embedded for diagnosis.

Source

Thrown at internal/infrastructure/docparser/paddleocr_vl_cloud_converter.go:162

	client := utils.NewSSRFSafeHTTPClient(utils.SSRFSafeHTTPClientConfig{Timeout: 60 * time.Second, MaxRedirects: 5})
	resp, err := client.Do(httpReq)
	if err != nil {
		return "", fmt.Errorf("HTTP request: %w", err)
	}
	defer resp.Body.Close()

	respBody, _ := io.ReadAll(resp.Body)
	if resp.StatusCode != http.StatusOK {
		return "", fmt.Errorf("API status %d: %s", resp.StatusCode, string(respBody))
	}

	var result paddleOCRVLCloudSubmitResponse
	if err := json.Unmarshal(respBody, &result); err != nil {
		return "", fmt.Errorf("decode response: %w", err)
	}
	if result.Data.JobID == "" {
		return "", fmt.Errorf("API returned no jobId: %s", string(respBody))
	}

	logger.Infof(context.Background(), "[PaddleOCR-VL Cloud] job submitted: jobId=%s", result.Data.JobID)
	return result.Data.JobID, nil
}

// --- polling ---

type paddleOCRVLCloudPollResponse struct {
	Data struct {
		State           string `json:"state"`
		ErrorMsg        string `json:"errorMsg"`
		ExtractProgress struct {
			TotalPages     int `json:"totalPages"`
			ExtractedPages int `json:"extractedPages"`
		} `json:"extractProgress"`
		ResultURL struct {
			JSONURL string `json:"jsonUrl"`

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Inspect the embedded response for hints of rejection
  2. Retry the submission once
  3. Verify request parameters against current API docs
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at internal/infrastructure/docparser/paddleocr_vl_cloud_converter.go:162 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02). Data as JSON: /api/errors/6aa5740235b0b54c. Report an issue: GitHub.