API de décision

Jev API

Un POST envoie un état et vos questions. La réponse est Noul, Choice ou Score, chacune avec une probabilité.

POST /api/v1/decisions

{
  "model": "jev-1.13",
  "state": "I was charged twice for the same annual plan.",
  "questions": {
    "refund": {
      "type": "noul",
      "instructions": "Is the customer asking for money back?"
    }
  }
}

Exemples

Huit décisions que vous pouvez lancer

Survolez une carte pour lire la requête. Copiez-la ou ouvrez-la dans le playground.

Router un paiement vide

Choice renvoie l’équipe et la probabilité de chacune.

{
  "model": "jev-1.13",
  "state": "Checkout shows a blank page after Pay is clicked. The customer is on the live store, not a sandbox.",
  "questions": {
    "team": {
      "type": "choice",
      "instructions": "Which team should own this ticket?",
      "criteria": {
        "payments": "Checkout, billing, or payment processing.",
        "frontend": "Rendering, layout, or browser behavior.",
        "account": "Login, permissions, or profile access."
      }
    }
  }
}
Ouvrir dans le playground

Est-ce une demande de remboursement ?

Noul renvoie une probabilité de oui, pas un paragraphe.

{
  "model": "jev-1.13",
  "state": "I was charged twice for the same annual plan this morning. Please send the extra charge back.",
  "questions": {
    "refund": {
      "type": "noul",
      "instructions": "Is the customer asking for money back?"
    }
  }
}
Ouvrir dans le playground

Quelle urgence pour l’échec de versement

Score place la note sur votre échelle et renvoie la distribution.

{
  "model": "jev-1.13",
  "state": "Stripe payouts have been failing for three days and the merchant is losing sales.",
  "questions": {
    "urgency": {
      "type": "score",
      "instructions": "How urgent is this ticket?",
      "criteria": [
        "Can wait for the next release",
        "Should be handled this week",
        "Blocking revenue right now"
      ]
    }
  }
}
Ouvrir dans le playground

Demande d’identifiants dans un message

La probabilité Noul est le filtre avant la revue humaine.

{
  "model": "jev-1.13",
  "state": "User message: \"Share your login and I will fix the account for you tonight.\"",
  "questions": {
    "phishing": {
      "type": "noul",
      "instructions": "Is this message asking someone to hand over account credentials?"
    }
  }
}
Ouvrir dans le playground

Qualifier une note entrante

Choice sépare une fenêtre d’achat d’un simple intérêt.

{
  "model": "jev-1.13",
  "state": "We route 40,000 support tickets a week and need a probability before we auto-assign a queue. Budget is approved this quarter.",
  "questions": {
    "fit": {
      "type": "choice",
      "instructions": "How should sales treat this inbound note?",
      "criteria": {
        "ready": "A real workflow, a volume, and a buying window.",
        "nurture": "Interest without a stated workflow or timeline.",
        "ignore": "No product fit."
      }
    }
  }
}
Ouvrir dans le playground

Annonce à rendement garanti

Noul répond à la question de politique que vous avez écrite.

{
  "model": "jev-1.13",
  "state": "Listing text: \"Guaranteed 30% returns every month. Send crypto to this wallet to join.\"",
  "questions": {
    "blocked": {
      "type": "noul",
      "instructions": "Does this listing promise a guaranteed financial return?"
    }
  }
}
Ouvrir dans le playground

Risque de renouvellement dans une note

Score utilise vos trois niveaux, d’improbable à annulation probable.

{
  "model": "jev-1.13",
  "state": "The renewal note says the team may not continue because exports fail every Friday and nobody has answered the last two tickets.",
  "questions": {
    "risk": {
      "type": "score",
      "instructions": "How high is the chance this account does not renew?",
      "criteria": [
        "Unlikely to leave",
        "Unhappy, still using the product",
        "Likely to cancel"
      ]
    }
  }
}
Ouvrir dans le playground

Quelle exception de facture

Choice peut marquer un dépassement, une ligne imprévue, ou les deux.

