HubMix

Documentation

Confiance : annonces frauduleuses

Un score de risque de 0 à 100 pour des logements, des emplois et des objets à vendre, avec la preuve de chaque signal d’arnaque.

Confiance repère les annonces frauduleuses : logements, emplois et stages, objets à vendre. Pour chaque annonce, il renvoie un score de risque de 0 à 100, un niveau, une recommandation de mise en attente et la preuve de chaque signal trouvé. Ce sont des règles déterministes, sans modèle de langage : la réponse prend quelques millisecondes et rien n’est conservé.

Scope trust:assess, réservé aux applications serveur (clé secrète). Chaque annonce évaluée compte comme une unité dans l’usage de votre application.

Évaluer des annonces #

POST /v1/public/trust/assessments avec 1 à 50 annonces ; les évaluations reviennent dans le même ordre.

Terminal
curl -X POST https://hubmix.dealmood-solutions.com/v1/public/trust/assessments \
  -H "Authorization: Bearer $VC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "listings": [{
      "kind": "housing",
      "title": "Studio meublé centre-ville",
      "description": "Je suis à l’étranger, virement de la caution avant la visite. Contact WhatsApp.",
      "country_code": "FR",
      "city": "Paris",
      "price_amount": 350,
      "photos": 1
    }]
  }'
Champ Obligatoire Description
kind oui housing, opportunity (emploi, stage), marketplace ou other
title oui 1 à 300 caractères
description non jusqu’à 20 000 caractères
country_code non ISO 3166-1 alpha-2 (FR, CM, CA…) : choisit les loyers de référence
city non les villes chères ont des loyers de référence plus hauts
price_amount non logement : loyer mensuel ; vente : prix
currency non ISO 4217 ; absent : la monnaie du pays
housing_type non room, shared_flat, studio, apartment, sublet, student_residence
rooms, photos, address non nombre de pièces, nombre de photos, adresse

La réponse #

JSON
{
  "version": "trust-v1",
  "assessments": [
    {
      "risk_score": 80,
      "level": "high",
      "withheld": true,
      "findings": [
        { "signal": "owner_abroad_story", "weight": 30, "evidence": "à l’étranger" },
        { "signal": "advance_payment_request", "weight": 40, "evidence": "caution avant la visite" },
        { "signal": "messaging_app_contact", "weight": 10, "evidence": "WhatsApp" }
      ],
      "quality_flags": ["owner_abroad_story", "advance_payment_request", "messaging_app_contact"]
    }
  ]
}
  • risk_score : 0 à 100. level : low, medium dès 20, high dès 50.
  • withheld : true quand un signal fort est présent (paiement avant visite, propriétaire à l’étranger, pièce d’identité, frais pour postuler, relais d’argent ou de colis) ou que le risque est élevé. C’est la règle que Gaspard applique lui-même : il ne propose jamais une telle annonce. Pour vous, c’est une recommandation : mettre l’annonce en attente de modération plutôt que la publier.
  • findings : chaque signal, son poids et les mots qui l’ont déclenché (evidence), à montrer à vos modérateurs.
  • quality_flags : les signaux de qualité des logements, sous une forme stable.

Les signaux #

Signal Ce qu’il repère
rent_far_below_median loyer très inférieur au loyer de référence du pays et de la ville (jamais pour une résidence étudiante)
advance_payment_request paiement, caution ou « frais de réservation » demandés avant la visite
owner_abroad_story le propriétaire est « à l’étranger » et enverra les clés
identity_document_request copie de passeport ou de pièce d’identité demandée d’emblée
messaging_app_contact contact seulement par WhatsApp, Telegram…
foreign_currency prix dans une monnaie étrangère au pays de l’annonce
urgency_pressure « beaucoup de demandes », « décidez aujourd’hui »
missing_address, missing_rent, no_photos, short_description annonce incomplète
fee_to_apply frais d’inscription ou de dossier pour un emploi
money_or_parcel_relay relais d’argent ou de colis (mules)
unrealistic_pay salaire irréaliste pour le poste
crypto_investment placement « à rendement garanti »

Les signaux sont cherchés en sept langues (français, allemand, anglais, italien, espagnol, portugais, néerlandais). Le score est la somme des poids des signaux trouvés, plafonnée à 100. Les loyers de référence couvrent une trentaine de pays, dans leur monnaie.

Erreurs : 403 insufficient_scope si l’application n’a pas le produit Confiance (demandez à l’équipe HubMix de l’ajouter), 422 invalid_request sur un champ refusé. Voir Erreurs, limites et quotas.