Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le service Modèle personnalisé vous permet d’ajouter et de gérer des modèles prédictifs personnalisés (arbres de décision) à utiliser dans des campagnes. Pour plus d’informations, consultez Modèles personnalisés.
Conseil
Avant d’ajouter un modèle personnalisé, utilisez le service Analyseur de modèle personnalisé pour case activée la validité et la taille de votre arbre de décision.
API REST
Ajoutez un nouveau modèle personnalisé :
POST https://api.appnexus.com/custom-model
(new_model JSON)
Modifier un modèle personnalisé :
PUT https://api.appnexus.com/custom-model?id=ID
(model_update JSON)
Afficher tous les modèles personnalisés :
GET https://api.appnexus.com/custom-model
Afficher un modèle personnalisé spécifique :
GET https://api.appnexus.com/custom-model?id=ID
Supprimer un modèle personnalisé :
DELETE https://api.appnexus.com/custom-model?id=ID
Remarque
Vous ne pouvez pas supprimer un modèle personnalisé utilisé par une ou plusieurs campagnes.
Découvrez les champs que vous pouvez filtrer et trier :
GET https://api.appnexus.com/custom-model/meta
Champs JSON
| Champ | Type (Longueur) | Description |
|---|---|---|
active |
Boolean | Si truela valeur est , le modèle personnalisé est actif et disponible pour une utilisation dans les campagnes.Par défaut : true |
advertiser_id |
int | ID de l’annonceur auquel appartient le modèle personnalisé. Obligatoire sur : POST |
code |
string | Code personnalisé utilisé comme ID externe ou comme valeur de recherche pour un objet. Cette valeur doit être unique au sein de votre membre. |
custom_model_structure |
enum | Structure du modèle personnalisé. Actuellement, la seule structure autorisée est "decision_tree".Obligatoire sur : POST |
id |
int | ID du modèle personnalisé. Par défaut : nombre généré automatiquement Obligatoire Sur : PUT/ DELETE, dans la chaîne de requête |
last_modified |
date | En lecture seule. Date et heure de la dernière modification du modèle personnalisé. |
member_id |
int |
En lecture seule. ID du membre auquel appartient le modèle personnalisé. Par défaut : ID du membre |
model_output |
enum | Type de modèle personnalisé. Valeurs possibles : - "bid": le modèle Prix de l’offre génère une enchère CPM. Ce type de modèle sert de stratégie d’achat tiers d’une campagne à la place des stratégies CPM standard. Pour utiliser ce type de modèle dans une campagne, définissez cpm_bid_type"custom_model" sur , puis spécifiez l’ID de modèle personnalisé dans l’objet bid_model .- "bid_modifier": le modèle de modificateur d’enchère applique un multiplicateur à l’offre CPM dérivée de l’optimisation d’une campagne. Ce type de modèle est utilisé conjointement avec une stratégie d’achat basée sur l’optimisation Xandr (quand cpm_bid_type est "predicted" ou "margin"). Pour utiliser ce type de modèle dans une campagne, spécifiez l’ID de modèle personnalisé dans l’objet bid_modifier_model .Obligatoire sur : POST |
model_text |
chaîne | Logique du modèle, exprimée sous la forme d’un arbre de décision. Vous devez écrire votre arbre de décision dans notre langue Bonsai, puis inclure une version encodée en base64 ici. Par défaut : nullRemarque : - Limite de taille : votre arborescence doit être inférieure à 3 Mo ou 3 145 728 octets. S’il est plus grand que cela, vous ne pourrez pas ajouter votre arborescence. - Requêtes GET : dans une requête GET, le model_text est retourné UNIQUEMENT si vous fournissez un ID de modèle dans la chaîne de requête. Il ne sera pas retourné pour les requêtes non filtrées.- Vérifiez la validité et la taille de votre arborescence. - Avant d’ajouter un modèle personnalisé, utilisez le service Analyseur de modèle personnalisé pour case activée la validité et la taille de votre arbre de décision. Consultez ce service pour plus d’informations sur la validation et les messages d’erreur. |
name |
string (191) | Nom du modèle personnalisé. Il doit être unique et ne doit pas contenir plus de 191 caractères. Obligatoire sur : POST |
original_text |
chaîne |
En lecture seule. Arbre de décision en texte brut. Nous fournissons cela dans la réponse afin que vous puissiez récupérer et examiner le format d’origine de votre arborescence chaque fois que nécessaire pour itérer sur la conception de l’arborescence. Notez que les onglets sont remplacés par \t et que les nouvelles lignes sont remplacées par \n.Par défaut : nullRemarque : Dans une requête GET, le original_text est retourné UNIQUEMENT si vous identifiez un ID de modèle spécifique dans la chaîne de requête. Il ne sera pas retourné pour les requêtes non filtrées. |
Exemples
Afficher tous les modèles personnalisés
$ curl -b cookies -c cookies 'https://api.appnexus.com/custom-model'
{
"response": {
"status": "OK",
"count": 10,
"start_element": 0,
"num_elements": 100,
"custom_models": [
{
"id": 327,
"name": "Bid by Region/Hour of Day",
"code": "code1_abc12345",
"member_id": 958,
"advertiser_id": 39776,
"custom_model_structure": "decision_tree",
"model_output": "bid",
"active": true,
"last_modified": "2015-09-22 19:52:57"
},
{
"id": 329,
"name": "Bid by Device Type/Hour of Day",
"code": "code2_abc12345",
"member_id": 958,
"advertiser_id": 39776,
"custom_model_structure": "decision_tree",
"model_output": "bid",
"active": true,
"last_modified": "2015-09-22 20:52:53"
},
...
]
}
}
Afficher un modèle personnalisé spécifique
$ curl -b cookies -c cookies 'https://api.appnexus.com/custom-model?id=327'
{
"response": {
"status": "OK",
"count": 1,
"start_element": 0,
"num_elements": 100,
"custom_model": {
"id": 327,
"name": "Bid by Region/Hour of Day",
"code": "code1_abc12345",
"member_id": 1234,
"advertiser_id": 39776,
"custom_model_structure": "decision_tree",
"model_output": "bid",
"model_text": "aWYgZXZlcnkgcmVnaW9uID0gIlVTOkNBIiwgdXNlcl9ob3VyIHJhbmdlICgxMiwxNCk6CgkxLjUKZWxpZiBldmVyeSByZWdpb24gPSAiVVM6TlkiLCB1c2VyX2hvdXIgcmFuZ2UgKDEsMyk6CgkwLjEKZWxzZToKCTAuNQ==",
"original_text": "if every region = \"US:CA\", user_hour range (12,14):\n\t1.5\nelif every region = \"US:NY\", user_hour range (1,3):\n\t0.1\nelse:\n\t0.5",
"active": true,
"last_modified": "2015-09-22 19:52:57"
}
}
}
Ajouter un modèle personnalisé
$ curl -b cookies -c cookies -X POST -d @custom_model.json 'https://api.appnexus.com/custom-model?member_id=1234'
$ cat custom_model.json
{
"custom_model": {
"name": "Bid by Device Type/Hour of Day",
"advertiser_id": 39776,
"custom_model_structure": "decision_tree",
"model_output": "bid",
"model_text": "aWYgZXZlcnkgZGV2aWNlX3R5cGUgPSAiT3RoZXJzIChpbmNsdWRpbmcgUEMpIiwgdXNlcl9ob3VyIHJhbmdlICg5LDE4KToKCTEuNQplbGlmIGV2ZXJ5IGRldmljZV90eXBlIGluICgiVGFibGV0IiwgIlBob25lIiksIHVzZXJfaG91ciBpbiAoNSw2LDcsOCwxOSwyMCwyMSwyMik6CgkyCmVsc2U6CgkwLjU="
}
}
$ curl -b cookies -c cookies -X POST -d @custom_model.json 'https://api.appnexus.com/custom-model'
{
"response": {
"status": "OK",
"count": 1,
"id": "329",
"start_element": 0,
"num_elements": 100,
"custom_model": {
"id": 329,
"name": "Bid by Device Type/Hour of Day",
"code": null,
"member_id": 1234,
"advertiser_id": 39776,
"custom_model_structure": "decision_tree",
"model_output": "bid",
"model_text": "aWYgZXZlcnkgZGV2aWNlX3R5cGUgPSAiT3RoZXJzIChpbmNsdWRpbmcgUEMpIiwgdXNlcl9ob3VyIHJhbmdlICg5LDE4KToKCTEuNQplbGlmIGV2ZXJ5IGRldmljZV90eXBlIGluICgiVGFibGV0IiwgIlBob25lIiksIHVzZXJfaG91ciBpbiAoNSw2LDcsOCwxOSwyMCwyMSwyMik6CgkyCmVsc2U6CgkwLjU=",
"original_text": "if every device_type = \"Others (including PC)\", user_hour range (9,18):\n\t1.5\nelif every device_type in (\"Tablet\", \"Phone\"), user_hour in (5,6,7,8,19,20,21,22):\n\t2\nelse:\n\t0.5",
"active": true,
"last_modified": "2015-09-22 20:52:53"
}
}
}
Modifier un modèle personnalisé
$ cat custom_model_update.json
{
"custom_model": {
"model_text": "aWYgc2VnbWVudCAxMjM0Og0KwqDCoMKgwqBpZi..."
}
}
$ curl -b cookies -c cookies -X PUT -d @custom_model_update.json 'https://api.appnexus.com/custom-model?id=3'
{
"response": {
"status": "OK",
"count": 1,
"start_element": 0,
"num_elements": 100,
"custom_model": {
"id": 3,
"name": "User Hour Model",
"code": null,
"member_id": 1234,
"advertiser_id": 83736,
"custom_model_structure": "decision_tree",
"model_output": "bid",
"model_text": "aWYgc2VnbWVudCAxMjM0Og0KwqDCoMKgwqBpZi...",
"original_text": "if every region = \"US:CA\", user_hour range (12,16):\n\t1.5\nelif every region = \"US:NY\", user_hour range (1,5):\n\t0.1\nelse:\n\t0.5",
"active": true
}
}
}
Supprimer un modèle personnalisé
$ curl -b cookies -c cookies -X DELETE 'https://api.appnexus.com/custom-model?id=3'
{
"response": {
"status": "OK",
"count": 1,
"start_element": null,
"num_elements": null
}
}