PROF-23562 updated api schema
parent
2b942e668e
commit
e05f1ffcd2
336
precalc-api.json
336
precalc-api.json
|
@ -1 +1,335 @@
|
|||
{"openapi":"3.0.1","info":{"title":"Profee Payment calculation API","description":"<h1>Welcome to the Profee Payment calculation API documentation.</h1>\n<p>\n This is a living document to be updated regularly with new functionality. To address questions\n to our developers please contact: <a href=\"mailto:support@profeelab.net\">support@profeelab.net</a>\n</p>","license":{"name":"Profee","url":"http://profee.com"},"version":"v2.0"},"servers":[{"url":"http://localhost","description":"Generated server url"}],"paths":{"/api/v2/calc":{"post":{"tags":["V2 / Payments"],"summary":"Payment calculation","description":"Perform payment calculation","operationId":"calculate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDto"}}},"required":true},"responses":{"500":{"description":"Internal Server Error"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseContainerDto"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseContainerDto"}}}}}}},"/api/calc":{"post":{"tags":["V1 / Payments"],"summary":"Payment calculation","description":"Perform payment calculation","operationId":"calculate_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDto"}}},"required":true},"responses":{"500":{"description":"Internal Server Error"},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseContainerDto"}}}}}}},"/api/v2/corridors":{"get":{"tags":["V2 / Corridors"],"summary":"Calculation URLs","description":"Returns all calculation URLs available","operationId":"getAllCorridorsAvailable","parameters":[{"name":"merchantId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error"},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CorridorDescriptorDto"}}}}}}}}},"components":{"schemas":{"ResponseContainerDto":{"required":["message","status"],"type":"object","properties":{"response":{"$ref":"#/components/schemas/ResponseDto"},"status":{"type":"string","description":"Status of performed operation","enum":["OK","ERROR"]},"message":{"type":"string","description":"Error message when occurred, 'OK' otherwise"}},"description":"Response container"},"ResponseDto":{"type":"object","properties":{"precalcId":{"type":"string","description":"Calculation ID"},"fromCurrency":{"type":"string","description":"Source currency"},"fromAmount":{"type":"number","description":"Source amount"},"toCurrency":{"type":"string","description":"Destination currency"},"toAmount":{"type":"number","description":"Destination amount"},"feeCurrency":{"type":"string","description":"Fee currency"},"feeAmount":{"type":"number","description":"Fee amount"},"rateFromCurrency":{"type":"string","description":"Rate source currency"},"rateToCurrency":{"type":"string","description":"Rate destination currency"},"rateAmount":{"type":"number","description":"Currency rate amount"},"nextStepUrl":{"type":"string","description":"Link for further step to proceed"}},"description":"Payment calculation result"},"RequestDto":{"required":["fromCurrency","merchantId","toCurrency"],"type":"object","properties":{"merchantId":{"type":"string","description":"Merchant ID"},"fromCountry":{"type":"string","description":"Source country (ISO Alpha2 code)"},"fromCurrency":{"type":"string","description":"Source currency (ISO code)"},"fromAmount":{"type":"number","description":"Source amount (one of fromAmount and toAmount must be specified)"},"toCountry":{"type":"string","description":"Destination country (ISO Alpa2 code)"},"toCurrency":{"type":"string","description":"Destination currency (ISO code)"},"toAmount":{"type":"number","description":"Destination amount (one of fromAmount and toAmount must be specified)"},"externalId":{"maxLength":1000,"minLength":0,"type":"string","description":"Merchant's marketing ID (this ID will be placed at utm_campaign further)"}},"description":"Request for payment calculation (either 'fromAmount' or 'toAmount' must be specified)"},"CorridorDescriptorDto":{"type":"object","properties":{"fromCountry":{"type":"string"},"toCountry":{"type":"string"},"currencies":{"type":"array","items":{"$ref":"#/components/schemas/CurrencyPairDto"}}}},"CurrencyPairDto":{"type":"object","properties":{"fromCurrencyCode":{"type":"string"},"toCurrencyCode":{"type":"string"}}}}}}
|
||||
{
|
||||
"openapi": "3.0.1",
|
||||
"info": {
|
||||
"title": "Profee Payment calculation API",
|
||||
"description": "<h1>Welcome to the Profee Payment calculation API documentation.</h1>\n<p>\n This is a living document to be updated regularly with new functionality. To address questions\n to our developers please contact: <a href=\"mailto:support@profeelab.net\">support@profeelab.net</a>\n</p>",
|
||||
"license": {
|
||||
"name": "Profee",
|
||||
"url": "http://profee.com"
|
||||
},
|
||||
"version": "v2.0"
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "http://localhost",
|
||||
"description": "Generated server url"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/api/v2/calc": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"V2 / Payments"
|
||||
],
|
||||
"summary": "Payment calculation",
|
||||
"description": "Perform payment calculation",
|
||||
"operationId": "calculate",
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/RequestDtoV2"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"500": {
|
||||
"description": "Internal Server Error"
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"content": {
|
||||
"*/*": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ResponseContainerDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"content": {
|
||||
"*/*": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ResponseContainerDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/calc": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"V1 / Payments"
|
||||
],
|
||||
"summary": "Payment calculation",
|
||||
"description": "Perform payment calculation",
|
||||
"operationId": "calculate_1",
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/RequestDtoV1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"500": {
|
||||
"description": "Internal Server Error"
|
||||
},
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"content": {
|
||||
"*/*": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ResponseContainerDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v2/corridors": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"V2 / Corridors"
|
||||
],
|
||||
"summary": "Calculation URLs",
|
||||
"description": "Returns all calculation URLs available",
|
||||
"operationId": "getAllCorridorsAvailable",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "merchantId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"500": {
|
||||
"description": "Internal Server Error"
|
||||
},
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"content": {
|
||||
"*/*": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/CorridorDescriptorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"schemas": {
|
||||
"ResponseContainerDto": {
|
||||
"required": [
|
||||
"message",
|
||||
"status"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"response": {
|
||||
"$ref": "#/components/schemas/ResponseDto"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Status of performed operation",
|
||||
"enum": [
|
||||
"OK",
|
||||
"ERROR"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "Error message when occurred, 'OK' otherwise"
|
||||
}
|
||||
},
|
||||
"description": "Response container"
|
||||
},
|
||||
"ResponseDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"precalcId": {
|
||||
"type": "string",
|
||||
"description": "Calculation ID"
|
||||
},
|
||||
"fromCurrency": {
|
||||
"type": "string",
|
||||
"description": "Source currency"
|
||||
},
|
||||
"fromAmount": {
|
||||
"type": "number",
|
||||
"description": "Source amount"
|
||||
},
|
||||
"toCurrency": {
|
||||
"type": "string",
|
||||
"description": "Destination currency"
|
||||
},
|
||||
"toAmount": {
|
||||
"type": "number",
|
||||
"description": "Destination amount"
|
||||
},
|
||||
"feeCurrency": {
|
||||
"type": "string",
|
||||
"description": "Fee currency"
|
||||
},
|
||||
"feeAmount": {
|
||||
"type": "number",
|
||||
"description": "Fee amount"
|
||||
},
|
||||
"rateFromCurrency": {
|
||||
"type": "string",
|
||||
"description": "Rate source currency"
|
||||
},
|
||||
"rateToCurrency": {
|
||||
"type": "string",
|
||||
"description": "Rate destination currency"
|
||||
},
|
||||
"rateAmount": {
|
||||
"type": "number",
|
||||
"description": "Currency rate amount"
|
||||
},
|
||||
"nextStepUrl": {
|
||||
"type": "string",
|
||||
"description": "Link for further step to proceed"
|
||||
}
|
||||
},
|
||||
"description": "Payment calculation result"
|
||||
},
|
||||
"RequestDtoV2": {
|
||||
"required": [
|
||||
"fromCurrency",
|
||||
"merchantId",
|
||||
"toCurrency"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"merchantId": {
|
||||
"type": "string",
|
||||
"description": "Merchant ID"
|
||||
},
|
||||
"fromCountry": {
|
||||
"type": "string",
|
||||
"description": "Source country (ISO Alpha2 code)"
|
||||
},
|
||||
"fromCurrency": {
|
||||
"type": "string",
|
||||
"description": "Source currency (ISO code)"
|
||||
},
|
||||
"fromAmount": {
|
||||
"type": "number",
|
||||
"description": "Source amount (one of fromAmount and toAmount must be specified)"
|
||||
},
|
||||
"toCountry": {
|
||||
"type": "string",
|
||||
"description": "Destination country (ISO Alpa2 code)"
|
||||
},
|
||||
"toCurrency": {
|
||||
"type": "string",
|
||||
"description": "Destination currency (ISO code)"
|
||||
},
|
||||
"toAmount": {
|
||||
"type": "number",
|
||||
"description": "Destination amount (one of fromAmount and toAmount must be specified)"
|
||||
},
|
||||
"externalId": {
|
||||
"maxLength": 1000,
|
||||
"minLength": 0,
|
||||
"type": "string",
|
||||
"description": "Merchant's marketing ID (this ID will be placed at utm_campaign further)"
|
||||
}
|
||||
},
|
||||
"description": "Request for payment calculation (either 'fromAmount' or 'toAmount' must be specified)"
|
||||
},
|
||||
"RequestDtoV1": {
|
||||
"required": [
|
||||
"fromCurrency",
|
||||
"merchantId",
|
||||
"toCurrency"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"merchantId": {
|
||||
"type": "string",
|
||||
"description": "Merchant ID"
|
||||
},
|
||||
"fromCountry": {
|
||||
"type": "string",
|
||||
"description": "Source country (ISO Alpha2 code)"
|
||||
},
|
||||
"fromCurrency": {
|
||||
"type": "string",
|
||||
"description": "Source currency (ISO code)"
|
||||
},
|
||||
"fromAmount": {
|
||||
"type": "number",
|
||||
"description": "Source amount (one of fromAmount and toAmount must be specified)"
|
||||
},
|
||||
"toCountry": {
|
||||
"type": "string",
|
||||
"description": "Destination country (ISO Alpa2 code)"
|
||||
},
|
||||
"toCurrency": {
|
||||
"type": "string",
|
||||
"description": "Destination currency (ISO code)"
|
||||
},
|
||||
"toAmount": {
|
||||
"type": "number",
|
||||
"description": "Destination amount (one of fromAmount and toAmount must be specified)"
|
||||
},
|
||||
"externalId": {
|
||||
"maxLength": 1000,
|
||||
"minLength": 0,
|
||||
"type": "string",
|
||||
"description": "Merchant's marketing ID (this ID will be placed at utm_campaign further)"
|
||||
}
|
||||
},
|
||||
"description": "Request for payment calculation (either 'fromAmount' or 'toAmount' must be specified)"
|
||||
},
|
||||
"CorridorDescriptorDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"fromCountry": {
|
||||
"type": "string"
|
||||
},
|
||||
"toCountry": {
|
||||
"type": "string"
|
||||
},
|
||||
"currencies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/CurrencyPairDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"CurrencyPairDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"fromCurrencyCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"toCurrencyCode": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue