Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a single product via ASIN #5

Open
zird0t opened this issue Jun 3, 2024 · 1 comment
Open

Add a single product via ASIN #5

zird0t opened this issue Jun 3, 2024 · 1 comment

Comments

@zird0t
Copy link

zird0t commented Jun 3, 2024

HI! Thanks for what you did. I was wondering: is it possible to completely exclude category searches, but add products directly via ASIN? I have readers who are only interested in a very narrow niche of products. Personally, I would add the ASIN list once a week, but there should be a method to schedule the posts.

@Piero24
Copy link
Owner

Piero24 commented Jun 3, 2024

Hi, No at the moment only category searching is supported. However, it is possible to modify the bot so that it searches for asin from a predefined list. It shouldn't be too complicated. You could use a function like this to send the request for specific asins:

def search_items_by_asin(access_key, secret_key, partner_tag, host, region, asin):

    item_property_dict = {}
    default_api = DefaultApi(access_key=access_key, secret_key=secret_key, host=host, region=region)
    item_ids = asin

    get_items_resource = [
        GetItemsResource.ITEMINFO_TITLE,
        GetItemsResource.OFFERS_LISTINGS_PRICE,
        GetItemsResource.IMAGES_PRIMARY_LARGE,
        GetItemsResource.OFFERS_LISTINGS_SAVINGBASIS,
        GetItemsResource.ITEMINFO_FEATURES,
        GetItemsResource.OFFERS_LISTINGS_PROMOTIONS,
        GetItemsResource.OFFERS_LISTINGS_CONDITION,
        GetItemsResource.OFFERS_LISTINGS_ISBUYBOXWINNER,
        GetItemsResource.OFFERS_SUMMARIES_LOWESTPRICE,
        GetItemsResource.OFFERS_SUMMARIES_HIGHESTPRICE,
        GetItemsResource.BROWSENODEINFO_BROWSENODES,
        GetItemsResource.BROWSENODEINFO_BROWSENODES_ANCESTOR,
        GetItemsResource.BROWSENODEINFO_BROWSENODES_SALESRANK,
        GetItemsResource.BROWSENODEINFO_WEBSITESALESRANK,
        GetItemsResource.ITEMINFO_BYLINEINFO,
        GetItemsResource.ITEMINFO_CLASSIFICATIONS,
        GetItemsResource.ITEMINFO_CONTENTINFO,
        GetItemsResource.ITEMINFO_CONTENTRATING,
        GetItemsResource.ITEMINFO_EXTERNALIDS,
        GetItemsResource.ITEMINFO_FEATURES,
        GetItemsResource.ITEMINFO_MANUFACTUREINFO,
        GetItemsResource.ITEMINFO_PRODUCTINFO,
        GetItemsResource.ITEMINFO_TECHNICALINFO,
        GetItemsResource.ITEMINFO_TRADEININFO,
        GetItemsResource.OFFERS_LISTINGS_AVAILABILITY_MAXORDERQUANTITY,
        GetItemsResource.OFFERS_LISTINGS_AVAILABILITY_MESSAGE,
        GetItemsResource.OFFERS_LISTINGS_AVAILABILITY_TYPE,
        GetItemsResource.OFFERS_LISTINGS_CONDITION,
        GetItemsResource.OFFERS_LISTINGS_AVAILABILITY_MINORDERQUANTITY,
        GetItemsResource.OFFERS_LISTINGS_CONDITION_SUBCONDITION,
        GetItemsResource.OFFERS_LISTINGS_DELIVERYINFO_ISAMAZONFULFILLED,
        GetItemsResource.OFFERS_LISTINGS_DELIVERYINFO_ISFREESHIPPINGELIGIBLE,
        GetItemsResource.OFFERS_LISTINGS_DELIVERYINFO_ISPRIMEELIGIBLE,
        GetItemsResource.OFFERS_LISTINGS_DELIVERYINFO_SHIPPINGCHARGES,
        GetItemsResource.OFFERS_LISTINGS_ISBUYBOXWINNER,
        GetItemsResource.OFFERS_LISTINGS_LOYALTYPOINTS_POINTS,
        GetItemsResource.OFFERS_LISTINGS_MERCHANTINFO,
        GetItemsResource.OFFERS_LISTINGS_PROGRAMELIGIBILITY_ISPRIMEEXCLUSIVE,
        GetItemsResource.OFFERS_LISTINGS_PROGRAMELIGIBILITY_ISPRIMEPANTRY,
        GetItemsResource.OFFERS_SUMMARIES_OFFERCOUNT,
        GetItemsResource.PARENTASIN,
        GetItemsResource.RENTALOFFERS_LISTINGS_AVAILABILITY_MAXORDERQUANTITY,
        GetItemsResource.RENTALOFFERS_LISTINGS_AVAILABILITY_MESSAGE,
        GetItemsResource.RENTALOFFERS_LISTINGS_AVAILABILITY_MINORDERQUANTITY,
        GetItemsResource.RENTALOFFERS_LISTINGS_AVAILABILITY_TYPE,
        GetItemsResource.RENTALOFFERS_LISTINGS_BASEPRICE,
        GetItemsResource.RENTALOFFERS_LISTINGS_CONDITION,
        GetItemsResource.RENTALOFFERS_LISTINGS_CONDITION_SUBCONDITION,
        GetItemsResource.RENTALOFFERS_LISTINGS_DELIVERYINFO_ISAMAZONFULFILLED,
        GetItemsResource.RENTALOFFERS_LISTINGS_DELIVERYINFO_ISFREESHIPPINGELIGIBLE,
        GetItemsResource.RENTALOFFERS_LISTINGS_DELIVERYINFO_ISPRIMEELIGIBLE,
        GetItemsResource.RENTALOFFERS_LISTINGS_DELIVERYINFO_SHIPPINGCHARGES,
        GetItemsResource.RENTALOFFERS_LISTINGS_MERCHANTINFO,
    ]

    try:
        get_items_request = GetItemsRequest(
            partner_tag=partner_tag,
            partner_type=PartnerType.ASSOCIATES,
            marketplace="www.amazon.it",
            condition=Condition.NEW,
            item_ids=item_ids,
            resources=get_items_resource,
        )
    except ValueError as exception:
        print("Error in forming GetItemsRequest: ", exception)
        return

    try:

        response = default_api.get_items(get_items_request)

        print("API called Successfully")
        # print("Complete Response:", response)
        return response

        if response.errors is not None:
            print("\nPrinting Errors:\nPrinting First Error Object from list of Errors")
            print("Error code", response.errors[0].code)
            print("Error message", response.errors[0].message)

    except ApiException as exception:
        print("Error calling PA-API 5.0!")
        print("Status code:", exception.status)
        print("Errors :", exception.body)
        print("Request ID:", exception.headers["x-amzn-RequestId"])

    except TypeError as exception:
        print("TypeError :", exception)

    except ValueError as exception:
        print("ValueError :", exception)

    except Exception as exception:
        print("Exception :", exception)

@Piero24 Piero24 changed the title Aggiungere un singolo prodotto tramite ASIN Add a single product via ASIN Jun 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants