Skip to main content
Understand Logs on Integrations

Learn how to access and understand integration logs in Swapcard to troubleshoot and audit data flows between systems effectively.

Updated this week

Swapcard collects and records various types of data related to integrations:

  • Structured log events from connectors:

    • Data flow

    • Errors

    • Calls to external system APIs

These data are useful for:

  • Monitoring and troubleshooting connectors

  • Performing audits

Accessing Logs

Integration logs can be accessed via the Swapcard Studio interface. Navigate to the specific integration page to view the connector logs.

Commons Error Logs

Firstname name is required for profile [Client ID] to be created

This error occurs when the connector is trying to create a profile without a first name. The first name is a required field for creating a profile in Swapcard.

Lastname name is required for profile [Client ID] to be created

This error occurs when the connector is trying to create a profile without a last name. The last name is a required field for creating a profile in Swapcard.

Email is required for profile [Client ID] to be created

This error occurs when the connector is trying to create a profile without an email address. The email address is a required field for creating a profile in Swapcard.

The email is not valid

This error occurs when the connector is trying to create a profile with an invalid email address. The email address must be in a valid format to create a profile in Swapcard.
Example of NOT valid email: john.doe@example or john@doe.cpm

The organization is invalid

This error occurs when the connector is trying to create a profile with an invalid organization. The organization must be a valid string to create a profile in Swapcard.
Usually happend when the organization is containing url or other invalid characters.

This email is already used by profile id [Event Profile ID] in the event

This error occurs when the connector is trying to create a profile with an email address that is already used by another profile in the same event. The email address must be unique for each profile in an event.

Cannot change user of an existing community profile. Client ID [Client ID] is used by event profile ID [Event Profile ID] which is linked to a different user with ID [User ID] (email: [User Email])

This error occurs when the connector is trying to update a profile with a different Client ID than the one who was orginally linked to the profile.

One option to resolved this issues is to enabled the force conflict ids option in the connector settings.

If you want to understand more about client id, please refer to the connectors documentation or contact the Swapcard support team.

Format

Log events are formatted in standard JSON format, like the example below:

{
    "event": "Log event type",
    "data": {
        // Specific data related to the event; this section is optional and varies by event.
    },
    "created": "Event creation timestamp in UTC",
    "connector_type": "Connector type",
    "connector_id": "Connector ID",
    "connector_name": "Connector name",
    "sync_id": "UUID of the Sync identifier"
}

FIELD

DESCRIPTION

event

Name of the event

level

Severity level of the event; can be info, warning, debug or error

data

Optional object holding data specific to the event type; varies by event

created

Timestamp of event creation in UTC

connector_type

Type of connector

connector_id

Identifier for the connector

connector_name

Name of the connector

sync_id

UUID serving as a sync identifier

Log Event Types

Event Type

DESCRIPTION

sync_started

Marks the start of a synchronization process with Swapcard

sync_end

Indicates the end of a synchronization process with Swapcard

connection_successful

Recorded when a connection attempt with an external system is successful

connection_failure

Logged when a connection attempt with an external system fails

api_call

API calls made to an external system the connector is interacting with

insert_data

Indicates data has been inserted into Swapcard during the sync process

update_data

Indicates data has been updated within Swapcard during the sync process

modify_data

Logged when data is modified in any way within Swapcard during the sync process

scan_badge

Recorded when a badge is scanned during the Visit connector sync process

Log Data Types

api_call

"data" : {
  "url": "https://api.example.com/data",
  "method": "GET",
  "body": null,
  "statusCode": 200,
  "isRetry": false,
  "retryAttempt": 0,
  "error": "Optional error message"
}

FIELD

DESCRIPTION

url

The endpoint URL

method

HTTP method used for the API call

body

Optional request body content

statusCode

HTTP status code of the response

isRetry

Indicates if the call was a retry

retryAttempt

Number of times the call was retried

error

Optional error message