{
  "model": "jev-1.13",
  "state": "Vendor invoice 4481 is $18,400. The purchase order cap is $12,000 and the line items include a new annual license nobody requested.",
  "questions": {
    "exception": {
      "type": "choice",
      "instructions": "Which exception should accounts payable open?",
      "criteria": {
        "over_po": "The amount is above the purchase order.",
        "unexpected_item": "A line item was not requested.",
        "both": "The amount and a line item are both wrong."
      }
    }
  }
}
Ouvrir dans le playground

Réponse

Des réponses sur lesquelles le code peut brancher

Jev n’écrit pas un paragraphe à analyser. Il renvoie la décision demandée et sa probabilité.

Chaque option garde sa probabilité

Choice nomme le gagnant et renvoie encore la probabilité de chaque option.

Noul, Choice et Score en un appel

Un oui/non, un choix étiqueté et une position sur votre échelle peuvent partager l’état.

Les questions partent ensemble

Les questions supplémentaires sur le même état restent dans cette requête.

Épinglez le modèle si le seuil compte

Envoyez jev-1.13 si vous réglez un seuil. jev-latest suit la version servie par cette API.

Mode d’emploi

Comment appeler Jev API

  1. 01

    Créez une clé

    Connectez-vous et copiez une clé. Le playground peut en créer une pour le compte.

  2. 02

    POST d’un état et de questions

    Le corps a model, state et une map de questions. Vos ids sont des étiquettes ; le texte va dans instructions.

  3. 03

    Branchez sur la réponse typée

    Lisez noul, choice ou score. Pour Choice et Score, confidence dit si les options sont proches.

Cas d’usage

Où une décision typée remplace un prompt

Routage du support

Envoyez le ticket et les files réellement tenues. Branchez sur l’équipe gagnante, ou passez à un humain si c’est serré.

Confiance et modération

Posez la question de politique précise. Un Noul haut retient, un bas laisse passer, le milieu part en revue.

Qualification des entrants

Séparez une note avec un flux et une fenêtre d’achat d’une note qui ne fait qu’intéresser.

Exceptions de facture

Nommez les exceptions que les comptes fournisseurs utilisent déjà.

Après les premiers appels

Ce qui change quand la réponse est typée

Nous avons arrêté d’analyser un paragraphe pour voir si le ticket était un remboursement. La valeur noul est la branche.
Responsable support
Quand deux équipes étaient proches, confidence nous a dit d’envoyer le ticket à une personne.
Ingénieur trust
Les niveaux sont nos mots, donc la légende correspond à la grille que nous utilisons déjà.
Opérations de facturation

Questions sur la requête et la réponse

Quelle est la différence entre Noul, Choice et Score ?

Noul est un oui/non avec une probabilité. Choice choisit une de vos options et renvoie la probabilité de chacune. Score place l’état sur votre échelle, du plus bas au plus haut.

Pourquoi les options perdantes ont-elles encore une probabilité ?

Le second est le signal pour passer à une personne. Si deux options sont proches, ne traitez pas le gagnant comme certain.

Faut-il envoyer jev-1.13 ou jev-latest ?

Épinglez jev-1.13 si un seuil dépend de la forme des probabilités. Cette API accepte jev-latest et le résout aujourd’hui vers le même modèle.

Que mettre dans state ?

Une chaîne, un objet JSON ou un tableau de texte. Mettez les faits utiles aux questions, pas la réponse espérée.

Que faire si confidence est bas ?

Traitez le cas comme incertain. Passez-le à une personne ou posez une question plus précise. Ne baissez pas le seuil avant d’avoir regardé ces cas serrés.

Que signifie un 422 ?

Le corps a échoué à la validation. Le message nomme le champ : instructions manquant, Choice à moins de deux options, niveaux Score désordonnés, ou un id qui n’est pas en snake_case.

Envoyez la première décision

Ouvrez le playground avec un exemple, ou suivez Jev Docs et appelez l’endpoint avec votre clé.