Calendarific (Independent Publisher) (#2618)

* Init Calendarific

* Create Calendarific
This commit is contained in:
Andras Fordos 2023-05-25 18:11:57 +02:00 коммит произвёл GitHub
Родитель 727fb58bec
Коммит 3461f0b7d0
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 401 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,352 @@
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "Calendarific",
"description": "Calendarific is a developer-friendly, worldwide service giving you access to public, local & bank holidays and observances; and spanning over 230 countries, 3,300+ states and 100+ languages.",
"contact": {
"name": "Fördős András",
"email": "fordosa90+ipc_calendarific@gmail.com"
}
},
"host": "calendarific.com",
"basePath": "/api/",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/api/v2/holidays": {
"get": {
"summary": "List Holidays",
"description": "List local & bank holidays and observances based on provided filter criteria.",
"operationId": "ListHolidays",
"parameters": [
{
"name": "country",
"in": "query",
"type": "string",
"required": true,
"x-ms-summary": "Country",
"description": "Country filter, must be in ISO-3166 format."
},
{
"name": "year",
"in": "query",
"type": "string",
"required": true,
"x-ms-summary": "Year",
"description": "The year to return the holidays for. Both past and future years are supported, check documentation."
},
{
"name": "day",
"in": "query",
"type": "string",
"x-ms-summary": "Day",
"description": "Limits the results to a specific day. Must be a number between [1..31].",
"x-ms-visibility": "advanced"
},
{
"name": "month",
"in": "query",
"type": "string",
"x-ms-summary": "Month",
"description": "Limits the results to a specific day. Must be a number between [1..12].",
"x-ms-visibility": "advanced"
},
{
"name": "location",
"in": "query",
"type": "string",
"x-ms-summary": "Location",
"description": "In addition to country, limits the results to a state/county/region described by ISO-3166 format, such as 'us-ny'.",
"x-ms-visibility": "advanced"
},
{
"name": "type",
"in": "query",
"type": "string",
"x-ms-summary": "Type",
"description": "Limits the results to a specific holiday type.",
"x-ms-visibility": "advanced",
"enum": [
"local",
"national",
"religious",
"observance"
]
},
{
"name": "language",
"in": "query",
"type": "string",
"x-ms-summary": "Language",
"description": "Returns the name of the holiday in defined language if possible, based on ISO639 code, such as 'fr'.",
"x-ms-visibility": "advanced"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"holidays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the holiday or observance.",
"title": "Name"
},
"description": {
"type": "string",
"description": "Description of the holiday.",
"title": "Description"
},
"country": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the country.",
"title": "ID"
},
"name": {
"type": "string",
"description": "Name of the country.",
"title": "Name"
}
},
"description": "Details of requested country.",
"title": "Country"
},
"date": {
"type": "object",
"properties": {
"iso": {
"type": "string",
"description": "Date of the holiday in yyyy-mm-dd format.",
"title": "ISO"
},
"datetime": {
"type": "object",
"properties": {
"year": {
"type": "integer",
"format": "int32",
"description": "Year of the holiday in YYYY format.",
"title": "Year"
},
"month": {
"type": "integer",
"format": "int32",
"description": "Month of the holiday within year, starting from 1.",
"title": "Month"
},
"day": {
"type": "integer",
"format": "int32",
"description": "Day of the holiday within month, starting from 1.",
"title": "Day"
}
},
"description": "Datetime details of the holiday.",
"title": "Datetime"
}
},
"description": "Date details of the holiday.",
"title": "Date"
},
"type": {
"type": "array",
"items": {
"type": "string"
},
"description": "Type(s) of holiday or observance, returned in an array.",
"title": "Type"
},
"primary_type": {
"type": "string",
"description": "Primary type of the holiday or observance.",
"title": "Primary type"
},
"canonical_url": {
"type": "string",
"description": "Specific URL containing more details about the holiday or observance.",
"title": "Canonical URL"
},
"locations": {
"type": "string",
"description": "List of location codes, observing this holiday.",
"title": "Locations"
}
}
},
"description": "Array of resulting holidays.",
"title": "Holidays"
}
}
}
}
}
}
}
}
},
"/api/v2/languages": {
"get": {
"summary": "List Languages",
"description": "List all supported languages and their details.",
"operationId": "ListLanguages",
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL containing relevant documentation.",
"title": "URL"
},
"languages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "ISO Code of the language.",
"title": "Code"
},
"name": {
"type": "string",
"description": "Name of the language.",
"title": "Name"
},
"nativeName": {
"type": "string",
"description": "Native name or names of the languages.",
"title": "Native name"
}
}
},
"description": "Array of supported languages.",
"title": "Languages"
}
}
}
}
}
}
}
}
},
"/api/v2/countries": {
"get": {
"summary": "List Countries",
"description": "List all supported countries and their details.",
"operationId": "ListCountries",
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Relevant URL listing the supported countries.",
"title": "URL"
},
"countries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country_name": {
"type": "string",
"description": "Name of the country.",
"title": "Name"
},
"iso-3166": {
"type": "string",
"description": "ISO-3166 code of the country.",
"title": "ISO-3166"
},
"total_holidays": {
"type": "integer",
"format": "int32",
"description": "Number of total tracked holidays for this country.",
"title": "Total holidays"
},
"supported_languages": {
"type": "integer",
"format": "int32",
"description": "Number of supported languages for this country.",
"title": "Supported languages"
},
"uuid": {
"type": "string",
"description": "Unique internal identifier.",
"title": "UUID"
}
}
},
"description": "Array of supported countries.",
"title": "Countries"
}
}
}
}
}
}
}
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"in": "query",
"name": "api_key"
}
},
"security": [],
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://calendarific.com/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://calendarific.com/privacy"
},
{
"propertyName": "Categories",
"propertyValue": "Data;Productivity"
}
]
}

Просмотреть файл

@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "API Key",
"description": "The API Key for this api",
"tooltip": "Provide your API Key",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "Fördős András",
"stackOwner": "Calendarific "
}
}

Просмотреть файл

@ -0,0 +1,26 @@
# Calendarific
Calendarific is a developer-friendly, worldwide service giving you access to public, local & bank holidays and observances; and spanning over 230 countries, 3,300+ states and 100+ languages.
## Publisher
### Fördős András
## Prerequisites
In order to be able to use the connector, you must have a valid API key. You can obtain one at the following link: [https://calendarific.com/signup](https://calendarific.com/signup). Registration is completely free.
## Supported Operations
### List Countries
List all supported countries and their details. Useful to get references and ISO codes programmatically.
### List Languages
List all supported languages and thier details such as their ISO code.
### List Holidays
List local & bank holidays and observances based on various filter criteria.
## Usage and disclaimer
The service provides subscription based model, where you can start with a free membership, but access only limited set of features - for example an applied rate limit. Additionally, you can check the supported countries (230+) under their website: [https://calendarific.com/supported-countries](https://calendarific.com/supported-countries)
## Limitations
This connector only provides access to a subset of the available endpoints of the Calendarific service and only makes a subset of input and output parameters available. Reach out and let us connect in case you want to bring in more and make them pat of this connector.