-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Trying to use this in stitch - followed all instructions in Iterable to generate an API read-only key, it seemed to pass the connection test in Stitch. However, once the extractions starts, we get a 401 error. Please see the log below:
2024-04-02 17:11:05,123Z main - INFO Running tap-iterable version 1.0.1 and target-stitch version 3.2.1
2024-04-02 17:11:06,386Z main - INFO Starting tap to discover schemas: tap-env/bin/tap-iterable --config /tmp/tap_discover_config.json --discover
2024-04-02 17:11:06,545Z tap - INFO Starting discover
2024-04-02 17:11:06,559Z tap - INFO Finished discover
2024-04-02 17:11:06,580Z main - INFO Tap exited normally.
2024-04-02 17:11:06,584Z main - INFO Saving list of discovered streams
2024-04-02 17:11:06,674Z main - INFO Saving structure of stream lists (tap_stream_id: lists)
2024-04-02 17:11:06,698Z main - INFO Saving structure of stream list_users (tap_stream_id: list_users)
2024-04-02 17:11:06,713Z main - INFO Saving structure of stream campaigns (tap_stream_id: campaigns)
2024-04-02 17:11:06,728Z main - INFO Saving structure of stream channels (tap_stream_id: channels)
2024-04-02 17:11:06,746Z main - INFO Saving structure of stream message_types (tap_stream_id: message_types)
2024-04-02 17:11:06,766Z main - INFO Saving structure of stream templates (tap_stream_id: templates)
2024-04-02 17:11:06,788Z main - INFO Saving structure of stream metadata (tap_stream_id: metadata)
2024-04-02 17:11:06,801Z main - INFO Saving structure of stream email_bounce (tap_stream_id: email_bounce)
2024-04-02 17:11:06,816Z main - INFO Saving structure of stream email_click (tap_stream_id: email_click)
2024-04-02 17:11:06,834Z main - INFO Saving structure of stream email_complaint (tap_stream_id: email_complaint)
2024-04-02 17:11:06,848Z main - INFO Saving structure of stream email_open (tap_stream_id: email_open)
2024-04-02 17:11:06,861Z main - INFO Saving structure of stream email_send (tap_stream_id: email_send)
2024-04-02 17:11:06,875Z main - INFO Saving structure of stream email_send_skip (tap_stream_id: email_send_skip)
2024-04-02 17:11:06,889Z main - INFO Saving structure of stream email_subscribe (tap_stream_id: email_subscribe)
2024-04-02 17:11:06,913Z main - INFO Saving structure of stream email_unsubscribe (tap_stream_id: email_unsubscribe)
2024-04-02 17:11:06,929Z main - INFO Saving structure of stream users (tap_stream_id: users)
2024-04-02 17:11:06,975Z main - INFO Writing catalog to file
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream lists: id, name, createdAt, listType, description
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream list_users: email, listId, updatedAt
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream campaigns: updatedAt, startAt, recurringCampaignId, createdAt, campaignState, sendSize, createdByUserId, id, listIds, name, labels, workflowId, type, suppressionListIds, endedAt, updatedByUserId, messageMedium, templateId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream channels: id, name, channelType, messageMedium
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream message_types: id, name, channelId, createdAt, updatedAt, subscriptionPolicy
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream templates: templateId, createdAt, updatedAt, name, creatorUserId, messageTypeId, campaignId, clientTemplateId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream metadata: table, key, size, lastModified, value
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream email_bounce: campaignId, itblInternal, createdAt, recipientState, email, eventName, status, messageId, templateId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream email_click: campaignId, userAgent, url, country, userAgentDevice, itblInternal, city, createdAt, email, eventName, hrefIndex, contentId, region, ip, messageId, templateId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream email_open: campaignId, userAgent, country, userAgentDevice, itblInternal, city, createdAt, email, eventName, contentId, region, ip, proxySource, messageId, templateId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream email_send: campaignId, transactionalData, itblInternal, createdAt, email, espName, catalogCollectionCount, contentId, channelId, messageId, messageTypeId, messageBusId, templateId, productRecommendationCount, catalogLookupCount
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream email_subscribe: campaignId, signupSource, itblInternal, createdAt, profileUpdatedAt, email, channelIds, eventName, userId, workflowId, templateId, emailListIds, emailListId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream email_unsubscribe: campaignId, unsubSource, itblInternal, createdAt, recipientState, bounceMessage, email, channelIds, eventName, status, channelId, workflowId, messageId, templateId, emailListIds, emailListId
2024-04-02 17:11:07,007Z main - INFO Selected fields for stream users: offers.imageUrl, designation, totalOrderCount, itblInternal.emailDomain, installed_sync, lastKnownLatitude, invoice.invoiceNumber, Industry, hasMobileApp, favoriteCategories.category, readingList.imageUrl, highestBidPrice, devices.platform, offers.id, shoppingCartItems.price, devices.platformEndpoint, devices.applicationName, offers.quantity, devices, signupSource, acquisition_source, offers.intro APR, city, phoneNumberDetails.carrier, age, estimatedSizing, last_session_date, tagline, invoice, major, experience, shopppingCartTotal, offers.url, shoppingCartItems.quantity, invoice.invoiceDate, offers.description, CCProvider, onboardingCohort, loyalty_member, is_active, invoice.merchantName, phoneNumberDetails.updatedAt, user_type, timeZone, lastName, profileUpdatedAt, passively_seeking, phoneNumberDetails, job_categories_interested, invoice.customerName, lastAccessedAgent, gender, email, industry, offers.name, booked_activity_before, totalPurchases, should_receive_recommendation, phoneNumberDetails.countryCodeISO, totalOrders, favoriteCategories, shoppingCartItems.id, lastOrderrestaurant, favoriteCategory, readingList.bookName, favoriteItem, devices.token, phoneNumberDetails.lineType, invoice.customerEmail, name, level, locale, readingList.avgRating, current_employer, swingTrader_subscription, last_game_played, shoppingCartItems.name, userId, house Districts, location, readingList, invoice.customAmount, favorite_category, totalSpent, offers.Intro APR, firstName, loyalty_points, accessIp, region, offers.categories, invoice.totalDue, last_purchased_category, phoneNumber, featuredDeal, promoCode, streetAddress, shoppingCartItems, paid_user, type, state, lastOrderlocation, daysSinceLastOrder, vip, shoppingCartItems.sku, loyalty_program, last_purchased, merchantId, fb_follow, shoppingCartItems.description, total_playtime, unsubscribedMessageTypeIds, offers.sku, invoice.customSubTotal, shoppingCartItems.url, current_employer_id, shoppingCartItems.imageUrl, unsubscribedChannelIds, averageOrderValue, times_purchased, favoriteProduct, browserTokens, booked_package_before, job_title, lastKnownLongitude, is_available, zip, sat, times donated, shoppingCartItems.categories, devices.endpointEnabled, emailListIds, signupDate, offers, lifetime_Spent, readingList.bookAuthor
2024-04-02 17:11:07,011Z main - INFO Current state: {"currently_syncing": "list_users"}
2024-04-02 17:11:07,012Z main - INFO Starting tap: tap-env/bin/tap-iterable --config /tmp/tap_config.json --properties /tmp/properties.json --catalog /tmp/catalog.json --state /tmp/tap_state.json
2024-04-02 17:11:07,015Z main - INFO Starting target: target-env/bin/target-stitch --config /tmp/target_config.json
2024-04-02 17:11:07,180Z tap - INFO list_users: Starting sync
2024-04-02 17:11:07,181Z tap - INFO GET request to https://api.iterable.com/api/lists?
2024-04-02 17:11:07,304Z tap - INFO Response status:200
2024-04-02 17:11:07,307Z tap - INFO GET request to https://api.iterable.com/api/lists/getUsers?listId=3463081
2024-04-02 17:11:07,315Z target - INFO Using batch_size_prefernces of {'full_table_streams': [], 'batch_size_preference': None, 'user_batch_size_preference': None}
2024-04-02 17:11:07,401Z tap - INFO Response status:401
2024-04-02 17:11:07,406Z tap - INFO replicated 0 records from "list_users" endpoint
2024-04-02 17:11:07,406Z tap - CRITICAL HTTP-error-code: 401, Error: Invalid authorization credentials.
2024-04-02 17:11:07,406Z tap - Traceback (most recent call last):
2024-04-02 17:11:07,406Z tap - File "/code/orchestrator/tap-env/bin/tap-iterable", line 8, in
2024-04-02 17:11:07,406Z tap - sys.exit(main())
2024-04-02 17:11:07,406Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/singer/utils.py", line 235, in wrapped
2024-04-02 17:11:07,406Z tap - return fnc(*args, **kwargs)
2024-04-02 17:11:07,406Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/init.py", line 51, in main
2024-04-02 17:11:07,406Z tap - sync(client, parsed_args.catalog, state)
2024-04-02 17:11:07,406Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/sync.py", line 44, in sync
2024-04-02 17:11:07,406Z tap - counter_value = sync_stream(state, instance)
2024-04-02 17:11:07,406Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/sync.py", line 55, in sync_stream
2024-04-02 17:11:07,407Z tap - for (stream, record) in instance.sync(state):
2024-04-02 17:11:07,407Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/streams.py", line 114, in sync
2024-04-02 17:11:07,407Z tap - for item in res:
2024-04-02 17:11:07,407Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/iterable.py", line 98, in list_users
2024-04-02 17:11:07,407Z tap - users = [x for x in self._get(
2024-04-02 17:11:07,407Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/backoff/_sync.py", line 94, in retry
2024-04-02 17:11:07,407Z tap - ret = target(*args, **kwargs)
2024-04-02 17:11:07,407Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/iterable.py", line 66, in _get
2024-04-02 17:11:07,407Z tap - raise_for_error(response)
2024-04-02 17:11:07,407Z tap - File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_iterable/exceptions.py", line 65, in raise_for_error
2024-04-02 17:11:07,407Z tap - raise exc(message) from None
2024-04-02 17:11:07,407Z tap - tap_iterable.exceptions.IterableUnauthorizedError: HTTP-error-code: 401, Error: Invalid authorization credentials.
2024-04-02 17:11:07,426Z main - INFO State update: adding currently_syncing = "list_users"
2024-04-02 17:11:07,429Z target - INFO Requests complete, stopping loop
2024-04-02 17:11:07,462Z main - INFO Target exited normally with status 0
2024-04-02 17:11:07,465Z main - INFO No tunnel subprocess to tear down
2024-04-02 17:11:07,465Z main - INFO Exit status is: Discovery succeeded. Tap failed with code 1 and error message: "HTTP-error-code: 401, Error: Invalid authorization credentials.". Target succeeded.