Limits and restrictions

What limits are imposed on queries and number of sessions in the Allegro API?

In Allegro REST API (production and test) there is one main limit imposed on Client ID - 9000 requests per minute.

If the limit is exceeded:

  • the Client ID is blocked for a minute,
  • a response is returned with the following status: 429 Too Many Requests.

When the specified time limit expires, the access to the service from the Client ID is restored automatically.

Selected REST API resources have a mechanism that limits the number of requests submitted by a given user (user.id). We use the Leaky Bucket algorithm. If the user exceeds the number of requests per minute (RPM), the response time is extended. In the event of too many parallel requests submitted on behalf of the same user, the server will return HTTP error: 429 Too Many Requests. More - in our guide.


How many shipping price lists can I have on my account?

You can have up to 250 shipping price lists. You can edit your shipping price lists, but not delete them.

Authorization

Why do I receive “we can’t display the page” message with the error number, when I’m trying to get the 10 seconds code to authorization?

Make sure that the address you provided in redirect_uri is the same as the one you provided, when you registered the application. You can check and edit redirection addresses on page https://apps.developer.allegro.pl/. More - in our guide.


Why, when I try to get access token, I get “An authorization code must be supplied” in the response ?

The error indicates that you’re providing incorrect name of the code parameter in the URL, e.g.

https://allegro.pl/auth/oauth/token?grant_type=authorization_code&codee=385MTAI0BQ16ZXSPUQ33qCot27xqNH1j&redirect_uri=http://localhojst:8080/exhange_code

Or you don’t provide it at all. More - in our guide.


Why, when I try to get access token, in response I get “Full authentication is required to access this resource”?

Make sure you provide the correct URL - https://allegro.pl/auth/oauth/token?grant_type=authorization_code&code={code}&redirect_uri={redirect_uri}

More - in our guide.


In response I get status 401 Unauthorized / 403 Forbidden. What’s the cause?

Make sure that you’re authorized as a seller, who is the owner of offers, orders, etc (depending on which resource you use). In this case decode your token - enter “decode jwt token” into the search engine and verify the value user_name after providing your token on one of the available pages.

Verify, which type of authorization we require for selected resource. You will find this information in our documentation:

More - in our guide.


Why do I receive “Cannot convert access token to JSON” message?

Verify, if you used a token from the sandbox environment on the production or vice versa. More - in our guide.

Orders

I received only one event - READY_FOR_PROCESSING in the response for GET /order/events. Is this a bug?

No, you shouldn’t treat it as a bug. There must be at least one event for each order.


I received two different READY_FOR_PROCESSING events, but they apply to the same payment. Is this situation normal?

Yes, you can retrieve several events of the same type, in that situation you should check the order id in the checkoutForm object.


Can events occur in an unexpected order, e.g. I will receive FILLED_IN before BOUGHT?

Yes, you can receive events in random order.


I received FILLED_IN event in the event journal with a specific order id. When I try to provide this id via GET /order/checkout-forms/{id} I get status 404 in the response with the information that order was not found. What happened with this order?

In this case, the buyer made separate purchases and then combine them into one payment. You will receive a new event with new checkoutForm.id, previous checkoutForm.id will not be available anymore. To identify this situation you can rely on lineItem.id (if one lineItem.id appears in several orders, it means that buyer combined his purchases).


I received READY_FOR_PROCESSING event, so I start processing order. How can I verify that the buyer doesn’t meanwhile cancel the order?

When you changing the order fulfillment status via PUT /order/checkout-forms/{id}/fulfillment, use an optional parameter - checkoutForm.revision. You can retrieve it in the response for:

In this field, we inform about order revision. Owing to it you will be sure that you are changing the order fulfillment status (“fulfillment.status”), which exactly the same copy is in Allegro.w Allegro.

In this field, we inform about order revision. Owing to it you will be sure that you are changing the order fulfillment status (“fulfillment.status”), which exactly the same copy is in Allegro.


If I add tracking number via POST /order/checkout-forms/{id}/shipments will the order fulfillment status automatically change to SENT?

Order fulfillment status will automatically change to SENT only if the seller has a subscription enabled and select this option in settings in the Orders tab. In other cases, you need to do this manually via PUT /order/checkout-forms/{id}/fulfillment.


Can there be two different orders with the same checkout-form.id?

Checkout-form.id is unique. There won’t be two different orders with the same id.


How can I filter orders by assigned tracking numbers?

Use the fulfillment.shipmentSummary.lineItemsSent parameter in this case. You will find information on whether ordered items have a tracking number. Available values specify assigned tracking numbers to:

e.g. GET /order/checkout-forms?fulfillment.shipmentSummary.lineItemsSent=ALL - will return orders with a tracking number added to all items.

Listing and republishing offers

When I try to activate / republish offer I get “You cannot schedule activating an offer in the past” error. What does it mean?

In the “scheduledFor” field you provided date from the past. Provide date from the future or leave this field empty to solve this issue. More - in our guide.


How can I create a draft based on an active offer?

As a seller, who listed the offer, retrieve the active offer via GET /sale/offers/{offerId}. Transfer the whole structure with POST /sale/offers without the following data::

  • offer id(“id”),
  • last offer validation (“validatedAt”),
  • offer creation date (“createdAt”),
  • last offer update (updatedAt“)
  • “publication” section,

In effect you will create new draft based on the data from the offer, that you retrieved earlier. More - in our guide.


I got a message - “You cannot create new drafts - your account has exceeded the maximum number {maxInactiveOffers} of drafts.” - What should I do?

You received this message because you exceeded the limit of drafts (offers with the status “INACTIVE”). To solve this problem:

More - in our guide.


How many offers can I activate or end using PUT /sale/offer-publication-commands/{commandId}?

You can maximally activate or end 1000 offers.

Productization

Is it possible to retrieve more than one product by providing only one EAN?

Yes, this case may occur in some situations, e.g.:

  • specific laptops may have one EAN, but technical specification will be different for them, e.g. disc capacity,
  • in fashion category there could be one ean for multiple color variants of clothing,

That’s why we identify products not only by EAN, but also by its parameters. More - in our guide.

Multi-variant offers

Can I add offers from one multi-variant offer I created to another?

No, in this case you will receive an error that indicates that offers are already in another multi-variant set. You can add one or more offers that are part of an automatically created multi-variant offer.


How can I add offers from multi-variant offer I created to another multi-variant set - also created by me?

In this case use DELETE /sale/offer-variants/{setId} to separate offers from selected multi-variant offer. In the next step use PUT sale/offer-variants/{setId} to add these offers to another multi-variant offer.


Can I create a multi-variant offer before the offers are combined automatically?

Yes, provided that processing data about new offers was completed, before you send the request combining these offers. Otherwise, you will receive an error with the information that we are still processing offers from which you want to create multi-variant offer.


Can I create a multi-variant offer before activating the offers?

No, you will receive an error with the information offers which you provided can’t be found. Offers must be in ACTIVE status.


I did not save the ID of the multi-variant offer. How can I find it?

You can retrieve it via GET /sale/offer-variants?user.id={user.id}&query={query}. As a user.id value, provide the ID of the authorized seller who owns the multi-variant offer, as a query - name of the multi-variant offer or one of the IDs, which is included in the multi-variant offer.


What happens if I end offer that was included in the multi-variant offer and then activate it again?

Offer will be included again in the multi-variant offer.