Difference between revisions of "API: Sample Calls"

From Charitylog Manual
Jump to: navigation, search
Line 12: Line 12:
 
{
 
{
 
"info": {
 
"info": {
 +
"_postman_id": "10bed371-4395-442e-9a66-6a780d834776",
 
"name": "Sample calls",
 
"name": "Sample calls",
 
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 
},
 
},
 
"item": [
 
"item": [
 +
{
 +
"name": "Getting Started",
 +
"item": [
 +
{
 +
"name": "Get Business Configuration",
 +
"request": {
 +
"method": "GET",
 +
"header": [
 +
{
 +
"key": "Source",
 +
"value": "{{source}}",
 +
"type": "default"
 +
},
 +
{
 +
"key": "Org",
 +
"value": "{{org}}",
 +
"type": "default"
 +
},
 +
{
 +
"key": "User",
 +
"value": "{{user}}",
 +
"type": "default"
 +
}
 +
],
 +
"url": {
 +
"raw": "https://{{host}}/v2/business/configuration",
 +
"protocol": "https",
 +
"host": [
 +
"{{host}}"
 +
],
 +
"path": [
 +
"v2",
 +
"business",
 +
"configuration"
 +
]
 +
}
 +
},
 +
"response": []
 +
}
 +
]
 +
},
 
{
 
{
 
"name": "clients",
 
"name": "clients",
Line 21: Line 63:
 
{
 
{
 
"name": "Client by ID with default fields",
 
"name": "Client by ID with default fields",
"event": [
 
{
 
"listen": "test",
 
"script": {
 
"exec": [
 
"pm.test(\"Status code is 200\", function () {",
 
"    pm.response.to.have.status(200);",
 
"});",
 
"pm.test(\"Client found\", function () {",
 
"    var jsonData = pm.response.json();",
 
"    pm.expect(jsonData.length).to.eql(1);",
 
"    pm.expect(jsonData[0].surname).to.eql('Elliott');",
 
"});"
 
],
 
"type": "text/javascript"
 
}
 
}
 
],
 
 
"request": {
 
"request": {
 
"method": "GET",
 
"method": "GET",
Line 77: Line 101:
 
{
 
{
 
"name": "Client by ID with specific fields",
 
"name": "Client by ID with specific fields",
"event": [
 
{
 
"listen": "test",
 
"script": {
 
"exec": [
 
"pm.test(\"Status code is 200\", function () {",
 
"    pm.response.to.have.status(200);",
 
"});",
 
"pm.test(\"Client found\", function () {",
 
"    var jsonData = pm.response.json();",
 
"    pm.expect(jsonData.length).to.eql(1);",
 
"    pm.expect(jsonData[0].surname).to.eql('Elliott');",
 
"});"
 
],
 
"type": "text/javascript"
 
}
 
}
 
],
 
 
"request": {
 
"request": {
 
"method": "GET",
 
"method": "GET",
Line 140: Line 146:
 
{
 
{
 
"name": "Referral by ID with default fields",
 
"name": "Referral by ID with default fields",
"event": [
 
{
 
"listen": "test",
 
"script": {
 
"exec": [
 
"pm.test(\"Status code is 200\", function () {",
 
"    pm.response.to.have.status(200);",
 
"});"
 
],
 
"type": "text/javascript"
 
}
 
}
 
],
 
 
"request": {
 
"request": {
 
"method": "GET",
 
"method": "GET",
 
"header": [
 
"header": [
 +
{
 +
"key": "Source",
 +
"value": "{{source}}"
 +
},
 
{
 
{
 
"key": "Org",
 
"key": "Org",
 
"value": "{{org}}"
 
"value": "{{org}}"
},
 
{
 
"key": "Source",
 
"value": "{{source}}"
 
 
},
 
},
 
{
 
{

Revision as of 14:45, 21 March 2023

Go to API overview

There are a range of tools that can be used for making API calls. Postman is a popular choise, see https://www.postman.com/ You will need your keys added to an evironment as per the screenshot below, which will mean you don't need to add the keys to the header of every call you make. See this page for more info.

File:Postman environment.png

Copy and paste the the code below into a text editor, and save with a .json extension. The file can then be imported into Postman.

{
	"info": {
		"_postman_id": "10bed371-4395-442e-9a66-6a780d834776",
		"name": "Sample calls",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "Getting Started",
			"item": [
				{
					"name": "Get Business Configuration",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Source",
								"value": "{{source}}",
								"type": "default"
							},
							{
								"key": "Org",
								"value": "{{org}}",
								"type": "default"
							},
							{
								"key": "User",
								"value": "{{user}}",
								"type": "default"
							}
						],
						"url": {
							"raw": "https://{{host}}/v2/business/configuration",
							"protocol": "https",
							"host": [
								"{{host}}"
							],
							"path": [
								"v2",
								"business",
								"configuration"
							]
						}
					},
					"response": []
				}
			]
		},
		{
			"name": "clients",
			"item": [
				{
					"name": "Client by ID with default fields",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Org",
								"value": "{{org}}"
							},
							{
								"key": "Source",
								"value": "{{source}}"
							},
							{
								"key": "User",
								"value": "{{user}}"
							},
							{
								"key": "XDEBUG_SESSION",
								"value": "PHPSTORM"
							}
						],
						"url": {
							"raw": "https://{{host}}/v2/clients/id/123",
							"protocol": "https",
							"host": [
								"{{host}}"
							],
							"path": [
								"v2",
								"clients",
								"id",
								"123"
							]
						}
					},
					"response": []
				},
				{
					"name": "Client by ID with specific fields",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Org",
								"value": "{{org}}"
							},
							{
								"key": "Source",
								"value": "{{source}}"
							},
							{
								"key": "User",
								"value": "{{user}}"
							},
							{
								"key": "XDEBUG_SESSION",
								"value": "PHPSTORM"
							}
						],
						"url": {
							"raw": "https://{{host}}/v2/clients/id/123/field/name;id;living_arrangements;accommodation",
							"protocol": "https",
							"host": [
								"{{host}}"
							],
							"path": [
								"v2",
								"clients",
								"id",
								"123",
								"field",
								"name;id;living_arrangements;accommodation"
							]
						}
					},
					"response": []
				}
			]
		},
		{
			"name": "referrals",
			"item": [
				{
					"name": "Referral by ID with default fields",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Source",
								"value": "{{source}}"
							},
							{
								"key": "Org",
								"value": "{{org}}"
							},
							{
								"key": "User",
								"value": "{{user}}"
							},
							{
								"key": "XDEBUG_SESSION",
								"value": "PHPSTORM"
							}
						],
						"url": {
							"raw": "https://{{host}}/v2/referrals/id/1342",
							"protocol": "https",
							"host": [
								"{{host}}"
							],
							"path": [
								"v2",
								"referrals",
								"id",
								"1342"
							]
						}
					},
					"response": []
				}
			]
		}
	]
}