Create Notification Profile
Product | D&B Direct 2.0 |
Product Code(s) | Not Applicable |
Options(s) | None |
Monitoring Available | No |
Interface | REST |
Method | POST |
Format(s) | JSON |
Service | Monitoring |
{version} | 5.0 |
5.0 Released on | January 8, 2016 |
This function allows a customer to specify a user preference and the frequency for testing monitoring profile conditions.
A Notification Profile establishes the protocol by which change events should be delivered to customers, and references user preferences setup in the User Service. This is the PUSH component of the Data Field Monitoring feature.
Update History
- January 29, 2016 (v5.0 SOAP & REST): PUSH notifications now include CustomerReferenceText for List Change Notice.
- January 8, 2016 (v5.0 SOAP & REST): The input parameter CompressedProductIndicator is added to CreateNotificationProfileRequest and UpdateNotificationProfileRequest. AttachCompressedProductIndicator is added to GetMonitoringProduct Request.
What to do First
Feature Request
IMPORTANT: Please see the new Online Services Security Enhancement Release, effective November 09, 2020.
Data Layer Entitlement
For customers in U.S. and Canadian markets, the API is provisioned for specific collections of products, reports, and/or features (collectively referred to as data layers) for production and trial usage. Entitlement is not required for testing in the sandbox environment.
- This function does not require entitlement for production and trial usage. Entitlement for monitoring is only required for the Add Monitoring Registration function, and for the data layers that will monitored.
Specification
Restriction: The sequence of Request Parameters submitted to POST/PUT operations currently MUST follow the order presented in this section. This applies to REST calls only.
Restriction: An XML namespace statement MUST be included as the first statement within the primary Aggregate of the request. Please refer to the Sample Request for an example. This applies to REST calls only.
POST https://direct.dnb.com/V5.0/monitoring/notificationprofiles Content-Type: application/json Authorization: <MyToken> { "mon:CreateNotificationProfileRequest": { "@xmlns$mon": "http://services.dnb.com/MonitoringServiceV2.0", "TransactionDetail": { "ApplicationTransactionID": "ID_001" }, "CreateNotificationProfileRequestDetail": { "NotificationProfileSpecification": { "NotificationProfileName": "Notification_Profile_Email_01", "NotificationProfileDescription": "Email Notofication Proile", "DeliveryMode": "Email", "DeliveryChannelUserPreferenceName": "John-updatedemail", "DeliveryFrequency": "Immediate", "DeliveryFormat": "XML", "StopDeliveryIndicator": "false" "CompressedProductIndicator": "true" }, "InquiryReferenceText": { "CustomerReferenceText": "Notification_Profile_Email_01" } } } }
Name | Characteristics |
---|---|
CreateNotificationProfileRequest | Aggregate |
CreateNotificationProfileRequest@ServiceVersionNumber | Attribute |
CreateNotificationProfileRequest@xsi:schemaLocation | Attribute |
CreateNotificationProfileRequest { TransactionDetail | Aggregate, Optional Records information necessary to process this request. |
CreateNotificationProfileRequest { TransactionDetail { ApplicationTransactionID | string up to 64 chars., Optional A number assigned by the calling application to uniquely identify this request. |
CreateNotificationProfileRequest { TransactionDetail { TransactionTimestamp | DateTimestamp, Optional The date and time when this request was created. When the request is from an intermediary, such as a workflow manager or service bus, this is the date and time when the message was sent to the D&B function, i.e., the date and time when the xml document was created by the requesting intermediary. |
CreateNotificationProfileRequest { TransactionDetail { SubmittingOfficeID | string up to 64 chars., Optional A number that identifies the system or the software application from where this request originated. / A number used to uniquely identfy the D&B business segment or delivery channel from where this request originated. |
END: CreateNotificationProfileRequest } TransactionDetail | /Aggregate |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail | Aggregate, Required |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification | Aggregate, Required |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { NotificationProfileName | string at least 1 chars. up to 64 chars. Pattern: {.*[^\s].*}., Required A name that is provided by the user to the profile. |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { NotificationProfileDescription | string up to 256 chars., Optional A string that records the description of the profile |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { DeliveryMode | DeliveryModeEnum, Required Possible values: Email; HTTPCallBack; MQOutput |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { DeliveryChannelUserPreferenceName | string at least 1 chars. up to 64 chars. Pattern: {.*[^\s].*}., Optional |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { DeliveryFrequency | DeliveryFrequencyEnum, Required Possible values: Immediate; Hourly; Daily; Weekly |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { DeliveryFormat | DeliveryFormatEnum, Required Possible values: XML, JSON |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { StopDeliveryIndicator | boolean, Required |
END: CreateNotificationProfileRequest } CreateNotificationProfileRequestDetail } NotificationProfileSpecification | /Aggregate |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { InquiryReferenceText | Aggregate, Optional Records data that allows the customer to specify information to be linked to the request in order to support subsequent order reconciliation. |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { InquiryReferenceText { CustomerReferenceText | string up to 240 chars., Optional(Up to 5x) A freeform reference string provided by the customer to be linked to the product in order to support subsequent order reconciliation. |
CreateNotificationProfileRequest { CreateNotificationProfileRequestDetail { NotificationProfileSpecification { CompressedProductIndicator | boolean., Optional When set to TRUE this denotes that the customer has requested that D&B return the compressed product in Level 2 change notice. When set to FALSE this denotes that the customer has not requested that D&B return the compressed product in Level 2 change notice. |
END: CreateNotificationProfileRequest } CreateNotificationProfileRequestDetail } InquiryReferenceText | /Aggregate |
END: CreateNotificationProfileRequest } CreateNotificationProfileRequestDetail | /Aggregate |
END: CreateNotificationProfileRequest | /Aggregate |
Endpoint
Use the following endpoint for requesting this feature. The {version} is dependent on the underlying service delivering the response.
Endpoint (Monitoring) |
---|
POST https://direct.dnb.com/V{version}/monitoring/notificationprofiles |
Testing
This operation will return a static set of results in the D&B Direct test environment (sandbox), regardless of the request parameters.
Feature Response
NOTE: The D&B Direct REST implementation uses the BadgerFish approach for JSON with some minor variations.
Specification
The following is a list of the possible data fields returned by this operation in the JSON response. Samples are provided for testing successful and failed retrieval, and to demonstrate the basic layout of a response. The data returned in samples may not represent actual values that this feature will deliver.
NOTE: The D-U-N-S Number returned in the response will be a nine-digit zero-padded, numeric value.
{"CreateNotificationProfileResponse": { "@ServiceVersionNumber": "5.0", "TransactionDetail": { "ApplicationTransactionID": "ID_001", "ServiceTransactionID": "Id-774702ef5244685702fb003b-1", "TransactionTimestamp": "2013-09-26T13:01:12.041-04:00" }, "TransactionResult": { "SeverityText": "Information", "ResultID": "CM000", "ResultText": "Success" }, "CreateNotificationProfileResponseDetail": { "NotificationProfileDetail": { "NotificationProfileName": "Notification_Profile_Email_01", "NotificationProfileID": 704 }, "InquiryReferenceText": {"CustomerReferenceText": ["Notification_Profile_Email_01"]} } }}
Response Codes & Error Handling
Successful service requests will return a CM000 response code in the TransactionResult ResultID field. Otherwise, one of the D&B Direct standard response codes will be returned.
This operation may return the following response codes: CM002, CM004, CM007, CM023, SC001-SC009.
D&B Direct 2.0 API requests are provided on a metered basis; and may require entitlement prior to use in the production environment. In addition, a concurrency limit (QPS) is monitored to ensure that it is not exceeded. An error code will be returned in the event that a transaction is throttled.
While this operation is provided on a metered basis, usage is tracked; however, no billing for successful calls is recorded.
Operation-specific supplemental response code explanations:
CM002 | Any schema validation failure (e.g. elements that are mandatory in the schema are not present in the request, Sequence of the element is not matching in the schema, Data type mismatch or Invalid notification Level). |
CM007 | Delivery Channel User Preference Name is invalid. |
CM023 | Duplicate Profile Name |
Feature Notes
The DeliveryChannelUserPreferenceName parameter value should match the PreferenceSpecification.PreferenceName value that was used to create the User Preference.
NOTE: When the HTTPCallBack delivery mode is specified, the corresponding User Preference must include values for both the Credentials.UserID and Credentials.Password, as these fields will be supplied in the header when the call back is performed.