Provider portal

Your catalogue, up to date on NextHop

Manage your offers and prices from your portal, or connect your information system to the API. Every change is checked automatically before it is published in the comparison tool and the catalogue.

1

Edit your offers

On screen from your portal, or through the API with a key dedicated to your system (ERP, script, CI).

2

Group your changes

Additions, price changes, removals: everything forms a draft, and nothing goes live before you approve it.

3

Review, then publish

The preview lists the changes; likely errors block publication. You publish in one click or through the API.

Integration

Via the API: four calls

Authentication through the X-CSP-Key header. A submission remains a draft until it is published: nothing goes live before the final step.

Full schema
# 1. open a submission
#    replace: the upload is authoritative for the service types sent (missing offers are removed)
#    merge  : adds and updates, removes nothing
curl -X POST https://www.nexthop.fr/api/catalog/push/submissions \
  -H "X-CSP-Key: $CLE" -H "Content-Type: application/json" -d '{"mode":"replace"}'

# 2. send offers in batches of 500 (repeatable)
curl -X POST https://www.nexthop.fr/api/catalog/push/submissions/$ID/products \
  -H "X-CSP-Key: $CLE" -H "Content-Type: application/json" -d @offres.json

# 3. read the preview: differences and checks (block = rejected, warn = needs confirmation)
curl https://www.nexthop.fr/api/catalog/push/submissions/$ID/preview -H "X-CSP-Key: $CLE"

# 4. publish
curl -X POST https://www.nexthop.fr/api/catalog/push/submissions/$ID/publish \
  -H "X-CSP-Key: $CLE" -H "Content-Type: application/json" -d '{"confirmWarnings":true}'
offres.json
{
  "products": [{
    "sku": "vps-kvm-2c-4g",
    "name": "KVM VPS 2 vCPU 4 GB",
    "serviceType": "vm",
    "specs": { "cpuCores": 2, "ramGb": 4, "storageGb": 40, "storageType": "ssd",
               "virtualization": "kvm", "resourcesGuaranteed": true, "snapshotsIncluded": true },
    "prices": [
      { "regionCode": "fr-par", "currency": "EUR", "priceMonthly": 14.6, "priceHourly": 0.02 }
    ]
  }, {
    "sku": "housing-quart-baie",
    "name": "Quarter-rack housing",
    "serviceType": "colocation",
    "pricingMode": "from", "minCommitmentMonths": 12,
    "specs": { "rackFormat": "quarter", "rackUnits": 10, "powerKw": 1,
               "powerRedundancy": "a-b", "access247": true },
    "prices": [ { "regionCode": "fr-par", "priceMonthly": 290, "setupFee": 150 } ],
    "options": [ { "name": "Extra kW", "type": "power",
                   "unit": "kW", "quantity": 1, "priceMonthly": 180 } ]
  }]
}

Automatic checks before publication

  • Unknown region or service type (declare your regions via POST /push/regions)
  • Monthly price inconsistent with the hourly price (≈ 730 h)
  • Price multiplied or divided by 5, or dropped to zero
  • More than 30% of offers removed at once in replace mode

These issues block publication. Smaller deviations (price ×2, a few offers removed) require explicit confirmation: confirmWarnings: true.

Cloud providers

Free registration

The portal is free. We check that you genuinely represent the provider, then send you your credentials. Sovereignty scores remain independent: publishing your catalogue does not change them.