Metadata-Version: 1.0
Name: amazonadapi
Version: 1.0.2
Summary: A client for interacting with the Amazon Ad API.
Home-page: https://github.com/barce/amazonadapi
Author: Jim Barcelona, Arun Suresh
Author-email: barce@me.com, arunvsuresh@gmail.com
License: LICENSE
Description: # amazonadapi
        Client for the Amazon Ad API
        
        # Notes:
        # 
        # The Amazon Ad API pulls only the IDs for each ad tech object.
        # E.G. client.get_orders('AD_ID') just returns the order IDs.
        # Take the array of order IDs and call client.get_order('ORDER_ID').
        # 
        order_ids = client.get_orders('AD_ID')
        for order_id in order_ids:
          order = client.get_order(order_id)
        
        
        # FOR ETL or automated job servers, e.g. SMP, use the following to initialize:
        from amazonadapi import AmazonClient
        import os
        client = AmazonClient()
        client.refresh_token = os.environ['AMZN_REFRESH_TOKEN']
        client.auto_refresh_token()
        client.set_region()
        client.get_profiles()
        client.profile_id = 'BE_SURE_TO_SET_THIS_FOR_YOUR_ORGANIZATION'
        client.get_advertisers()
        client.get_orders('AD_ID')
        client.get_order('ORDER_ID')
        
        # Sample code for using browser and command-line to auth:
        from amazonadapi import AmazonClient
        client = AmazonClient()
        client.cli_auth_dance()
        client.get_profiles()
        client.profile_id = 'BE_SURE_TO_SET_THIS'
        
        
        # create an order
        order = AmazonOrder()
        
        order.advertiserId = '3678742709207'
        order.name = 'amazon api test {}'.format(time.time())
        order.startDateTime = 1511909961000 # unix time * 1000
        order.endDateTime = 1512514761000   # unix time * 1000
        
        hash_order = {"object": {
            "advertiserId": {
              "value": order.advertiserId
            },
            "name": order.name,
            "startDateTime": order.startDateTime,
            "endDateTime": order.endDateTime,
            "deliveryActivationStatus": order.status
            }
        }
        
        created_order = client.create_order(hash_order)
        
        # create a line item
        line_item = AmazonLineItem()
        line_item.orderId = 'ORDER_ID'
        line_item.advertiserId = 'AD_ID'
        line_item.name = 'Test API Line Item Creation'
        
        # types: NON_GUARANTEED_DISPLAY,NON_GUARANTEED_MOBILE_APP,NON_GUARANTEED_VIDEO
        line_item.type = 'NON_GUARANTEED_DISPLAY'
        
        line_item.startDateTime = 1506873006000
        line_item.endDateTime = 1507045806000
        line_item.status = 'INACTIVE'
        line_item.budget['amount'] = 100
        line_item.budget['deliveryProfile'] = 'FRONTLOADED'
        line_item.budget['deliveryBuffer'] = 1
        
        # recurrenceTypes: DAILY, MONTHLY, LIFETIME
        line_item.deliveryCaps.append({'amount': 0.9, 'recurrenceType': 'DAILY'})
        
        hashline_item = {"object": {
            "orderId": {
              "value": line_item.orderId
            },
            "advertiserId": {
              "value": line_item.advertiserId
            },
            "name": line_item.name,
            "type": line_item.type,
            "startDateTime": line_item.startDateTime,
            "endDateTime": line_item.endDateTime,
            "deliveryActivationStatus": line_item.status,
            "budget" : line_item.budget,
            "deliveryCaps" : line_item.deliveryCaps
        
          }
        }
        
        result = client.create_line_item(hashline_item)
        client.create_line_item(hashline_item)
        
        
Platform: UNKNOWN
