Bildirim hizmeti
AFP bildirim hizmeti, AFP Direct platformlarının alt hesap ve site durum değişiklikleri olduğunda bildirim almasına olanak tanır. Platformlar, değişiklikleri incelemek için Platform API'yi kullanabilir.
Bildirim almak için POST isteklerini kabul eden ve şemada belirtilen JSON yükünü ayrıştıran bir sunucu uygulayın (örnek kuruluma bakın). Ardından, hizmeti etkinleştirmek için uç nokta URL'sini stratejik iş ortağı yöneticinize sağlamanız gerekir.
Şema
Bildirim yükü aşağıdaki şemaya uygun olmalıdır:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Notification",
"type": "object",
"properties": {
"accountName": {
"type": "string",
"description": "The name of the modified sub-account."
},
"domain": {
"type": "string",
"description": "The domain the notification refers to, if any. Optional (only populated for SITE_APPROVAL)"
},
"notificationType": {
"type": "string",
"enum": ["PUBLISHER_APPROVAL", "SITE_APPROVAL"],
"description": "Type of notification"
}
},
"required": ["platformPublisherId", "publisherId", "notificationType"],
"additionalProperties": false
}
Daha sonra daha fazla notificationTypes
ve başka alanlar eklenebilir.
Örnekler
Yayıncı onayı bildirimi şu şekilde görünür:
{
"accountName" : "platforms/pub-1234567890123456/accounts/pub-0987654321654321",
"notificationType": "PUBLISHER_APPROVAL"
}
Site onayı bildirimi şöyle görünür:
{
"accountName" : "platforms/pub-1234567890123456/accounts/pub-0987654321654321",
"domain": "afpsite.com",
"notificationType": "SITE_APPROVAL"
}
Örnek kurulum
Aşağıda, bildirimin içeriğini günlüğe kaydeden bir NodeJS sunucu örneği verilmiştir:
// Import express
const express = require('express');
// Create an express application
const app = express();
// Middleware to parse JSON bodies
app.use(express.json());
// Define a route to receive POST requests
app.post('/notification', (req, res) => {
console.log('Received account name:', req.body.accountName)
console.log('Received Domain:', req.body.domain)
console.log('Received notification type', req.body.notificationType)
// Send a response back to the client
res.status(200).send('Notification received');
});
// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
Örnek uç nokta URL'si: https://yourdomain.com/your-endpoint
curl
kullanarak bir POST isteği göndererek uç noktanızın çalıştığını doğrulayın:
curl -X POST https://yourdomain.com/your-endpoint \
-H "Content-Type: application/json" \
-d '{"accountName": "platforms/pub-1234567890123456/accounts/pub-0987654321654321", \
"notificationType": "PUBLISHER_APPROVAL"}'
robots.txt dosyasını yapılandırma
Bildirim hizmetinin uç noktanıza erişmesine izin verildiğinden emin olun. Bildirim hizmeti, varsa alanınızın kök dizininde bulunan robots.txt
dosyasında belirtilen yönergelere uyar:
User-agent: GoogleOther
Disallow: <ensure your endpoint is not disallowed>