<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://docs.callproof.com/index.php?action=history&amp;feed=atom&amp;title=Schedule_Notification</id>
	<title>Schedule Notification - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://docs.callproof.com/index.php?action=history&amp;feed=atom&amp;title=Schedule_Notification"/>
	<link rel="alternate" type="text/html" href="http://docs.callproof.com/index.php?title=Schedule_Notification&amp;action=history"/>
	<updated>2026-07-24T07:25:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://docs.callproof.com/index.php?title=Schedule_Notification&amp;diff=3082&amp;oldid=prev</id>
		<title>Ashley DeBon: /* Schedule Push Notification */</title>
		<link rel="alternate" type="text/html" href="http://docs.callproof.com/index.php?title=Schedule_Notification&amp;diff=3082&amp;oldid=prev"/>
		<updated>2026-07-21T15:36:09Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Schedule Push Notification&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:36, 21 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Schedule Push Notification ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Mobile_API]] &amp;amp;#187; &lt;/ins&gt;Schedule Push Notification ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Base URL ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Base URL ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ashley DeBon</name></author>
		
	</entry>
	<entry>
		<id>http://docs.callproof.com/index.php?title=Schedule_Notification&amp;diff=3081&amp;oldid=prev</id>
		<title>Ashley DeBon: Created page with &quot;== Schedule Push Notification ==  === Base URL === https://apimobile.callproof.com  === Endpoint === /api/ai/chat-bot/schedule-notification  === Purpose === Schedules a push n...&quot;</title>
		<link rel="alternate" type="text/html" href="http://docs.callproof.com/index.php?title=Schedule_Notification&amp;diff=3081&amp;oldid=prev"/>
		<updated>2026-07-21T15:35:58Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Schedule Push Notification ==  === Base URL === https://apimobile.callproof.com  === Endpoint === /api/ai/chat-bot/schedule-notification  === Purpose === Schedules a push n...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Schedule Push Notification ==&lt;br /&gt;
&lt;br /&gt;
=== Base URL ===&lt;br /&gt;
https://apimobile.callproof.com&lt;br /&gt;
&lt;br /&gt;
=== Endpoint ===&lt;br /&gt;
/api/ai/chat-bot/schedule-notification&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
Schedules a push notification reminder for the authenticated user’s device (for example, reminding them to start their next appointment). The notification is sent to the provided FCM token for the specified device type at the given date/time.&lt;br /&gt;
&lt;br /&gt;
=== HTTP Method ===&lt;br /&gt;
POST&lt;br /&gt;
&lt;br /&gt;
=== Headers ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Header !! Required !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Authorization || Yes || Bearer access token&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;&amp;#039; – Requires Bearer Token authentication.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
==== Path Parameters ====&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
==== Query Parameters ====&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
==== Request Body ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter !! Type !! Required !! Description&lt;br /&gt;
|-&lt;br /&gt;
| fcm_token || string || Yes || Firebase Cloud Messaging token for the target device&lt;br /&gt;
|-&lt;br /&gt;
| device_type || string || Yes || Device platform type (for example, Android or iOS)&lt;br /&gt;
|-&lt;br /&gt;
| body || string || Yes || Notification message text (maximum 255 characters)&lt;br /&gt;
|-&lt;br /&gt;
| time || string || Yes || Scheduled date/time in &amp;lt;code&amp;gt;Y-m-d H:i:s&amp;lt;/code&amp;gt; format (for example, &amp;lt;code&amp;gt;2026-07-21 15:30:00&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Successful Response (200) ===&lt;br /&gt;
Indicates that the push notification was scheduled successfully.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| clientStatusCode || integer || Status indicator for the client (for example, 200)&lt;br /&gt;
|-&lt;br /&gt;
| user_id || integer || Identifier of the authenticated user&lt;br /&gt;
|-&lt;br /&gt;
| company_id || integer || Identifier of the authenticated user’s company&lt;br /&gt;
|-&lt;br /&gt;
| data || string || Confirmation message (for example, &amp;quot;Push notification scheduled successfully.&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| uri || string || Requested resource URI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error Responses ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status Code !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 200 || Validation failed – response body uses &amp;lt;code&amp;gt;clientStatusCode&amp;lt;/code&amp;gt; 422 with the first validation error message&lt;br /&gt;
|-&lt;br /&gt;
| 400 || Bad Request – the notification could not be scheduled&lt;br /&gt;
|-&lt;br /&gt;
| 401 || Unauthorized – missing, invalid, or expired Bearer token&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Validation (HTTP 200, clientStatusCode 422)&amp;#039;&amp;#039;&amp;#039; – Missing/invalid &amp;lt;code&amp;gt;fcm_token&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;device_type&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;body&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; (including wrong date format or body longer than 255 characters).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;400&amp;#039;&amp;#039;&amp;#039; – Invalid input parameters, or another scheduling error.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;401&amp;#039;&amp;#039;&amp;#039; – Authentication failed or the access token is missing/expired.&lt;/div&gt;</summary>
		<author><name>Ashley DeBon</name></author>
		
	</entry>
</feed>