dsers.job.status
Monitor import or push job progress in DSers dropshipping workflows. Check job status to verify completion before proceeding with store operations.
Instructions
Check the current status of an import or push job. Status lifecycle: preview_ready (after prepare) -> push_requested (after confirm) -> completed or failed. Call this to monitor push progress or verify a job's state before further action. Returns: job_id, status, created_at, updated_at, target_store, visibility_mode, warnings, has_push_result.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID from dsers.product.import or dsers.store.push. |
Implementation Reference
- src/service.ts:508-532 (handler)The implementation of the job status retrieval logic.
async getJobStatus( payload: Record<string, any>, ): Promise<Record<string, any>> { const jobId = String(payload.job_id ?? "").trim(); if (!jobId) throw new Error( "job_id is required. It is returned by dsers.product.import or dsers.store.push.", ); const job = this.store.load(jobId); return { job_id: jobId, status: job.status, created_at: job.created_at, updated_at: job.updated_at, target_store: job.target_store, visibility_mode: job.visibility_mode, warnings: [ ...(job.warnings ?? []), ...(job.push_option_warnings ?? []), ], has_push_result: Boolean(job.push_result), }; } private preview(job: Record<string, any>): Record<string, any> { - src/tools.ts:383-410 (registration)The MCP tool registration for dsers.job.status.
server.registerTool( "dsers.job.status", { title: "Import / Push Job Status Tracker", description: "Check the current status of an import or push job. " + "Status lifecycle: preview_ready (after prepare) -> push_requested (after confirm) -> completed or failed. " + "Call this to monitor push progress or verify a job's state before further action. " + "Returns: job_id, status, created_at, updated_at, target_store, visibility_mode, warnings, has_push_result.", inputSchema: { job_id: z .string() .describe( "Job ID from dsers.product.import or dsers.store.push.", ), }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false, }, }, async ({ job_id }) => { try { return ok(await svc().getJobStatus({ job_id })); } catch (err) { return fail(err); } },