Merge pull request #1611 from alphagov/inbound-callback

Inbound callback page
This commit is contained in:
Pete Herlihy
2017-11-03 16:22:48 +00:00
committed by GitHub
7 changed files with 82 additions and 14 deletions

View File

@@ -0,0 +1,63 @@
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field, row_heading%}
{% extends "withoutnav_template.html" %}
{% block per_page_title %}
Callbacks
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="column-two-thirds">
<h1 class="heading-large">Callbacks for received text messages</h1>
<p>
Text messages you receive can be forwarded to a URL that you specify, using our callback feature.
</p>
<p>
Messages are forwarded as they are received.
</p>
<p>
To protect your service, we require you to provide a bearer token. We put this token in the authorisation header of the callback requests.
</p>
<p>
Once you have receive text messages enabled, you can set up your callback on the settings page of your service.
</p>
<p>
If you dont have receive text messages enabled for your service, <a href="{{ url_for('.support') }}">get in touch</a> and we can turn it on for you.
</p>
<h2 class="heading-medium">Format of the callback</h2>
<p>
The format of the callback message you receive is JSON.
</p>
<div class="bottom-gutter-3-2">
{% call mapping_table(
caption='Callback message format',
field_headings=['Key', 'Description', 'Format'],
field_headings_visible=True,
caption_visible=False
) %}
{% for key, description, format in [
('id', 'Notifys id for the received message', 'UUID'),
('source_number', 'The phone number the message was sent from', '447700912345'),
('destination_number', 'The number the message was sent to (your number)', '07700987654'),
('message', 'The received message', 'Hello Notify!'),
('date_received', 'The UTC datetime that the message was received by Notify', '2017-05-14T12:15:30.000000Z')
] %}
{% call row() %}
{% call row_heading() %} {{ key }} {% endcall %}
{{ text_field(description) }}
{{ text_field(format) }}
{% endcall %}
{% endfor %}
{% endcall %}
</div>
{% endblock %}

View File

@@ -106,7 +106,7 @@
{% if can_receive_inbound %}
{% call row() %}
{{ text_field('API endpoint for received text messages') }}
{{ text_field('Callback URL for received text messages') }}
{{ optional_text_field(inbound_api_url) }}
{{ edit_field('Change', url_for('.service_set_inbound_api', service_id=current_service.id)) }}
{% endcall %}

View File

@@ -3,27 +3,27 @@
{% from "components/page-footer.html" import page_footer %}
{% block service_page_title %}
Inbound api
Callback URL
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="column-five-sixths">
<h1 class="heading-large">API endpoint for received text messages</h1>
<h1 class="heading-large">Callback URL for received text messages</h1>
<p>
This is the https url that the inbound SMS messages will be posted to
and the bearer token used in the authorisation header of the request.
Text messages you receive can be forwarded to your systems with our callback feature.
See our <a href="{{ url_for('.callbacks') }}">documentation on the format of the callback</a>.
</p>
<form method="post">
{{ textbox(
form.url,
width='2-3',
hint='Valid https url'
hint='Valid https URL'
) }}
{{ textbox(
form.bearer_token,
width='1-4',
width='2-3',
hint='At least 10 characters'
) }}
{{ page_footer(
@@ -35,4 +35,4 @@
</div>
</div>
{% endblock %}
{% endblock %}