### Get Orders Request Example Source: https://developers.giftogram.com/reference/orders/getOrders/get This snippet shows how to make a GET request to retrieve orders. Ensure you include your API key in the Authorization header. ```Shell curl --request GET \ --url 'https://api.giftogram.com/api/v1/orders' \ --header 'Authorization: "YOUR_API_KEY"' ``` -------------------------------- ### Get Campaign by ID - Shell Example Source: https://developers.giftogram.com/reference/campaigns/campaignGet/get Demonstrates how to make a GET request to retrieve a campaign by its ID using cURL. Ensure you replace 'YOUR_API_KEY' with your actual API key and '{id}' with the campaign's ID. ```shell curl --request GET \ --url 'https://api.giftogram.com/api/v1/campaigns/{id}?id=00000000-0000-0000-0000-000000000000' \ --header 'Authorization: "YOUR_API_KEY"' ``` -------------------------------- ### API Key Example Source: https://developers.giftogram.com/reference/campaigns/campaignList/get An example of the API key format required for authorization. ```text YOUR_API_KEY ``` -------------------------------- ### Get Order by ID - Shell Example Source: https://developers.giftogram.com/reference/orders/getOrder/get Demonstrates how to make a GET request to retrieve an order by its ID using cURL. Ensure you replace 'YOUR_API_KEY' with your actual API key and '{id}' with the specific order ID. ```Shell curl --request GET \ --url 'https://api.giftogram.com/api/v1/orders/{id}?id=any' \ --header 'Authorization: "YOUR_API_KEY"' ``` -------------------------------- ### Get Campaigns Response (JSON) Source: https://developers.giftogram.com/reference/campaigns/campaignList/get Example of a successful JSON response when retrieving a list of campaigns. This includes campaign data and pagination links. ```json { "data": { "id": "f3f940c3-0281-448d-886d-4969b3596826", "name": "My Giftogram Campaign", "currencies": [ "USD" ], "denominations": [ 10 ], "active": true }, "links": { "first": "https://api.giftogram.com/api/v1/orders?page=1", "last": "https://api.giftogram.com/api/v1/orders?page=3", "prev": "https://api.giftogram.com/api/v1/orders?page=1", "next": "https://api.giftogram.com/api/v1/orders?page=3" } } ``` -------------------------------- ### Get Orders Successful Response Source: https://developers.giftogram.com/reference/orders/getOrders/get Example of a successful response (200 OK) when retrieving orders. This includes order details and pagination links. ```JSON { "data": { "external_id": "ID_007", "campaign_id": "f3f940c3-0281-448d-886d-4969b3596826", "order_id": "c1e7af15-8d75-43d5-9556-c5abc6802138", "team_id": "a5234b6a-0bee-41ff-909a-5d76ad3e972c", "campaign_name": "My Campaign", "team_name": "My Team", "currency": [ 1 ], "status": "pending", "send_time": "2023-11-11 18:21:05", "spend": 15, "notes": "Make sure to follow up with John on this one.", "reference_number": "REF_008", "message": "Thanks from the team for an awesome year!", "subject": "A big thanks from all of us!", "recipients": [ {} ] }, "links": { "first": "https://api.giftogram.com/api/v1/orders?page=1", "last": "https://api.giftogram.com/api/v1/orders?page=3", "prev": "https://api.giftogram.com/api/v1/orders?page=1", "next": "https://api.giftogram.com/api/v1/orders?page=3" } } ``` -------------------------------- ### Get Documentation Source: https://developers.giftogram.com/reference/documentation/Documentation/get Returns the API documentation specification. ```APIDOC ## Get Documentation ### Description Returns the API documentation specification. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/documentation ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account ### Responses #### Success Response (200) - **data** (object) - **version** (string) - API version - **title** (string) - API title - **description** (string) - API description - **terms_of_service** (string) - API terms of service - **contact** (object) - **name** (string) - Contact name - **url** (string) - Contact URL - **email** (string) - Contact email - **license** (object) - **name** (string) - License name - **url** (string) - License URL #### Response Example (200) ```json { "data": { "version": "1.0.0", "title": "Giftogram API", "description": "Giftogram API", "terms_of_service": "https://giftogram.com/terms", "contact": { "name": "Giftogram", "url": "https://giftogram.com", "email": "hello@giftogram.com" }, "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" } } } ``` ``` -------------------------------- ### Get Campaigns Request (Shell) Source: https://developers.giftogram.com/reference/campaigns/campaignList/get Demonstrates how to make a GET request to the campaigns endpoint using cURL. Ensure you replace 'YOUR_API_KEY' with your actual API key. ```shell curl --request GET \ --url 'https://api.giftogram.com/api/v1/campaigns' \ --header 'Authorization: "YOUR_API_KEY"' ``` -------------------------------- ### Successful Response for Available Funds Source: https://developers.giftogram.com/reference/funding/Funding/get This is an example of a successful response (200 OK) when retrieving available funds. It shows the 'credit_available' amount. ```JSON { "data": { "credit_available": 10102.57 } } ``` -------------------------------- ### Get Campaign by ID - Successful Response Source: https://developers.giftogram.com/reference/campaigns/campaignGet/get Example of a successful response (200 OK) when retrieving campaign details. The response body contains the campaign's ID, name, associated currencies, denominations, and active status. ```json { "data": { "id": "f3f940c3-0281-448d-886d-4969b3596826", "name": "My Giftogram Campaign", "currencies": [ "USD" ], "denominations": [ 10 ], "active": true } } ``` -------------------------------- ### Create Order Request Example Source: https://developers.giftogram.com/reference/orders/createOrder/post This snippet shows a cURL command to create a new order. Ensure you replace 'YOUR_API_KEY' with your actual API key and populate the data fields as needed. ```Shell curl --request POST \ --header 'Content-Type: application/json' \ --url 'https://api.giftogram.com/api/v1/orders' \ --header 'Authorization: "YOUR_API_KEY"' \ --data '{"external_id":"string","campaign_id":"string","notes":"string","reference_number":"string","message":"string","subject":"string","recipients":[{"email":"hello@giftogram.com","name":"string","mobile_phone":"string"}],"denomination":100}' ``` -------------------------------- ### Get Webhooks Request (Shell) Source: https://developers.giftogram.com/reference/webhooks/WebhookLookup/get Use this cURL command to make a GET request to the webhook list endpoint. Ensure you replace 'YOUR_API_KEY' with your actual API key. ```shell --request GET \ --url 'https://api.giftogram.com/api/v1/webhooks/list' \ --header 'Authorization: "YOUR_API_KEY"' ``` -------------------------------- ### Get Webhooks Source: https://developers.giftogram.com/reference/webhooks/WebhookLookup/get Returns a list of webhook events and their respective assigned endpoints. ```APIDOC ## Get Webhooks ### Description Returns a list of webhook events and their respective assigned endpoints. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/webhooks/list ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account ### Responses #### Success Response (200) - **data.event** (string) - The event which will trigger the webhook dispatch. - **data.endpoint** (url) - Url endpoint to which the webhook will dispatch upon trigger. - **links.first** (string) - URL for the first page of results. - **links.last** (string) - URL for the last page of results. - **links.prev** (string) - URL for the previous page of results. - **links.next** (string) - URL for the next page of results. #### Response Example (200) ```json { "data": { "event": "order.created", "endpoint": "https://giftogram.com/webhooks/order-created" }, "links": { "first": "https://api.giftogram.com/api/v1/orders?page=1", "last": "https://api.giftogram.com/api/v1/orders?page=3", "prev": "https://api.giftogram.com/api/v1/orders?page=1", "next": "https://api.giftogram.com/api/v1/orders?page=3" } } ``` ``` -------------------------------- ### Get API Documentation Request Source: https://developers.giftogram.com/reference/documentation/Documentation/get Use this endpoint to retrieve the API documentation specification. Ensure you include your API key in the Authorization header. ```Shell curl --request GET \ --url 'https://api.giftogram.com/api/v1/documentation' \ --header 'Authorization: "YOUR_API_KEY"' ``` ```Python import requests url = "https://api.giftogram.com/api/v1/documentation" headers = { "Authorization": "Bearer YOUR_API_KEY" } response = requests.request("GET", url, headers=headers) print(response.text) ``` ```Javascript const options = { method: 'GET', headers: { Authorization: 'Bearer YOUR_API_KEY' } }; fetch('https://api.giftogram.com/api/v1/documentation', options) .then(response => response.json()) .then(response => console.log(response)) .catch(error => console.error('Error:', error)); ``` ```Ruby require 'uri' require 'net/http' url = URI("https://api.giftogram.com/api/v1/documentation") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = "Bearer YOUR_API_KEY" response = http.request(request) puts response.read_body ``` ```PHP "https://api.giftogram.com/api/v1/documentation", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "Authorization: Bearer YOUR_API_KEY" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #" . $err; } else { echo $response; } ``` -------------------------------- ### Create Order Successful Response Source: https://developers.giftogram.com/reference/orders/createOrder/post This is an example of a successful response (200 OK) when creating an order. It includes details about the created order, such as its ID, status, and associated campaign. ```JSON { "data": { "external_id": "ID_007", "campaign_id": "f3f940c3-0281-448d-886d-4969b3596826", "order_id": "c1e7af15-8d75-43d5-9556-c5abc6802138", "team_id": "a5234b6a-0bee-41ff-909a-5d76ad3e972c", "campaign_name": "My Campaign", "team_name": "My Team", "currency": [ 1 ], "status": "pending", "send_time": "2023-11-11 18:21:05", "spend": 15, "notes": "Make sure to follow up with John on this one.", "reference_number": "REF_008", "message": "Thanks from the team for an awesome year!", "subject": "A big thanks from all of us!", "recipients": [ {} ] } } ``` -------------------------------- ### Get Orders Source: https://developers.giftogram.com/reference/orders/getOrders/get Retrieves a list of all orders for the authenticated account. This endpoint supports pagination. ```APIDOC ## GET /api/v1/orders ### Description Returns the requests Orders. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/orders ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account ### Responses #### Success Response (200) - **data** (array) - Contains order details. - **external_id** (string) - Idempotency field used prevent accidental order duplication and for client-side reference. - **campaign_id** (string) - ID used to reference the campaign used for this order. - **order_id** (string) - Reference returned to order in Giftogram. - **team_id** (string) - Identifier returned for the team gift was sent within. - **campaign_name** (string) - Name of the campaign. - **team_name** (string) - Name of the team. - **currency** (array) - Currency used for the gifts sent in this order. - **status** (string) - Entire order status ("pending", "sending", "cancelled", "bounced", "sent", "delivered"). - **send_time** (string) - Time when the order was/will be sent. All times are provided in UTC. - **spend** (number) - Total amount spent in USD. - **notes** (string) - Client-side order notes. - **reference_number** (string) - Client-side reference numbers. - **message** (string) - Message used to send the message. - **subject** (string) - Email Subject. - **recipients** (array) - List of recipients each with email and name. - **links** (object) - Pagination links. - **first** (string) - URL for the first page of results. - **last** (string) - URL for the last page of results. - **prev** (string) - URL for the previous page of results. - **next** (string) - URL for the next page of results. #### Response Example ```json { "data": { "external_id": "ID_007", "campaign_id": "f3f940c3-0281-448d-886d-4969b3596826", "order_id": "c1e7af15-8d75-43d5-9556-c5abc6802138", "team_id": "a5234b6a-0bee-41ff-909a-5d76ad3e972c", "campaign_name": "My Campaign", "team_name": "My Team", "currency": [ 1 ], "status": "pending", "send_time": "2023-11-11 18:21:05", "spend": 15, "notes": "Make sure to follow up with John on this one.", "reference_number": "REF_008", "message": "Thanks from the team for an awesome year!", "subject": "A big thanks from all of us!", "recipients": [ {} ] }, "links": { "first": "https://api.giftogram.com/api/v1/orders?page=1", "last": "https://api.giftogram.com/api/v1/orders?page=3", "prev": "https://api.giftogram.com/api/v1/orders?page=1", "next": "https://api.giftogram.com/api/v1/orders?page=3" } } ``` ``` -------------------------------- ### Get Campaign by ID Source: https://developers.giftogram.com/reference/campaigns/campaignGet/get Returns a campaign by ID. Requires an Authorization header with a Bearer token. ```APIDOC ## GET /api/v1/campaigns/{id} ### Description Returns a campaign by ID. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/campaigns/{id} ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account. Example: YOUR_API_KEY ### Responses #### Success Response (200) - **data** (object) - **id** (string) - UUID used to during ordering to denote which campaign to use. Example: f3f940c3-0281-448d-886d-4969b3596826 - **name** (string) - Campaign name. Example: My Giftogram Campaign - **currencies** (array) - Currency set for gifts sent via this campaign. - **denominations** (array) - Array of valid denominations that can be used in this campaign. An empty array denotes that all denominations up to the storefront maximum are valid. - **active** (boolean) - Boolean status that denotes whether the campaign is active or inactive. #### Response Example (200) ```json { "data": { "id": "f3f940c3-0281-448d-886d-4969b3596826", "name": "My Giftogram Campaign", "currencies": [ "USD" ], "denominations": [ 10 ], "active": true } } ``` ``` -------------------------------- ### Confirm Account Funding Status via API Source: https://developers.giftogram.com/guides/guides/funding-an-account Use this GET request to check your account's funding status and balance. Ensure you replace the placeholder with your actual API key. ```bash curl --request GET \ --url 'https://api.giftogram.com/api/v1/funding' \ --header 'Authorization: ' ``` -------------------------------- ### Get Campaigns Source: https://developers.giftogram.com/reference/campaigns/campaignList/get Retrieves a list of campaigns. This endpoint is useful for viewing all active and inactive campaigns associated with an account. ```APIDOC ## Get Campaigns ### Description Returns a list of campaigns. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/campaigns ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account ### Responses #### Success Response (200) - **data** (array) - Campaign details - **id** (string) - UUID used to denote which campaign to use during ordering. - **name** (string) - Campaign name. - **currencies** (array) - Currency set for gifts sent via this campaign. - **denominations** (array) - Array of valid denominations that can be used in this campaign. An empty array denotes that all denominations up to the storefront maximum are valid. - **active** (boolean) - Boolean status that denotes whether the campaign is active or inactive. - **links** (object) - Pagination links. - **first** (string) - Link to the first page of results. - **last** (string) - Link to the last page of results. - **prev** (string) - Link to the previous page of results. - **next** (string) - Link to the next page of results. #### Response Example ```json { "data": { "id": "f3f940c3-0281-448d-886d-4969b3596826", "name": "My Giftogram Campaign", "currencies": [ "USD" ], "denominations": [ 10 ], "active": true }, "links": { "first": "https://api.giftogram.com/api/v1/orders?page=1", "last": "https://api.giftogram.com/api/v1/orders?page=3", "prev": "https://api.giftogram.com/api/v1/orders?page=1", "next": "https://api.giftogram.com/api/v1/orders?page=3" } } ``` ``` -------------------------------- ### Get Available Funds API Endpoint Source: https://developers.giftogram.com/reference/funding/Funding/get This endpoint retrieves the available funds for the API account. Ensure you include your API key in the Authorization header. ```Shell curl --request GET \ --url 'https://api.giftogram.com/api/v1/funding' \ --header 'Authorization: "YOUR_API_KEY"' ``` -------------------------------- ### Get Available Funds Source: https://developers.giftogram.com/reference/funding/Funding/get Returns the available funds for the API account. This is useful for tracking your credit balance and ensuring you have sufficient funds for transactions. ```APIDOC ## GET /api/v1/funding ### Description Returns the available funds for the API account. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/funding ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account ### Responses #### Success Response (200) - **data** (object) - **credit_available** (number) - Account funds currently available for the account the API key is associated ### Request Example ``` curl --request GET \ --url 'https://api.giftogram.com/api/v1/funding' \ --header 'Authorization: "YOUR_API_KEY"' ``` ### Response Example ```json { "data": { "credit_available": 10102.57 } } ``` ``` -------------------------------- ### Get Order by ID Source: https://developers.giftogram.com/reference/orders/getOrder/get Returns an order by ID. This endpoint allows you to retrieve all details associated with a specific order using its unique identifier. ```APIDOC ## GET /api/v1/orders/{id} ### Description Returns an order by ID. This endpoint allows you to retrieve all details associated with a specific order using its unique identifier. ### Method GET ### Endpoint https://api.giftogram.com/api/v1/orders/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the order to retrieve. #### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account. Example: YOUR_API_KEY ### Response #### Success Response (200) - **data** (object) - **external_id** (string) - Idempotency field used prevent accidental order duplication and for client-side reference. - **campaign_id** (string) - ID used to reference the campaign used for this order. - **order_id** (string) - Reference returned to order in Giftogram. - **team_id** (string) - Identifier returned for the team gift was sent within. - **campaign_name** (string) - Name of the campaign. - **team_name** (string) - Name of the team. - **currency** (array) - Currency used for the gifts sent in this order. - **status** (string) - Entire order status ("pending", "sending", "cancelled", "bounced", "sent", "delivered"). - **send_time** (string) - Time when the order was/will be sent. All times are provided in UTC. - **spend** (number) - Total amount spent in USD. - **notes** (string) - Client-side order notes. - **reference_number** (string) - Client-side reference numbers. - **message** (string) - Message used to send the message. - **subject** (string) - Email Subject. - **recipients** (array) - List of recipients each with email and name. ### Response Example ```json { "data": { "external_id": "ID_007", "campaign_id": "f3f940c3-0281-448d-886d-4969b3596826", "order_id": "c1e7af15-8d75-43d5-9556-c5abc6802138", "team_id": "a5234b6a-0bee-41ff-909a-5d76ad3e972c", "campaign_name": "My Campaign", "team_name": "My Team", "currency": [ 1 ], "status": "pending", "send_time": "2023-11-11 18:21:05", "spend": 15, "notes": "Make sure to follow up with John on this one.", "reference_number": "REF_008", "message": "Thanks from the team for an awesome year!", "subject": "A big thanks from all of us!", "recipients": [ {} ] } } ``` ``` -------------------------------- ### Get Webhooks Response (JSON) Source: https://developers.giftogram.com/reference/webhooks/WebhookLookup/get A successful response includes the event that triggers the webhook and the URL endpoint for dispatch. It also contains pagination links. ```json { "data": { "event": "order.created", "endpoint": "https://giftogram.com/webhooks/order-created" }, "links": { "first": "https://api.giftogram.com/api/v1/orders?page=1", "last": "https://api.giftogram.com/api/v1/orders?page=3", "prev": "https://api.giftogram.com/api/v1/orders?page=1", "next": "https://api.giftogram.com/api/v1/orders?page=3" } } ``` -------------------------------- ### Create Order API Request using cURL Source: https://developers.giftogram.com/guides/introduction/quickstart Simulates a real-world scenario to send a gift card to a recipient. Ensure you have your API key and campaign ID ready. Sandbox emails are rate-limited. ```bash curl --request post \ --url 'https://api.giftogram.com/api/v1/order' \ --header 'Content-Type: application/json' \ --header 'Authorization: ""' \ --data 'external_id: ""' \ --data 'campaign_id: ""' \ --data 'notes: ""' \ --data 'reference_number: ""' \ --data 'message: ""' \ --data 'subject: ""' \ --data 'recipients: [{ "email": "recipient@example.com", "name": "Recipient Name" }]' \ --data 'denomination: 100' ``` -------------------------------- ### API Documentation Response Body Source: https://developers.giftogram.com/reference/documentation/Documentation/get This is the structure of the successful response when requesting API documentation. It includes details about the API version, title, description, contact information, and license. ```JSON { "data": { "version": "1.0.0", "title": "Giftogram API", "description": "Giftogram API", "terms_of_service": "https://giftogram.com/terms", "contact": { "properties": { "name": "Giftogram", "url": "https://giftogram.com", "email": "hello@giftogram.com" }, "type": "object" }, "license": { "properties": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" }, "type": "object" } } } ``` -------------------------------- ### Create Order Source: https://developers.giftogram.com/reference/orders/createOrder/post Creates a new order with specified details. This endpoint supports idempotency through an external_id field and allows for detailed customization of the order, including recipient information and personalized messages. ```APIDOC ## POST /api/v1/orders ### Description Creates a new order with specified details. This endpoint supports idempotency through an external_id field and allows for detailed customization of the order, including recipient information and personalized messages. ### Method POST ### Endpoint https://api.giftogram.com/api/v1/orders ### Headers - **Authorization** (string) - Required - Bearer token associated with a Giftogram account ### Request Body - **external_id** (string) - Required - Idempotency field used prevent accidental order duplication and for client-side reference. Maximum field size is 255 characters - **campaign_id** (string) - Required - ID used to reference the campaign used for this order - **notes** (string) - Optional - Client-side order notes. Maximum 1,000 characters - **reference_number** (string) - Optional - Client-side reference number. Maximum 50 characters - **message** (string) - Optional - HTML message to be used in the email sent with the gift. Valid HTML tags are (br, p, a , strong, b, i, em, u, ul, ol, li). Unsupported tags will be stripped out and their content will still be displayed. The only allowed attributes are href & target - **subject** (string) - Optional - Email Subject. Maximum 50 characters - **recipients** (array) - Required - List of recipients each with email and name. - **email** (string) - Required - Recipient's email address. - **name** (string) - Required - Recipient's name. - **mobile_phone** (string) - Optional - Recipient's mobile phone number. - **denomination** (integer) - Required - Denomination sent to all recipients. This will be sent in the currency configured in the selected campaign ### Request Example ```json { "external_id": "string", "campaign_id": "string", "notes": "string", "reference_number": "string", "message": "string", "subject": "string", "recipients": [ { "email": "hello@giftogram.com", "name": "string", "mobile_phone": "string" } ], "denomination": 100 } ``` ### Response #### Success Response (200) - **data** (object) - Contains the details of the created order. - **external_id** (string) - Idempotency field used prevent accidental order duplication and for client-side reference - **campaign_id** (string) - ID used to reference the campaign used for this order - **order_id** (string) - Reference returned to order in Giftogram - **team_id** (string) - Identifier returned for the team gift was sent within - **campaign_name** (string) - Name of the campaign - **team_name** (string) - Name of the team - **currency** (array) - Currency used for the gifts sent in this order - **status** (string) - Entire order status ("pending", "sending", "cancelled", "bounced", "sent", "delivered") - **send_time** (string) - Time when the order was/will be sent. All times are provided in UTC. - **spend** (number) - Total amount spent in USD - **notes** (string) - Client-side order notes - **reference_number** (string) - Client-side reference numbers - **message** (string) - Message used to send the message. - **subject** (string) - Email Subject - **recipients** (array) - List of recipients each with email and name #### Response Example ```json { "data": { "external_id": "ID_007", "campaign_id": "f3f940c3-0281-448d-886d-4969b3596826", "order_id": "c1e7af15-8d75-43d5-9556-c5abc6802138", "team_id": "a5234b6a-0bee-41ff-909a-5d76ad3e972c", "campaign_name": "My Campaign", "team_name": "My Team", "currency": [ 1 ], "status": "pending", "send_time": "2023-11-11 18:21:05", "spend": 15, "notes": "Make sure to follow up with John on this one.", "reference_number": "REF_008", "message": "Thanks from the team for an awesome year!", "subject": "A big thanks from all of us!", "recipients": [ {} ] } } ``` ``` -------------------------------- ### Include API Key in Authorization Header Source: https://developers.giftogram.com/guides/developers/authentication When making requests to the API, include your API key in the 'Authorization' header. Replace 'YOUR_API_KEY' with your actual key. ```http Authorization: YOUR_API_KEY ``` -------------------------------- ### Verify Webhook Signature in PHP Source: https://developers.giftogram.com/guides/developers/validation This PHP snippet demonstrates how to compute and compare an HMAC-SHA256 hash to validate incoming Giftogram webhook signatures. Ensure your client secret is stored securely and accessed from configuration or environment variables. ```php