sync_started

"data" : {
  "startedAt": "2023-05-10T12:34:56Z"
}

FIELD

DESCRIPTION

startedAt

Timestamp marking the start of sync

sync_end

"data" : {
  "endedAt": "2023-05-10T13:34:56Z"
}

FIELD

DESCRIPTION

endedAt

Timestamp marking the end of sync

connection_successful

"data" : {
  "id": "12345",
  "message": "Connection established successfully"
}

FIELD

DESCRIPTION

id

Unique identifier for the connection

message

Description of the connection status

connection_failure

"data" : {
  "id": "12345",
  "message": "Failed to establish connection"
}

FIELD

DESCRIPTION

id

Unique identifier for the connection

message

Description of the connection status

insert_data for people

"data" : {
  "destination": "people",
  "record": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "clientId": "12345"
  },
  "error": "Optional error message"
}

FIELD

DESCRIPTION

destination

Destination for the data insertion. Choices include: PEOPLE, SESSION, EXHIBITOR, ITEM, DOCUMENT_OR_LINK

record

Contains firstName, lastName, email, and clientId

error

Optional error message if the data insertion fails

insert_data for exhibitor

"data" : {
  "destination": "exhibitor",
  "record": {
    "name": "Expo Center",
    "clientId": "67890"
  },
  "error": "Optional error message"
}

FIELD

DESCRIPTION

destination

Destination for the data insertion specific to exhibitors.

record

Contains name and clientId for the exhibitor

error

Optional error message if the data insertion fails

update_data for people

"data" : {
  "destination": "PEOPLE",
  "record": {
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "jane.smith@example.com",
    "clientId": "54321"
  },
  "error": "Optional error message"
}

FIELD

DESCRIPTION

destination

Destination for the data update. Choices include: PEOPLE, SESSION, EXHIBITOR, ITEM, DOCUMENT_OR_LINK

record

Contains firstName, lastName, email, and clientId

error

Optional error message if the data update fails

modify_data for people

"data" : {
  "destination": "people",
  "operationType": "REPLACED_OR_INSERTED",
  "record": {
    "firstName": "Alice",
    "lastName": "Johnson",
    "email": "alice.johnson@example.com",
    "clientId": "98765"
  },
  "count": 1,
  "error": "Optional error message"
}

FIELD

DESCRIPTION

destination

Destination for the data modification. Choices include: PEOPLE, SESSION, EXHIBITOR, ITEM, DOCUMENT_OR_LINK

operationType

Type of operation performed on the data, e.g., REPLACED_OR_INSERTED

record

Contains firstName, lastName, email, and clientId

count

Number of records affected by the modification

error

Optional error message if the data modification fails

scan_badge (Only for Visit connector)

"data" : {
  barcodeScanned: 'y1kcg0n8e6d',
  requester: {
    id: 'Q29tbXVuaXR5UHJvZmlsZV8zNzAzNjQ2Ng==',
    firstName: 'John',
    lastName: 'Doe',
    email: 'test@test.com'
  },
  error: "{\"errorCode\":\"unprocessableEntity\",\"errors\":[{\"description\":\"Invalid code provided\",\"error\":\"invalid\",\"field\":\"code\"}]}\",
  connectionCommunityProfileId: "Q29tbXVuaXR5UHJvZmlsZV8yMzk1NzUw"
}

FIELD

DESCRIPTION

barcodeScanned

The scanned barcode value

requester.id

The unique identifier of the requester

requester.firstName

The first name of the requester

requester.lastName

The last name of the requester

requester.email

The email address of the requester

error

The error message returned by VISIT API in JSON format

connectionCommunityProfileId

The community profile identifier of the badge being scanned

Data Retention

Swapcard retains integration logs for a period of 30 days. After this period, the logs are automatically deleted.

Troubleshooting

If you encounter any issues with integration logs, please contact the Swapcard support team for assistance.

Did this answer your question?