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.

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

Which resources will help me to migrate orders from WebAPI to REST API?

In REST API we have provided mapping for selected WebAPI values, which allows you to maintain continuity in order processing:

  • GET /order/line-item-id-mappings enables you to map purchase identifier dealId (received via doGetSiteJournalDeals) to the purchase act identifier lineItemId (received via GET /order/checkout-forms or GET /order/events. Thanks to the lineItemsId you can locate the event related to dealId, which will help you to associate event from old and new journal.

  • GET /payments/payment-id-mappings - allows you to map transaction identifier transactionId (dealTransactionId - you can receive dealTransactionId using doGetTransactionsIDs) to the payment identifier paymentId.

    • Provide the value you received as a parameter for GET /order/checkout-forms?payment.id={payment.id}. In response you will get order related to the provided payment identifier.
    • Remember that transactionId and paymentId are available when the customer filled in the shipping form. This means you do not have to wait until the payment is complete.

You will find more information about order management in our tutorial.


Why specific status can occur more than once in the event journal?

Allegro operates on a dispersed structure, so one status can occur more than once. In case of FILLED_IN status - additional event will appear for canceled payment. Next READY_FOR_PROCCESING events are generated by buyers actions like surcharge or combined payment. More - in our guide.


What is the date of the latest order, which can I retrieve by GET /order/checkout-forms and similarly - latest event for GET /order/events??

GET /order/checkout-forms return orders from last 180 days, GET /order/events - events from last 60 days. More - in our guide.

How can I change the order fulfillment status, e.g. to sent?

Use PUT order/checkout-forms/{checkoutFormId}/fulfillment. You will find more information in our guide.

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.

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.