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.

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.