Pular para o conteúdo

List the ad campaigns of the merchant

GET
/v1/ads/{marketplace}/campaigns
curl --request GET \
--url 'https://open-api.live.gobots.com.br/v1/ads/meli/campaigns?stores=st_0Q7pXmT2bK9wLf3ZrN1cVd&status=active' \
--header 'Authorization: Bearer <token>'
marketplace
required
string
Allowed values: meli amazon magalu shopee viavarejo b2w whatsapp qa tiktok

Marketplace of the Ads account. Only meli has an adapter in v1; the others answer 501.

If-None-Match
string

The ETag of a previously fetched representation; a match answers 304 with no body.

stores
Array<string>
<= 50 items

Opaque store ids to restrict the answer to, at most 50. An id that matches no store of this merchant answers 404. Defaults to every store of the merchant.

Example

?stores=st_0Q7pXmT2bK9wLf3ZrN1cVd
status
Array<string>
Allowed values: active paused ended

Campaign statuses to keep. Defaults to every status.

Example

?status=active
limit
integer
>= 1 <= 500

Rows per page, 1 to 500. Defaults to 50.

cursor
string

Opaque page marker from meta.next_cursor, bound to the exact query that issued it. Changing any parameter other than limit, or waiting too long, answers 400 invalid_cursor.

The campaigns, ordered by status, name and id.

Media typeapplication/json
object
campaigns
required
Array<object>
object
id
required

The marketplace’s own campaign id.

string
marketplace
required
string
Allowed values: meli amazon magalu shopee viavarejo b2w whatsapp qa tiktok
store_id
required

Opaque store id.

string
advertiser_id
required
string | null
name
required
string
status
required
string
Allowed values: active paused ended
budget
required
One of:
object
amount
required

Decimal string, null when the marketplace sets it automatically.

string | null
currency
required
string
automatic
required
boolean | null
strategy
required
One of:
object
type
required
One of:
string
Allowed values: profitability increase visibility
acos_target
required

Decimal string, a ratio in [0,1].

string | null
roas_target
required
string | null
gobots
required
object
managed
required

Whether GoBots automation manages this campaign.

boolean
automation
required
One of:
object
roas_target
required
string | null
metrics
required
One of:

A campaign’s current metric snapshot, or one bucket of a metric series. Ratios are decimal strings. A metric the origin did not send is absent, never zero. In a series every ratio is re-derived from the bucket’s sums (4 decimals, money 2) and is absent when its denominator is zero; share_of_voice is present on day buckets only.

object
spend
object
amount
required

Decimal string.

string
currency
required

ISO 4217, uppercase.

string
impressions
integer format: int64
clicks
integer format: int64
ctr
string
cpc
object
amount
required

Decimal string.

string
currency
required

ISO 4217, uppercase.

string
attributed_sales
object
amount
required

Decimal string.

string
currency
required

ISO 4217, uppercase.

string
acos
string
roas
string
remote_data
required

Marketplace-specific fields, keyed by marketplace and then by a documented key. Campaign: channel. Campaign metrics: share_of_voice (decimal string, a ratio in [0,1]). Ad group: status (the marketplace’s own), ad_group_type. Opportunity: action (an action outside the published set).

object
key
additional properties
object
key
additional properties
string
created_at
required
string | null format: date-time
updated_at
required
string | null format: date-time
remote_data
required

Marketplace-specific fields, keyed by marketplace and then by a documented key. Campaign: channel. Campaign metrics: share_of_voice (decimal string, a ratio in [0,1]). Ad group: status (the marketplace’s own), ad_group_type. Opportunity: action (an action outside the published set).

object
key
additional properties
object
key
additional properties
string
meta
required
object
next_cursor
required

Cursor of the next page, or null when the collection ends here.

string | null
status
string
Allowed values: partial
warnings
Array<string>

Example

{
"campaigns": [
{
"marketplace": "meli",
"status": "active",
"strategy": {
"type": "profitability"
},
"metrics": {
"spend": {
"amount": "250.0"
},
"cpc": {
"amount": "250.0"
},
"attributed_sales": {
"amount": "250.0"
}
}
}
],
"meta": {
"status": "partial"
}
}
RateLimit-Policy
required
string

The policies that apply to this endpoint group, as draft-ietf-httpapi-ratelimit-headers policy members: "<group>";q=<quota>;w=<window seconds>.

RateLimit
required
string

The state of the endpoint group’s window: "<group>";r=<remaining>;t=<seconds to reset>.

ETag
required
string

Strong validator of the representation.

The representation is unchanged. The request still counts as one request.

ETag
required
string

Strong validator of the representation.

RateLimit-Policy
required
string

The policies that apply to this endpoint group, as draft-ietf-httpapi-ratelimit-headers policy members: "<group>";q=<quota>;w=<window seconds>.

RateLimit
required
string

The state of the endpoint group’s window: "<group>";r=<remaining>;t=<seconds to reset>.

The marketplace or a query parameter carries a value the contract does not accept (invalid_request), the period exceeds the maximum (period_too_long), or the cursor is expired or was not issued for this query (invalid_cursor).

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}
RateLimit-Policy
required
string

The policies that apply to this endpoint group, as draft-ietf-httpapi-ratelimit-headers policy members: "<group>";q=<quota>;w=<window seconds>.

RateLimit
required
string

The state of the endpoint group’s window: "<group>";r=<remaining>;t=<seconds to reset>.

The API key is missing, malformed, unknown, revoked or expired.

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}
WWW-Authenticate
string

Bearer challenge for the API realm.

The merchant does not have the Open API add-on active.

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}

The resource, or a requested store, is not this merchant’s or does not exist; the two are indistinguishable.

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}
RateLimit-Policy
required
string

The policies that apply to this endpoint group, as draft-ietf-httpapi-ratelimit-headers policy members: "<group>";q=<quota>;w=<window seconds>.

RateLimit
required
string

The state of the endpoint group’s window: "<group>";r=<remaining>;t=<seconds to reset>.

The requests-per-minute limit of the endpoint group was exceeded (rate_limited), or the monthly request quota of the merchant is exhausted (quota_exceeded).

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}
RateLimit-Policy
required
string

The policies that apply to this endpoint group, as draft-ietf-httpapi-ratelimit-headers policy members: "<group>";q=<quota>;w=<window seconds>.

RateLimit
required
string

The state of the endpoint group’s window: "<group>";r=<remaining>;t=<seconds to reset>.

Retry-After
required
integer

Seconds to wait before retrying, per RFC 9110.

The route or marketplace is published but its adapter is not available yet.

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}
RateLimit-Policy
required
string

The policies that apply to this endpoint group, as draft-ietf-httpapi-ratelimit-headers policy members: "<group>";q=<quota>;w=<window seconds>.

RateLimit
required
string

The state of the endpoint group’s window: "<group>";r=<remaining>;t=<seconds to reset>.

The upstream source is unavailable. When the merchant’s entitlement could not be resolved the request is refused before rate limiting, so the RateLimit headers are absent.

Media typeapplication/json
object
code
required

Stable machine readable error code.

string
message
required

Human readable explanation. Never carries raw upstream text.

string
retry_after

Seconds to wait before retrying.

integer
limit

Limit that was exceeded.

integer
remaining

Remaining allowance in the current window.

integer

Example generated

{
"code": "example",
"message": "example",
"retry_after": 1,
"limit": 1,
"remaining": 1
}
RateLimit-Policy
string

As the RateLimit-Policy response header; absent when entitlement could not be resolved.

RateLimit
string

As the RateLimit response header; absent when entitlement could not be resolved.