Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Technical constraints

For the Courses API, for performance reasons due to performance recommendations provided by Udemy set the page_size parameter up to <= 20.

A sleep time can be set between calls to make sure the API responds without major issues every time. Preliminary tests show that a sleep time of 2000 milliseconds performs well.

...

The udemy connector uses PDP native backoff policy for retrying requests, by default the backoff policy is set to Exponential with an initial delay of 2 seconds and up to 3 retries before failing the connection.

API Documentation

The Udemy Business API documentation can be found in the following url: https://udemy.app.box.com/s/uwa9onfjh6y3kousfqss72ufdit38iz8.

...

Connector configuration:

{
  "seed": {
    "scanurl": {"https://fuseuniversal.udemy.com/api-2.0/organizations/175528/courses/list/",
      "fieldspageSize": {
   20,
    "idfields": "id@all",
    "connection": {
  "hash": [   "readTimeout": "10s",
      "idconnectTimeout",: "10s"
    },
    "urlbackoffPolicy",: {
      "initialDelay":   "last_update_date""2s",
      "retries": 3
]    }
  },
  "name": "Udemy Seed",
  "sleepTimecredentialId": 2000"fac719f6-82a5-45b5-910b-d691104d6b20",
  "type": "udemy-connector",
 }, "batchSize": 20,
  "urlpipelineId": "https://fuseuniversal.udemy.com/api-2.0/organizations/175528/courses/list/4bd59108-c01c-4a3d-a96d-c4f4abd0c22b",
    "prefixidPrefix": "udemy",
    "pageSize": 20,
    "connectTimeout": 5000,
    "readTimeout": 5000
  },
  "name": "Udemy Seed",
  "credentialId": "fac719f6-82a5-45b5-910b-d691104d6b20",
  "type": "udemy-connector",
  "batchSize": 20,
  "pipelineId": "4bd59108-c01c-4a3d-a96d-c4f4abd0c22b"
}

Configuration parameters:

seed.url

(Required, String) URL used to fetch courses from Udemy API.

seed.prefix

...

}

Configuration parameters:

seed.url

(Required, String) URL used to fetch courses from Udemy API.

seed.pageSize

(Optional, Integer) Number of courses to retrieve from Udemy. Defaults to 20. Udemy recommends a value <= up to 20.

seedclient.connection.connectTimeout

(Optional, Integer) Number of milliseconds to time out a connectionDuration) A duration to tell wait before considering the HTTP connection to timeout. Defaults to 10000 10s.

seedclient.connection.readTimeout

(Optional, Integer) Number of milliseconds to time out a readDuration) A duration to tell wait before considering the HTTP connection read to timeout. Defaults to 10000 10s.

seedclient.scanbackoffPolicy.fields.idinitialDelay

(Optional, String) Field containing the course identifier within the JSON response.

seed.scan.fields.hash

(Optional, List) List of fields to be used for incremental detection hashing.

seed.scan.fields.fetch

(Optional, String|List) List of fields to fetch from Udemy API. Defaults to @all which retrieves every field available. See Udemy API reference for predefined field list available such as @min, @default, and@all.

seed.scan.sleepTime

(Optional, Integer) Number of milliseconds to wait before sending a new request to the Udemy APIDuration) A duration to tell the wait before retrying connecting to Udemy API. Defaults to 2s.

client.backoffPolicy.retries

(Optional, Integer) An integer to tell the number of retries a connection to the Udemy API would take before considering the API not available.. Defaults to 3.

fields

(Optional, String). Accepts the following field lists @min, @default, and @all. Defaults to @all. Refer to your Udemy Business API documentation for a detailed list of fields associated to each type.

Connector outcome

Below you can find a sample from the connector outcome.

...