Apps We Love
| Version: | 2 |
|---|---|
| Seller invoices API: | Create invoices |
| POST: | /external/sell/invoices |
| Example URI: | https://<environment>/external/sell/invoices |
| Deprecated versions: | 1 |
About the Create invoices API
This API enables sellers to upload one or more order or line item based invoices to our buy system, with the ability to attach invoice scans uploaded using Image upload API.
For order-based invoices, both single and multi-order invoicing are supported, with the ability to upload a single or multiple invoices across one or more orders. The payload's publisher indicates which model is utilized for the call.
The following validation requirements must be met:
- The seller must be authorized to access the orders associated with the payload's invoices.
- The placements or orders can't belong to multiple agencies.
- The supplier must be linked with the global seller.
Invoices are created with a state of PENDING (pending reconciliation), with the following exceptions:
- Credit memos are created with a state of
PENDING_CREDIT. - Itemized invoices with external (partner) line items, and where our line items do not add up to the invoice amount have a state of
INCOMPLETE. - OX agency invoices where the vendor code and remit code aren't specified have a state of
INCOMPLETE.
When you create an invoice (invoiceType is set to Invoice), it can be for multiple positive and negative orders, and can also include:
- Adjustments
- Credit memos
- Cash receipts
To add a standalone credit memo for an itemized or bottomline invoice:
invoiceType: must be set toCredit MemooriginalInvoiceId: must be blank (or null)orders: must be credit orders
Child placements, creative lines, programmatic packages, and trading desk lines aren't eligible to be invoiced.
Header details
| Example | Description | |
|---|---|---|
Accept: |
|
API version is indicated in the header. |
Content-Type: |
|
JSON accepted. |
X-MO-API-Key |
123456789123abcdefghijkl |
Authentication and authorization key. This must be a registered and active Invoices API key given to you by us. This key must provide access to the named organization. To request a key for this API, contact the API support. |
X-MO-Organization-Id |
35-1-2ABCDEF3-2 |
Our ID for the seller. The associated organization must be authorized to access the orders associated to the invoices in the payload. This is provided to you by us. |
X-MO-Email-Address |
user@domain.com |
User's email address. This is the email address provided when the API partner is set up. |
Request details
Show request details + Hide request details -
| Name | Type | Description | Required? | Validation |
|---|---|---|---|---|
requestId |
string |
Request ID. The request ID provided by the partner to uniquely identify a request. This is used for troubleshooting purposes only. |
Yes |
Maximum of 64 characters. |
publishers |
PUBLISHER DETAILS: Details on all the invoices to be uploaded to our buy system for the publisher. |
Publisher must be unique across the invoices. | ||
identifiers |
All identifiers: |
|||
|
Individual identifier details: Repeated for each type. |
||||
id |
string |
ID. The publisher ID. If the publisher type is |
No | Must be a our publisher ID. |
type |
string |
Type. This indicates who provided the publisher ID:
|
Yes/No |
Required if the ID is provided. Must be set to |
name |
string |
Name. The publisher name. |
No | |
|
End of individual identifier details |
||||
|
End of all identifier details |
||||
invoices |
Details of all the invoices being uploaded for the publisher: |
Yes |
Maximum of 10 invoices can be provided per request. All the invoices in a payload must belong to one agency. |
|
|
Individual invoice details being uploaded for the publisher: Repeated for each invoice. |
||||
action |
string |
Action. The description of the type of action the API is making against the invoice. This must be set to |
Yes |
Must be |
invoiceId |
string |
Invoice ID. The invoice number provided by the publisher. |
Yes |
Maximum number of characters (dependent on financial system):
All printable characters accepted, except for |
invoiceType |
string |
Invoice type. The type of invoice being created. This can be (case-insensitive):
Invoices can be for multiple positive and negative orders and can also include:
To add a standalone credit memo.
|
Yes |
Must be one of:
|
media |
string |
Media. The type of media the invoice is for. |
No | Must be a media code set up by the agency in the buy system. |
monthOfService
|
date |
Month of service (MOS). The month to which the invoice applies. This is the monthly division of a digital placement with multiple months. This is used for flighting on the ad server and for buys in the financial system. |
Yes/No |
YYYY-MM Either month of service or invoice start and end date must be provided, not both. |
invoiceStartDate |
ISO date |
Invoice start date. The start date of the invoice period. |
Yes/No |
YYYY-MM-DD Can be null. Either month of service or invoice start and end date must be provided, not both. Month and year must be the same for both the invoice start and end date. Must be on or before the invoice end date. |
invoiceEndDate |
ISO date |
Invoice end date. The end date of the invoice period. |
Yes/No |
YYYY-MM-DD Can be null. Either month of service or invoice start and end date must be provided, not both. Month and year must be the same for both the invoice start and end date. Must be on or after the invoice start date. |
invoiceDate |
ISO date |
Invoice date. The date the invoice was issued. |
Yes |
YYYY-MM-DD Can't be a date in the future. |
|
|
string |
Original invoice ID. The original invoice number. This is used when you load credits and invoices together. Providing the original invoice ID enables the credit to be loaded to the original invoice if there are multiple invoices. To add a standalone credit memo.
|
No |
|
invoiceAmount |
decimal |
Invoice amount. The monetary amount the invoice is for. |
Yes |
Amounts can be specified at invoice level and either order or line item level (not both). If amounts are specified at invoice and order/line item level, they must be the same. Either an order amount or a line item amount can be specified for an invoice, not both. |
invoiceTaxAmount |
decimal |
Invoice tax amount. The tax amount on the invoice. |
No |
Invoice tax amount can't exceed the invoice amount.
|
currency |
ISO currency code |
Currency. The 3-character ISO code for the Currency for the invoice's monetary amounts. |
No | 3-character ISO currency code |
|
|
decimal |
Prisma Global agencies only. Exchange rate. The exchange rate for the currency. |
No |
Available for Prisma Global agencies only. The exchange rate field is driven by a configuration setting. The exchange rate can be specified at the invoice header level when the supplier currency and agency currency are different. Only positive, non-zero numbers are accepted. |
documentId |
string |
Document ID. The ID for the associated uploaded document file. This is obtained using the Image upload API. |
No | |
popDocumentId |
string |
POP document ID. The ID for the associated upload proof of performance (POP) document file. This is obtained using the Image upload API. |
No | |
comments |
string |
Comments. Any comments made about the invoice. This enables important information about the invoice to be stored. Any content that takes the character count above maximum allowance of 340 character is truncated. |
No | Maximum of 340 characters. |
lineItems |
Details for all line items: A single invoice must be either completely bottom lined or itemized, but different invoices on the same call may be itemized and bottom lined. |
Line item or order details can be included for an invoice, not both. An invoice must have at least one order or one of our buy system-based line items. Maximum of 1000 line items can be provided per itemized invoice. |
||
|
Individual line item details: Repeated for each line item. |
||||
|
Details for all identifiers for the line item |
||||
identifiers |
Individual identifier details: Repeated for each identifier for the line item. |
|||
id |
string |
ID. The line item ID. This can be the ID for one of our lines or an externally provided line. The associated type identifies the source of the line item. |
Y | |
name |
string |
External lines only Name. The name of the external placement. |
N | |
type |
string |
Type. The source of the line item ID. This can be:
|
Y | |
|
End of individual identifier details |
||||
lineItemAmount |
integer |
Line item amount. The cost of the line item. |
If both line item and invoice amounts are specified, they must be the same. Either an order amount or a line item amount can be specified for an invoice, not both. Depending on the invoice type, there are the following requirements for the line item amount:
|
|
|
End of all identifier details |
||||
| End of individual line item details | ||||
| End of all line item details | ||||
orders |
All order details for the invoice: To add a standalone credit memo.
|
Yes |
Line item or order details can be included for an invoice, not both. An invoice must have at least one order or be based on one of our line items. For bottom-lined invoices, a maximum of 50 orders can be provided for an invoice. |
|
|
Individual order details: Repeated for each order included the invoice. |
||||
orderId |
string |
Order ID. The unique order identifier generated from our buy system. |
Yes | |
orderAmount |
decimal |
Order amount. The total cost for all the placements on the order. This is provided in the currency ( Note: Invoice amounts can be specified at one of the following levels for each invoice:
|
If both order and invoice amounts are specified, they must be the same. Either an order amount or a line item amount can be specified for an invoice, not both. |
|
advertisers |
Advertiser details for the order: | No | Only one advertiser allowed for an order. | |
|
|
string | Advertiser code. | No | |
| End of advertiser details | ||||
|
End of individual order details |
||||
|
End of all order details for the invoice |
||||
publisherCode |
Publisher code details: |
|||
|
Individual publisher code details: Repeated for each publisher. |
Publisher must be unique across invoices. | |||
id |
ID. The publisher code. If the publisher type is |
No |
An agency ID or other type of ID can be provided. |
|
type |
Type. This indicates who provided the publisher code:
|
No/Yes | Required if the publisher code is provided, otherwise optional. | |
name |
Name. The publisher name. |
No | ||
| End of individual publisher code details | ||||
| End of publisher code details | ||||
vendor |
OX only Vendor details: |
|||
code |
string |
OX only Code. The vendor code. If no vendor code or remit ID is provided and there is only one code in our buy system, when the invoice is loaded it defaults to the code from our buy system. If no code is provided and there are multiple codes in our buy system, the invoice loads as incomplete. |
No |
|
remitId |
string |
OX only Remit ID. The ID set up in the OX buy system that references the address where the payment is to be sent. |
No | Maximum length of 3 characters. |
| End of vendor details | ||||
| End of individual invoice details for the publisher group | ||||
| End of all invoice details for the publisher group | ||||
|
END OF PUBLISHER DETAILS |
Response details
See the Samples section here for the schemas and examples of request and response calls.
Show response details + Hide response details -
| Item | Type | Description |
|---|---|---|
responseId |
string | Response ID. |
results |
RESPONSE DETAILS FOR ALL THE INVOICES AND PUBLISHER GROUPS: |
|
| Individual result details: | ||
status |
string |
Status. The status of response. This can be:
|
invoiceState |
string |
Invoice state. The state of the created invoice. Invoices are created with a state of
|
severity |
string |
Severity. For failed requests this indicates the severity of the failure. This is set to one of:
|
invoiceId |
string |
Invoice ID. The invoice ID from the publisher. |
publisherCode |
string |
Publisher code. The code for the invoice's publisher. |
invoiceIndex |
string |
Invoice index. This refers to the position of the invoice in the request, starting at |
id |
string |
Success response only ID. Our public ID for the invoice. The validation results are blank for successful requests. |
validationResults |
All the validation issues for the response: Note: This is only populated for failed invoice uploads. |
|
|
Validation details: Repeated for each validation error. |
||
messageKey |
string |
Message key. The validation message key. See Validation messages for details. |
message |
string |
Message. The description of validation error. See Validation messages for details. |
fieldName |
string |
Optional Field name. The item in the request payload that caused the validation error. |
value |
string |
Optional Value. The value sent in the requested payload for the field in error. |
| End of individual validation issue | ||
| End of all validation issues | ||
| End of individual response details | ||
| End of issues for all responses | ||
| End of individual result details | ||
| END OF RESULTS |
Samples
Request samples:
- Bottomlined invoice
- Bottomlined with multiple invoices over multiple orders
- Bottomline standalone credit memo
- Itemized invoice
- Itemized invoice with multiple invoices over single order
- Itemized standalone credit memo
- Positive invoice and credit order
- Invoice with exchange rate
Response sample:
Bottomlined invoice request
{
"requestId": "823981",
"publishers": [
{
"identifiers": [
{
"id": "USSJI00010000",
"type": "Mediaocean",
"name": "HEALTH AND BEYOND"
}
],
"invoices": [
{
"action": "add",
"invoiceId": "INV-0133",
"invoiceType": "invoice",
"media": "I",
"advertiser": "GAP",
"productCode": "SS",
"monthOfService": "2015-01",
"invoiceDate": "2017-06-21",
"currency": "USD",
"invoiceAmount": 101,
"invoiceTaxAmount": 1.01,
"documentId": "188fa80e-0939-42d4-a41b-07cf39b7b55d",
"orders": [
{
"orderId": "O-11PV",
"orderAmount": 101,
"advertisers": [
{
"advertiserCode": "GAP"
}
]
}
],
"publisherCode": [
{
"id": "00010000",
"type": "Agency",
"name": "GOOGLE.COM"
}
]
}
]
}
]
}
Bottomlined with multiple invoices over multiple orders request
{
"requestId": "b3b343f6-388a-4c10-9f0c-1313b59bb006",
"publishers": [
{
"invoices": [
{
"action": "add",
"invoiceId": "INVOICE-1",
"invoiceType": "Invoice",
"monthOfService": "2021-08",
"invoiceDate": "2021-07-30",
"currency": "USD",
"invoiceAmount": 20.00,
"invoiceTaxAmount": 0.00,
"orders": [
{
"orderId": "O-7M5K",
"orderAmount": 10.00
},
{
"orderId": "O-7M6F",
"orderAmount": 10.00
}
]
},
{
"action": "add",
"invoiceId": "INVOICE-2",
"invoiceType": "Invoice",
"monthOfService": "2021-08",
"invoiceDate": "2021-07-30",
"currency": "USD",
"invoiceAmount": 30.00,
"invoiceTaxAmount": 0.00,
"orders": [
{
"orderId": "O-7M5K",
"orderAmount": 20.00
},
{
"orderId": "O-7M6F",
"orderAmount": 10.00
}
]
}
]
}
]
}
Bottomline standalone credit memo request
{
"requestId": "787254",
"publishers": [
{
"identifiers": [
{
"id": "35-1-1M-3",
"type": "Mediaocean",
"name": "Yahoo"
}
],
"invoices": [
{
"action": "add",
"invoiceId": "sell-scm6",
"invoiceType": "credit memo",
"monthOfService": "2024-02",
"invoiceDate": "2024-01-11",
"currency": "USD",
"documentId": null,
"dealNumber": null,
"invoiceAmount": 10,
"orders": [
{
"orderId": "O-8WEW-R0",
"orderAmount": 10,
"advertisers": [
{
"advertiserCode": "AE1"
}
]
}
]
}
]
}
]
}
Itemized invoice request
{
"requestId":"d8de19ad-033a-46e5-8a53-384ff5c372f0",
"publishers":[
{
"identifiers":[
{
"id":"35-1-DSJH-5",
"type":"Mediaocean",
"name":"Yahoo"
}
],
"invoices":[
{
"action":"add",
"invoiceId":"IN689F",
"invoiceType":"invoice",
"monthOfService":"2020-01",
"invoiceStartDate":null,
"invoiceEndDate":null,
"invoiceDate":"2020-01-09",
"currency":"USD",
"invoiceAmount":1700,
"documentId":"c8de19ad-033a-46e5-8a53-384ff5c372e9",
"comments":"some comments",
"lineItems":[
{
"identifiers":[
{
"id":"PFLRPY",
"type":"Mediaocean"
}
],
"lineItemAmount":1000
},
{
"identifiers":[
{
"id":"PFLRPZ",
"type":"Mediaocean"
}
],
"lineItemAmount":700
}
],
"publisherCode":[
{
"id":"02000035",
"type":"Agency",
"name":"Yahoo"
}
],
"vendor":{
"code":"YAHOO",
"remitId":"001"
}
}
]
}
]
}
Itemized with multiple invoices over single order request
{
"requestId": "b3b343f6-388a-4c10-9f0c-1313b59bb007",
"publishers": [
{
"invoices": [
{
"action": "add",
"invoiceId": "INVOICE-1",
"invoiceType": "Invoice",
"monthOfService": "2021-08",
"invoiceDate": "2021-07-30",
"currency": "USD",
"invoiceAmount": 20,
"lineItems": [
{
"identifiers": [
{
"id": "P1FF4HX",
"type": "Mediaocean"
}
],
"lineItemAmount": 10
},
{
"identifiers": [
{
"id": "P1FF4HW",
"type": "Mediaocean"
}
],
"lineItemAmount": 10
}
]
},
{
"action": "add",
"invoiceId": "INVOICE-2",
"invoiceType": "Invoice",
"monthOfService": "2021-08",
"invoiceDate": "2021-07-30",
"currency": "USD",
"invoiceAmount": 30,
"lineItems": [
{
"identifiers": [
{
"id": "P1FF4HX",
"type": "Mediaocean"
}
],
"lineItemAmount": 20
},
{
"identifiers": [
{
"id": "P1FF4HW",
"type": "Mediaocean"
}
],
"lineItemAmount": 10
}
]
}
]
}
]
}
Itemized standalone credit memo request
{"requestId": "787654",
"publishers": [
{
"identifiers": [
{
"id": "35-1-6MSH-7B",
"type": "Mediaocean",
"name": "Yahoo"
}
],
"invoices": [
{
"action": "add",
"invoiceId": "CP105LH-F1",
"invoiceType": "credit memo",
"monthOfService": "2024-03",
"invoiceDate": "2024-01-14",
"currency": "USD",
"documentId": null,
"popDocumentId": null,
"dealNumber": null,
"invoiceAmount": 900,
"lineItems": [
{
"identifiers": [
{
"id": "P1WFWH1",
"type": "Mediaocean"
}
],
"lineItemAmount": 900
}
],
"vendor": {
"code": "YAH002",
"remitId": "001"
}
}
]
}
]
}'
Positive invoice and credit order request
{
"requestId": "b3b343f6-388a-4c10-9f0c-1313b59bb009",
"publishers": [
{
"identifiers": [
{
"id": "USSJSAE1",
"type": "Mediaocean",
"name": "ALDO SHOES"
}
],
"invoices": [
{
"action": "add",
"invoiceId": "mix-bag2",
"invoiceType": "invoice",
"media": "I",
"advertiser": "AE1",
"productCode": "SHO",
"monthOfService": "2024-01",
"currency": "USD",
"invoiceAmount": 2,
"invoiceTaxAmount": null,
"invoiceDate": "2024-02-20",
"documentId": null,
"popDocumentId": null,
"orders": [
{
"orderId": "O-91GP",
"orderAmount": 12,
"advertisers": [
{
"advertiserCode": "AE1"
}
]
},
{
"orderId": "O-91GQ",
"orderAmount": -10,
"advertisers": [
{
"advertiserCode": "AE1"
}
]
}
],
"publisherCode": [
{
"id": "10010121",
"type": "Agency",
"name": "DCM GOOGLE"
}
]
}
]
}
]
}
Create invoice with exchange rate request
Show exchange rate request + Hide exchange rate request -
{
"requestId": "823981",
"publishers": [
{
"identifiers": [
{
"id": "USSJI00010000",
"type": "Mediaocean",
"name": "HEALTH AND BEYOND"
}
],
"invoices": [
{
"action": "add",
"invoiceId": "forex_ap_17",
"invoiceType": "invoice",
"media": "I",
"advertiser": "HAB",
"productCode": "SS",
"monthOfService": "2022-01",
"invoiceDate": "2022-09-10",
"currency": "USD",
"invoiceAmount": 100,
"invoiceTaxAmount": null,
"documentId": null,
"popDocumentId": null,
"exchangeRate": 70.25,
"orders": [
{
"orderId": "O-80NF",
"orderAmount": 100,
"advertisers": [
{
"advertiserCode": "HAB"
}
]
}
],
"publisherCode": [
{
"id": "01000066",
"type": "Agency",
"name": "A AND E"
}
]
}
]
}
]
}
Create invoices response
Show response + Hide response -
{
"responseId":"823981",
"results":[
{
"status":"FAILURE",
"invoiceState": null,
"severity": "ERROR"
"invoiceId": "INV-0131",
"publisherCode":"00010000",
"invoiceIndex":0,
"id":null,
"validationResults":[
{
"messageKey":"invoiceTypeRequired_validation_message",
"message":"Invoice type required",
"fieldName":"invoiceType",
"value":null
}
]
},
{
"status":"SUCCESS",
"invoiceState": "INCOMPLETE",
"invoiceId":"INV-0132",
"publisherCode":"00010000",
"invoiceIndex":1,
"id":"IS18",
"validationResults":[]
},
{
"status":"SUCCESS",
"invoiceState": "PENDING",
"invoiceId":"INV-0133",
"publisherCode":"00010000",
"invoiceIndex":2,
"id":"IS18",
"validationResults":[]
}
]
}
Validation messages
Note: These are the main response validation messages, this is not a complete list of messages.
Show validation messages + Hide validation messages-
| Message key | Message |
|---|---|
advertiserRequired_validation_message |
Advertiser is required. |
agencyPublisherRequired_validation_message |
Agency publisher is required. |
bothMOSStartEndDateProvided_validation_message |
Provide monthOfService or invoiceStartDate/invoiceEndDate, not both. |
cantDeleteAllOrders_validation_message |
An invoice must have at least one order. |
dealNumberLength_validation_message |
Maximum deal number length of {0} exceeded. |
dealNumberProvided_validation_message |
Invoice deal number can't be provided as it is not active for this location. |
endDateBeforeStartDate_validation_message |
invoiceEndDate can't be before invoiceStartDate. |
freeLineItemAmountInvalid_validation_message |
Amount for a free line item can't exceed 0. |
invoice.number.invalid.exceeds.maxlength.error |
Invoice number exceeds the maximum character limit. |
invoice.number.invalid.alpha.special.required.error |
Invalid invoice number. Please add at least one non-numerical character. |
invoice.validation.admin.user.not.setup.message |
Auto update user isn't set up or is incomplete for agency. |
|
|
Amount for <placementID> must be less than zero. |
invoice.validation.cannot.have.both.orders.and.lineitems.message |
Specify orders or line items for an invoice, not both. |
invoice.validation.duplicate.orders.message |
Invoice can't have duplicate order numbers. |
invoice.validation.duplicate.placements.message |
Invoice line items can't have duplicate placements. |
invoice.validation.duplicate.placements.message |
Invoice line items can't have duplicate placements. |
invoice.validation.exchange.rate.config.not.enabled |
Exchange rate configuration is not enabled. |
invoice.validation.exchange.rate.exceeds.maximum |
Exchange rate exceeds maximum of 999999999.9999999999. |
invoice.validation.exchange.rate.invalid |
Exchange rate is not valid. |
invoice.validation.exchange.rate.too.many.decimal.places |
Exchange rate exceeds maximum of 10 decimals. |
invoice.validation.future.invoice.date.message |
Invoice date can't be in the future. |
invoice.validation.invalid.client.message |
Client isn't valid. |
invoice.validation.invalid.number.message |
Invoice number isn't valid. |
invoice.validation.invalid.vendor.message |
Vendor isn't valid. |
invoice.validation.invoice.not.complete.message |
Invoice isn't complete. |
invoice.validation.itemized.order.no.line.items.message |
Itemized invoice has order(s) with no line items. |
|
|
Invoice should have at least one positive order. |
invoice.validation.missing.invoice.message |
Invoice is required. |
invoice.validation.missing.invoice.message |
Invoice is required. |
invoice.validation.missing.invoice.number.message |
Invoice number is required. |
invoice.validation.missing.line.bottomline.message |
No line items available to accept the amount or the available line items are either free or have a zero rate. Please remove the order. |
invoice.validation.missing.line.item.amount.message |
Line item amount is required. |
invoice.validation.missing.lineitems.in.one.or.more.order.message |
No line items available for one or more orders on this invoice. |
invoice.validation.missing.order.amount.message |
Order amount is required. |
invoice.validation.missing.order.message |
Order number is required. |
invoice.validation.missing.publisher.message |
Publisher is required. |
invoice.validation.mos.does.not.match.message |
No line items available for one or more orders on this invoice. |
invoice.validation.orders.multiple.clients.message |
Client on all orders linked to the invoice must be the same. |
invoice.validation.placements.required.message |
Placements are required. |
invoice.validation.too.many.decimal.places.message |
Maximum of 2 decimal places exceeded. |
invoice.validation.too.many.invoices.message |
Maximium of 10 invoices exceeded. |
invoice.validation.too.many.lineitems.message |
Maximum of 1000 line items per invoice exceeded. |
invoice.validation.too.many.orders.message |
Maximum of 50 orders per invoice exceeded. |
invoiceAgencyOrganizationPublicIdNotValid_message |
Agency organization public ID {0} must be the same as the order's media agency public ID. |
invoiceAmount_validation_message |
Invoice amount and order amount must be the same. |
invoiceAmountItemized_validation_message |
Invoice amount must be the same as the total for the line item amounts. |
invoiceClientsSameLocation_validation_message |
Clients must belong to the same location. |
invoiceDateInvalid_validation_message |
invoiceDate isn't valid. |
invoiceDateInvalid_validation_message |
invoiceStartDate isn't valid. |
invoiceDateInvalid_validation_message |
invoiceEndDate isn't valid. |
invoiceOrdersSameLocation_validation_message |
All orders should be for same location. |
invoiceProductNotValid_message |
Product isn't valid for this supplier/order. |
invoiceStartEndDateInvalid_validation_message |
invoiceStartDate and invoiceEndDate must be for the same month and year. |
invoiceTypeInvalid_validation_message |
Invoice type isn't valid. |
invoiceTypeRequired_validation_message |
Invoice type is required. |
missingBothMOSStartEndDate_validation_message |
One of monthOfService or invoiceStartDate/invoiceEndDate must be provided. |
missingInvoiceStartEndDate_validation_message |
invoiceStartDate is required if invoiceEndDate is provided. |
moreThanOneClient_validation_message |
Only one client can be specified. |
mosInvalid_validation_message |
Month of service isn't valid. |
multiAdvertiser_validation_message |
Order can only have one advertiser. |
multiOrder_validation_message |
Invoice can only have one order. |
multiProduct_validation_message |
Advertiser can only have one product. |
noOriginalInvoiceAvailable_validation_message |
No original invoice available for specified MOS. |
numeric1Billion_validation_message |
Amount exceeds maximum of 999,999,999.99. |
ordersRequired_validation_message |
At least one order must be provided. |
placementNumberNotValid_validation_message |
Placement number for one or more line items isn't valid. |
publisherTypeInvalid_validation_message |
Publisher type isn't valid. |
requestIdLength_validation_message |
Request ID length can't exceed 64 characters. |
requestIdRequired_validation_message |
Request ID is required. |
requestJsonInvalid_validation_message |
Request Json isn't valid. |
resourceNotAvailable_validation_message |
Resource isn't available. |
invoice.validation.invalid.supplier.message |
Supplier not valid. |
taxAmountMoreThanInvoiceAmount_validation_message |
Invoice tax amount can't exceed the invoice amount. |
unableToReserveInvoiceBuySystemUnknownErrorCode_message |
Unable to add the invoice to the buy system. |
uniquePublisher_validation_message |
Publisher must be unique accross invoices. |
Authentication
Authentication details for the request's header details.
Show authentication details + Hide authentication details -
| Step | Verification point | Failure response code |
|---|---|---|
| 1. | Request provides all the header details. | 401: Unauthorized |
| 2. | Organization is authorized to use the API key. | 403: Forbidden |
| 3. | Organization is authorized to access the agency group. | 403: Forbidden |
| 4. | User ID and password provided pass authentication. | 403: Forbidden |
| 5. | The version is invalid. | 410: Gone |
HTTP status, warning, and failure codes
Show HTTP codes + Hide HTTP codes -
| Code | Message | Description |
|---|---|---|
| 200 | OK |
Valid request - The request was processed. Information about the success or failure of any invoices sent is returned. Note: A 200 response will be returned even if none of the invoices in the request could be persisted. |
| 200 | OK |
Business validation - The request was processed but there were business validation failures and information concerning these is returned. |
| 400 | Bad request |
Invalid payload - The payload couldn't be processed. . |
| 400 | Bad request |
Request ID invalid - The request ID was either not provided in the payload or it was not valid (exceeded the maximum of 64 characters). The validation result is returned with the 400 code. |
| 404 | Resource not found |
A resource such as the database was not available. The validation result is returned with the code. |
| 422 | Unprocessable Entity |
The API could not process the request, or the request is semantically incorrect or the request failed business validation.The response includes details on the fields that have failed and the reason for failure. |
| 500 | Internal server error | An unexpected condition was encountered which prevented the request being fulfilled. This includes anything preventing the API from completing the request, including the expiration of the internal system password used to communicate to the system of origin. |
| 503 | Service Unavailable | The service is currently unavailable. |