Code2ASIN

Code2ASIN maps your EAN barcodes to Amazon ASINs, enabling you to list products on Amazon without manual lookups. Jobs run asynchronously and support confidence-based auto-matching.


POST/code2asin/jobs

Create a job

Creates a new Code2ASIN mapping job.

Body parameters

  • Name
    name
    Type
    string
    Description

    Descriptive name for the job.

  • Name
    product_filter
    Type
    object
    Description

    Filter to select products (e.g. {"is_active": true}).

  • Name
    auto_match
    Type
    boolean
    Description

    Automatically accept matches above the confidence threshold (default: true).

  • Name
    confidence_threshold
    Type
    number
    Description

    Minimum confidence score 0–1 to auto-accept (default: 0.85).

Request

POST
/code2asin/jobs
curl -X POST https://api.pixeepim.com/api/v1/code2asin/jobs \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q2 Amazon Batch",
    "product_filter": {"is_active": true},
    "auto_match": true,
    "confidence_threshold": 0.90
  }'

Response

{
  "id": "{job_id}",
  "name": "Q2 Amazon Batch",
  "status": "pending",
  "total_products": 1500,
  "created_at": "2026-05-14T09:00:00Z"
}

POST/code2asin/jobs/{id}/start

Control a job

Start, pause, resume, or cancel a Code2ASIN job.

EndpointEffect
POST /code2asin/jobs/{id}/startStart a pending job
POST /code2asin/jobs/{id}/pausePause a running job
POST /code2asin/jobs/{id}/resumeResume a paused job
POST /code2asin/jobs/{id}/cancelCancel a job

Request

POST
/code2asin/jobs/{id}/start
curl -X POST https://api.pixeepim.com/api/v1/code2asin/jobs/{job_id}/start \
  -H "Authorization: Bearer {api_key}"

Response

{
  "id": "{job_id}",
  "status": "processing"
}

GET/code2asin/jobs/{id}/logs

Get job logs

Returns operation-level logs for a job.

Query parameters

  • Name
    level
    Type
    string
    Description

    Filter by severity: error, warning, info.

  • Name
    skip
    Type
    integer
    Description

    Offset (default: 0).

  • Name
    limit
    Type
    integer
    Description

    Items per page, max 200 (default: 50).

Request

GET
/code2asin/jobs/{id}/logs
curl "https://api.pixeepim.com/api/v1/code2asin/jobs/{job_id}/logs?level=error" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "items": [
    {
      "timestamp": "2026-05-14T09:05:30Z",
      "level": "error",
      "message": "No ASIN found for EAN 3760000000001 after 3 attempts",
      "product_id": "550e8400-e29b-41d4-a716-000000000001"
    }
  ],
  "meta": { "total": 12, "page": 1, "per_page": 50, "total_pages": 1, "has_next": false, "has_previous": false }
}

GET/code2asin/jobs/{id}/results

Get job results

Returns the ASIN matching results for each product in the job.

Query parameters

  • Name
    status
    Type
    string
    Description

    Filter by: matched, unmatched, or ambiguous.

  • Name
    skip
    Type
    integer
    Description

    Offset (default: 0).

  • Name
    limit
    Type
    integer
    Description

    Items per page, max 100 (default: 50).

Request

GET
/code2asin/jobs/{id}/results
curl "https://api.pixeepim.com/api/v1/code2asin/jobs/{job_id}/results?status=matched" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "items": [
    {
      "id": "550e8400-e29b-41d4-a716-000000000040",
      "product_id": "550e8400-e29b-41d4-a716-000000000001",
      "product_name": "Produit exemple",
      "asin": "B0CMGTHZ7J",
      "confidence": 0.98,
      "status": "matched",
      "matched_at": "2026-05-14T09:05:30Z"
    }
  ],
  "meta": { "total": 1350, "page": 1, "per_page": 50, "total_pages": 27, "has_next": true, "has_previous": false }
}

POST/code2asin/jobs/{id}/results/{result_id}/accept

Accept or reject a match

Manually validate ambiguous matches that didn't meet the auto-accept threshold.

EndpointEffect
POST /code2asin/jobs/{id}/results/{result_id}/acceptAccept a proposed ASIN match
POST /code2asin/jobs/{id}/results/{result_id}/rejectReject a proposed match

Accept

POST
/code2asin/jobs/{id}/results/{result_id}/accept
curl -X POST https://api.pixeepim.com/api/v1/code2asin/jobs/{job_id}/results/{result_id}/accept \
  -H "Authorization: Bearer {api_key}"

GET/code2asin/statistics

Statistics

Returns global Code2ASIN statistics across all jobs.

Request

GET
/code2asin/statistics
curl https://api.pixeepim.com/api/v1/code2asin/statistics \
  -H "Authorization: Bearer {api_key}"

Response

{
  "total_jobs": 12,
  "completed_jobs": 10,
  "failed_jobs": 1,
  "running_jobs": 1,
  "total_products_matched": 8500,
  "match_rate": 0.92,
  "average_confidence": 0.89
}

POST/code2asin/export/results/{id}

Export results

Exports the results of a completed job.

Path parameters

  • Name
    id
    Type
    string
    Description

    The job UUID.

Query parameters

  • Name
    format
    Type
    string
    Description

    Output format: csv, json, or excel (default: csv).

  • Name
    include_unmatched
    Type
    boolean
    Description

    Include unmatched products in the export (default: true).

Request

POST
/code2asin/export/results/{id}
curl -X POST "https://api.pixeepim.com/api/v1/code2asin/export/results/{job_id}?format=csv&include_unmatched=true" \
  -H "Authorization: Bearer {api_key}" \
  -o code2asin_results.csv

Was this page helpful?