Trying to connect Skyvia to Higher Logic API

  • 62Views
  • Last Post 2 weeks ago
0
votes
Steven Galindo posted this 12 August 2022

I was trying to create a Rest connector between Skyvia and Higher Logic but don't know the format for the metadata. Could you please help me?. Here is some documentation abput the api : Higher Logic Create External Activity API.

With postman I was sending something like this in the body :

{ "LegacyActivityTypeKey": "xxxxxxxxxxxx", "LegacyContactKey": "xxxxxxxxxxxxxxx", "ActivityDateTime": "2022-07-21T15:00:03.5474092Z", "ActivityTitle": "This is only for testing purposes" }
And in the Headers :
HLIAMKey : xxxxxxxx
HLPassword : xxxxxxxx
Content-Type : application/json

Order By: Standard | Newest | Votes
0
votes
Yevheniia Bilotserkovska posted this 15 August 2022

Hello Steven,

Please find the examples below.

Metadata for the REST connection has to be passed in the following format:

{: "ProviderConfiguration" : ... }, "Metadata" : [ ... ] }



In the ProviderConfiguration block, the connection settings are described (including Headers). This block is allowed to be empty in some cases.

Metadata contains the specific API endpoints description ( URL, the list of columns with data types, supported methods for example GET, POST, etc. have to be specified for each endpoint)
Headers inside the ProviderConfiguration block has the following format:

{ "ProviderConfiguration" : { "Headers" : [ { "Key":"X-API-Version", "Value" : 2 } ] }, ...



If you need to add several headers, the key-value couples are listed in the Headers array separated with commas:


"Headers" : [

{ "Key":"X-API-Version", "Value" : 2 },
{ "Key":"Authorization", "Value" : "Bearer 1254fhr545fr" }
]


Should you have any questions, please contact us back.

 

Best regards,

Yevheniia Bilotserkovska

0
votes
Steven Galindo posted this 3 weeks ago

Hi, 

I was able to create the rest connection with Higher Logic site, however when I tried to send an import  integration (From Salesforce to Higher Logic) I'm not able to send the import, the history said Succeeded and 0 rows Succeeded.

this is how I'm sending the Metadata: 

{
  "ProviderConfiguration": {
    "Headers": [
      {
        "Key": "HLIAMKey",
        "Value": "XXXXXXXXXXXX"
      },
      {
        "Key": "HLPassword",
        "Value": "XXXXXXXXXXXXXX"
      },
      {
        "Key": "Content-Type",
        "Value": "application/json"
      }
    ]
  },
  "Metadata": [
    {
      "Name": "ExternalActivity",
      "Url": "/api/v2.0/ExternalActivity/Create",
      "Columns": [
        {
          "Name": "ExternalActivityTypeKey",
          "APIPath": "ExternalActivityTypeKey",
          "DbType": "String"
        },
        {
          "Name": "LegacyActivityTypeKey",
          "APIPath": "LegacyActivityTypeKey",
          "DbType": "String"
        },
        {
          "Name": "ContactKey",
          "APIPath": "ContactKey",
          "DbType": "String"
        },
        {
          "Name": "LegacyContactKey",
          "APIPath": "LegacyContactKey",
          "DbType": "String"
        },
        {
          "Name": "ActivityDateTime",
          "APIPath": "ActivityDateTime",
          "DbType": "Date"
        },
        {
          "Name": "ActivityTitle",
          "APIPath": "ActivityTitle",
          "DbType": "String"
        },
        {
          "Name": "ActivityDetails",
          "APIPath": "ActivityDetails",
          "DbType": "String"
        },
        {
          "Name": "ActivityUrl",
          "APIPath": "ActivityUrl",
          "DbType": "String"
        },
        {
          "Name": "LegacyActivityKey",
          "APIPath": "LegacyActivityKey",
          "DbType": "String"
        },
        {
          "Name": "Date1",
          "APIPath": "Date1",
          "DbType": "Date"
        },
        {
          "Name": "Date2",
          "APIPath": "Date2",
          "DbType": "Date"
        },
        {
          "Name": "Date3",
          "APIPath": "Date3",
          "DbType": "Date"
        },
        {
          "Name": "Number1",
          "APIPath": "Number1",
          "DbType": "Decimal"
        },
        {
          "Name": "Number2",
          "APIPath": "Number2",
          "DbType": "Decimal"
        },
        {
          "Name": "Number3",
          "APIPath": "Number3",
          "DbType": "Decimal"
        },
        {
          "Name": "Text1",
          "APIPath": "Text1",
          "DbType": "String"
        },
        {
          "Name": "Text2",
          "APIPath": "Text2",
          "DbType": "String"
        },
        {
          "Name": "Text3",
          "APIPath": "Text3",
          "DbType": "String"
        }
      ],
      "InsertOperation": {
        "UrlSuffix": "/",
        "Method": "POST"
      }
    }
  ]
}


There must be something wrong with the metadata JSON. Could you please help me to go through it?.
This is the API documentation : https://api.higherlogic.com/Help/Api/POST-api-v2.0-ExternalActivity-Create
Run History
Skyvia rest connection

0
votes
Yevheniia Bilotserkovska posted this 2 weeks ago

Hello Steven.

Thank you for contacting us.

We will check your metadata with our developers team and provide you a feedback.

Also could you please describe your scenario in more details? What do you need to get in result? With this information we could check your mapping for the possible issues. Also would be great if you could share with us CSV-file with data you are trying to import.

We are looking forward to your reply.

Best regards,

Yevheniia Bilotserkovska.

0
votes
Steven Galindo posted this 2 weeks ago

Hi, Thanks in advance

I was trying to import data from a salesforce org to the higher logic site using their Post endpoint. I was able to insert data into the higher logic site through postman with the same data I used in the import integration in skyvia. The result should be that a new record is inserted in the higher logic site.

the data I'm trying to insert is hardcoded and the higher logic API only needs 2 parameters to be successful: LegacyActivityTypeKey and LegacyContactKey

0
votes
Yevheniia Bilotserkovska posted this 2 weeks ago

Hello Steven.    

Thank you for your feedback.  

As we see, you took 1 record from the source where ContactId = 0032A00002YnJ92QAF and you tried to create a new record in the target where the LegacyActivityTypeId field will be equal to a003j00000U5NjzAAF.    

The Inserted filter imports records created since the previous package run (or package creation, if the package was never run).
We assume the reason is that a record with this Id was created before the package was run.    

In this case, we would recommend you to select the State filter value All, save and run the package again.
You can find details about creating Import task here https://docs.skyvia.com/data-integration/import/how-to-create-import-task.html    

Please try and let us know the result.  

Best regards,

Yevheniia Bilotserkovska

Close