DMP Management API
Reach and charge customers from your data platform
The DMP Management API connects a data management platform to the operator's customer wallet, audience segments and campaign tools. Check and charge customer wallets, build audience filters, and register and track campaigns through one dispatch interface.
- Wallet payments
- Audience targeting
- Campaign tracking
What you can do with this API
-
Check whether a customer has a wallet POST
/operations/dispatch/customer-haswalletInputs:
requestId,correlationId,payload -
Get a customer's wallet balance POST
/operations/dispatch/wallet-getcustomerbalanceInputs:
requestId,correlationId,payload -
Take a payment from a customer's wallet POST
/operations/dispatch/wallet-dopaymentInputs:
requestId,correlationId,payload -
Cancel a wallet payment POST
/operations/dispatch/wallet-cancelpaymentInputs:
requestId,correlationId,payload -
List a customer's wallet payments POST
/operations/dispatch/wallet-getcustomerpaymentsInputs:
requestId,correlationId,payload -
List the day's wallet payments POST
/operations/dispatch/wallet-getdailypaymentsInputs:
requestId,correlationId,payload -
Count customers matching an audience filter POST
/operations/dispatch/dna-filterdataInputs:
requestId,correlationId,payload -
Save an audience filter POST
/operations/dispatch/dna-savefilterInputs:
requestId,correlationId,payload - 8 more operations in the API reference
Read the full API overview
DMP Management API
The DMP Management API gives a data management platform (DMP) partner one secure interface to the operator's customer wallet, audience data and campaign tools.
What you can do
- Wallet: check whether a customer has a wallet, read the balance, take or cancel a payment, and list a customer's or the day's payments.
- Audience (DNA): see which attributes you can filter on, count the customers a filter matches, and save or delete filters.
- Campaigns: register a campaign, report its delivery status and read its status back.
- Operator: check the platform status and exchange configuration parameters.
How it works
Every operation is a POST to /dmpmanagement/v1/operations/dispatch/{operation} with the same envelope: a requestId, a correlationId and an operation-specific payload. Authenticate with an OAuth 2.0 access token, and send the countryCode header for the market.
Availability
Available in Iraq through Asiacell (countryCode: IRQ).
Questions about the DMP Management API
What can I do with the DMP Management API?
The DMP Management API connects a data management platform to the operator's customer wallet, audience segments and campaign tools. Check and charge customer wallets, build audience filters, and register and track campaigns through one dispatch interface.
- Check whether a customer has a wallet (
POST /operations/dispatch/customer-haswallet) - Get a customer's wallet balance (
POST /operations/dispatch/wallet-getcustomerbalance) - Take a payment from a customer's wallet (
POST /operations/dispatch/wallet-dopayment) - Cancel a wallet payment (
POST /operations/dispatch/wallet-cancelpayment) - List a customer's wallet payments (
POST /operations/dispatch/wallet-getcustomerpayments) - List the day's wallet payments (
POST /operations/dispatch/wallet-getdailypayments) - Count customers matching an audience filter (
POST /operations/dispatch/dna-filterdata) - Save an audience filter (
POST /operations/dispatch/dna-savefilter) - Delete a saved audience filter (
POST /operations/dispatch/dna-deletefilter) - List the attributes you can filter on (
POST /operations/dispatch/dna-getdnametadata) - Register a new campaign (
POST /operations/dispatch/campaign-created) - Report a campaign's delivery status (
POST /operations/dispatch/campaign-sendstatus) - Get a campaign's status (
POST /operations/dispatch/campaign-getstatus) - Check the operator platform status (
POST /operations/dispatch/opco-getsystemstatus) - Send configuration parameters to the operator (
POST /operations/dispatch/opco-sendparameters) - Get an operation's status (
POST /operations/dispatch/opco-getstatus)
Which inputs does each call to the DMP Management API need?
POST /operations/dispatch/customer-haswallet: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/wallet-getcustomerbalance: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/wallet-dopayment: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/wallet-cancelpayment: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/wallet-getcustomerpayments: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/wallet-getdailypayments: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/dna-filterdata: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/dna-savefilter: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/dna-deletefilter: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/dna-getdnametadata: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/campaign-created: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/campaign-sendstatus: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/campaign-getstatus: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/opco-getsystemstatus: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/opco-sendparameters: requiresrequestId,correlationId,payload; headerscountryCodePOST /operations/dispatch/opco-getstatus: requiresrequestId,correlationId,payload; headerscountryCode
Every call also needs Authorization: Bearer <access_token>. The API reference on this page shows each field's type and an example request.
How do I authenticate with the DMP Management API?
- Call
POST https://api.ooredoo.com/tmf-api/oauth/tokenwith your client ID and client secret. Sendgrant_typein the body. Use the client ID and secret of your app. - The response contains
access_token,token_type,expires_in. - Send
Authorization: Bearer <access_token>on each call until the token expires, then request a new one.
Which errors can the DMP Management API return?
- 400: Invalid request: a required field is missing or malformed
- 401: Invalid client credentials
- 403: The token does not carry the scope this operation needs
- 405: Method not allowed
- 500: Server error
- 503: Operator backend unavailable
On 401, request a new access token and retry.
Where is the DMP Management API available?
DMP Management is available in Iraq.
Sample call
From the published OpenAPI specification. Replace the placeholders with your app's credentials and real values.
1. Get an access token
curl -X POST https://api.ooredoo.com/tmf-api/oauth/token \
-H "client_id: $CLIENT_ID" \
-H "client_secret: $CLIENT_SECRET" \
-d "grant_type=client_credentials" \
-d "client_id=<client_id>" \
-d "client_secret=<client_secret>"2. Call the API
curl -X POST https://api.ooredoo.com/dmpmanagement/v1/operations/dispatch/customer-haswallet \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "countryCode: <countryCode>" \
-H "Content-Type: application/json" \
-d '"<body>"'API reference
Try any endpoint in the sandbox