Skip to content

API Java client Documentation

willeybryan edited this page Sep 13, 2019 · 11 revisions

Cette documentation s'adresse aux développeurs intéressés par l'utilisation de la API Java client de notification CDS-SNC pour l'envoi d'e-mails ou de messages texte.

Le système de notification CDS-SNC est basé sur le travail effectué par GOV.UK de Notification.

Remarque importante

Pour vous connecter au système de notification CDS-SNC, vous devez utiliser un client GOV.UK. Cela signifie que certains messages d'erreur que vous obtenez sont spécifiques à GOV.UK Notification et vous lient directement à leur instance. Nous en sommes conscients et nous prévoyons de changer cela à l'avenir avec le développement de nos propres clients.

Nous vous recommandons d'utiliser cette bibliothèque client plutôt que l'API directement, car il n'y a pas de documentation pour utiliser l'API de cette façon

Configurer le client

Installer le client

'notifications-java-client` se déploie à Bintray.

Aller à la page GOV.UK Notification Java page client sur Bintray [lien externe]:

  1. Sélectionnez Set me up! et utilisez les instructions de téléchargement appropriées.
  2. Allez dans la section Paramètres de construction Maven de la page et copiez l'extrait de code de dépendance approprié.

Consulter le client journal des modifications pour le numéro de version et les dernières mises à jour.

Créer une nouvelle instance du client

Ajoutez ce code à votre application :

import uk.gov.service.Notification.NotificationClient;
NotificationClient client = new NotificationClient(apiKey, apiEndpoint);

Remarque: Laisser un /à la fin de votre apiEndpoint causera une erreur template missing required fields

Pour obtenir une clé API,identifiez-vous et allez à la page API integration. Vous trouverez plus d'informations dans la sectionclé API de la documentation.

Remarque: Changez votre endpoint a api.notification.alpha.canada.ca

Envoyer un message

Vous pouvez utiliser le système pour envoyer des messages texte ou des e-mails.

envoyer un message SMS

Méthode

SendSmsResponse response = client.sendSms(
    templateId,
    phoneNumber,
    personalisation,
    reference,
    smsSenderId
);

Modificateurs

templateId (nécessaire)

s'identifier and go to the Templates page pour rechercher l'ID de modèle..

String templateId="f33517ff-2a88-4f6e-b855-c550268ce08a";

phoneNumber (nécessaire)

Le numéro de téléphone du destinataire du SMS. Ce numéro peut être un numéro canadien ou international

String phoneNumber="555-555-5555";

personalisation (nécessaire)

Si un modèle comporte des champs réservés à des informations personnalisées telles que le nom ou le numéro de référence, vous devez fournir leurs valeurs dans une carte. Par exemple :

Map<String, Object> personalisation = new HashMap<>();
personalisation.put("first_name", "Amala");
personalisation.put("application_date", "2019-01-01");
personalisation.put("list", listOfItems); // Will appear as a comma separated list in the message

Si un modèle n'a pas de champs de remplacement pour les informations personnalisées, vous devez passer dans une carte vide ou 'null'.

reference (nécessaire)

Un identifiant unique que vous créez. Cette référence identifie un seul avis unique ou un lot d'avis. Il ne doit pas contenir d'informations personnelles telles que le nom ou l'adresse postale. Si vous n'avez pas de référence, vous devez passer dans une chaîne vide ou null.

String reference='STRING';

smsSenderId (optionnelles)

Un identificateur exclusif de l'expéditeur de la notification par SMS. Pour trouver cette information, allez à l'écran Text Message sender settings :

  1. Connectez-vous à votre compte.
  2. aller à Paramètres.
  3. Si vous devez changer de service, sélectionnez Changer de service dans le coin supérieur droit de l'écran et sélectionnez le bon.
  4. aller à les __ Paramètres du message texte__ et sélectionnez Modifier sur la ligne Envoyer des messages textes.

Dans cet écran, vous pouvez ensuite effectuer les opérations suivantes:

  • copier sender ID que vous voulez utiliser et le coller dans la méthode
  • sélectionnez Change pour changer l'expéditeur par défaut que le service utilisera, et sélectionnez Save.
String smsSenderId='8e222534-7f05-4972-86e3-17c5d9f894e2'

Si vous n'avez pas un `smsSenderId', vous pouvez omettre cet modificateur.

Réponse

Si la demande au client est réussie, le client renvoie une SendSmsResponse.:

UUID notificationId;
Optional<String> reference;
UUID templateId;
int templateVersion;
String templateUri;
String body;
Optional<String> fromNumber;

Si vous utilisez la touchetest clé API, tous vos messages reviennent avec un statut `delivered'.

Tous les messages envoyés à l'aide des touchesteam and whitelist oulive apparaissent sur votre tableau de bord.

Codes d'erreur

Si la demande n'aboutit pas, le client renvoie un NotificationClientException contenant le code d'erreur correspondant:

httpResult Message réparer
400 [{
"error": "BadRequestError",
"message": "Can't send to this recipient using a team-only API key"
]}
Utilisez le bon type de clé API
400 [{
"error": "BadRequestError",
"message": "Can't send to this recipient when service is in trial mode"
}]
Votre service ne peut pas envoyer cette notification en mode d'essai.
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
Vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utilisez le bon type de clé API
429 [{
"error": "RateLimitError",
"message": "Exceeded rate limit for key type TEAM/TEST/LIVE of 3000 requests per 60 seconds"
}]
Dépassement de la limite de débit API
429 [{
"error": "TooManyRequestsError",
"message": "Exceeded send limits (LIMIT NUMBER) for today"
}]
Refer to service limits for the limit number
500 [{
"error": "Exception",
"message": "Internal server error"
}]
limite d'envoi dépassée

Envoyer un email

Méthode

SendEmailResponse response = client.sendEmail(
    templateId,
    emailAddress,
    personalisation,
    reference,
    emailReplyToId
);

Modificateurs

templateId (nécessaire)

s'identifier and go to the Templates page pour rechercher l'ID de modèle

String templateId="f33517ff-2a88-4f6e-b855-c550268ce08a";

emailAddress (nécessaire)

L'adresse courriel du destinataire

String emailAddress='[email protected]';

personnalisation (nécessaire)

Si un modèle comporte des champs réservés à des informations personnalisées telles que le nom ou la date d'application, vous devez fournir leurs valeurs dans une carte. Par exemple:

Map<String, Object> personalisation = new HashMap<>();
personalisation.put("first_name", "Amala");
personalisation.put("application_date", "2018-01-01");
personalisation.put("list", listOfItems); // Will appear as a bulleted list in the message

Si un modèle n'a pas de champs de remplacement pour les informations personnalisées, vous devez passer dans une carte vide ou 'null'.

reference (nécessaire)

Un identifiant unique que vous créez. Cette référence identifie un seul avis unique ou un lot d'avis. Il ne doit pas contenir d'informations personnelles telles que le nom ou l'adresse postale. Si vous n'avez pas de référence, vous devez passer dans une chaîne vide ou 'null'.

String reference='STRING';

emailReplyToId (optionnelles)

Il s'agit d'une réponse par courriel à l'adresse que vous avez indiquée pour recevoir les réponses de vos utilisateurs. Votre service ne peut pas être mis en service tant que vous n'avez pas configuré au moins une de ces adresses courriels. A mettre en place :

  1. Connectez-vous à votre compte.
  2. aller à Paramètres.
  3. Si vous devez changer de service, sélectionnez Changer de service dans le coin supérieur droit de l'écran et sélectionnez le bon.
  4. aller à Paramètres du courriel et sélectionnez Modifier sur la ligne Adresses courriel de réponse.
  5. sélectionnez Configurer pour spécifier l'adresse e-mail de réception des réponses, puis sélectionnez Save.
String emailReplyToId='8e222534-7f05-4972-86e3-17c5d9f894e2'

Si vous n'avez pas de `emailReplyToId', vous pouvez omettre cet modificateur.

Réponse

Si la demande au client est réussie, le client renvoie une SendEmailResponse:

UUID notificationId;
Optional<String> reference;
UUID templateId;
int templateVersion;
String templateUri;
String body;
String subject;
Optional<String> fromEmail;

Codes d'erreur

Si la demande n'aboutit pas, le client renvoie un 'NotificationClientException' contenant le code d'erreur correspondant:

httpResult Message réparer
400 [{
"error": "BadRequestError",
"message": "Can't send to this recipient using a team-only API key"
]}
Utiliser le bon type de clé API
400 [{
"error": "BadRequestError",
"message": "Can't send to this recipient when service is in trial mode - see https://www.notifications.service.gov.uk/trial-mode"
}]
Votre service ne peut pas envoyer cette notification en mode d'essai.
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
Vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utilisez la bonne clé API.
429 [{
"error": "RateLimitError",
"message": "Exceeded rate limit for key type TEAM/TEST/LIVE of 3000 requests per 60 seconds"
}]
Vous avez dépassé votre limite de débit API
429 [{
"error": "TooManyRequestsError",
"message": "Exceeded send limits (LIMIT NUMBER) for today"
}]
Vous avez dépassé votre limite de débit API
500 [{
"error": "Exception",
"message": "Internal server error"
}]
Notification n'a pas été en mesure de traiter la demande, envoyez à nouveau votre notification.

Envoyer un fichier par email

Envoyez des fichiers sans avoir besoin de pièces jointes.

Il s'agit d'une fonction sur invitation seulement. Contactez-nous pour l'activer.

Pour envoyer un fichier par courriel, ajoutez un champ de remplacement au modèle, puis téléchargez un fichier. Le champ de l'espace réservé contiendra un lien sécurisé pour télécharger le fichier.

Ajouter un champ de caractère de remplissage au modèle

  1. Connectez-vous à votre compte.
  2. aller à Modèles et sélectionnez le modèle de courriel approprié.
  3. Ajoutez un champ de caractère de remplissage au modèle de courriel à l'aide de crochets doubles. Par exemple :

"trouvez votre dossier ici: ((link_to_document))"

Téléchargez votre fichier

Le fichier que vous téléchargez doit être un fichier PDF plus petit que 2MB.

  1. Convertir le PDF en un fichier byte[].
  2. Passez byte[] à l'argument de personnalisation.
  3. Appelez le sendEmail method.

Par exemple:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("document_to_upload.pdf").getFile());
byte [] fileContents = FileUtils.readFileToByteArray(file);

HashMap<String, Object> personalisation = new HashMap();
personalisation.put("link_to_document", client.prepareUpload(fileContents));
client.sendEmail(templateId,
                 emailAddress,
                 personalisation,
                 reference,
                 emailReplyToId);

Codes d'erreur

Si la requête n'aboutit pas, le client renvoie un HTTPError contenant le code d'erreur correspondant.

error.status_code error.message réparer
400 [{
"error": "BadRequestError",
"message": "Can't send to this recipient using a team-only API key"
]}
Utilisez la bonne clé API)
400 [{
"error": "BadRequestError",
"message": "Can't send to this recipient when service is in trial mode - see https://www.notifications.service.gov.uk/trial-mode"
}]
Impossible de l'envoyer à ce destinataire lorsque le service est en mode d'essai
400 [{
"error": "BadRequestError",
"message": "Unsupported document type '{}'. Supported types are: {}"
}]
Le document que vous téléchargez doit être un fichier PDF
400 [{
"error": "BadRequestError",
"message": "Document didn't pass the virus scan"
}]
Le document que vous téléchargez doit être exempt de virus.
400 [{
"error": "BadRequestError",
"message": "Service is not allowed to send documents"
}]
Contactez l'équipe SNC Notification
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utilisez la bonne clé API
429 [{
"error": "RateLimitError",
"message": "Exceeded rate limit for key type TEAM/TEST/LIVE of 3000 requests per 60 seconds"
}]
Dépassement de la limite de débit de l'API
429 [{
"error": "TooManyRequestsError",
"message": "Exceeded send limits (LIMIT NUMBER) for today"
}]
Dépassement de la limite d'envoi
500 [{
"error": "Exception",
"message": "Internal server error"
}]
Notification n'a pas été en mesure de traiter la demande, envoyez à nouveau votre notification.
N\A Document is larger than 2MB Le document est plus grand que 2MB

Statut - texte et courriel

Statut Renseignements
Created Notification a placé le message dans une file d'attente, prêt à être envoyé au fournisseur. Il ne devrait rester dans cet état que quelques secondes.
Sending Notification a envoyé le message au fournisseur. Le fournisseur tentera de transmettre le message au destinataire. Notification attend les informations de livraison.
Delivered Le message a été transmis avec succès.
Failed Ceci couvre tous les états de défaillance:
- permanent-failure - "Le fournisseur n'a pas pu livrer le message parce que l'adresse électronique ou le numéro de téléphone était erroné. Vous devez supprimer ces adresses e-mail ou numéros de téléphone de votre base de données. Vous serez toujours facturé pour les messages texte à des numéros qui n'existent pas."
- temporary-failure - "Le fournisseur n'a pas pu livrer le message après avoir essayé pendant 72 heures. Cela peut se produire lorsque la boîte de réception du destinataire est pleine ou lorsque son téléphone est éteint. Vous pouvez réessayer d'envoyer le message. Vous devrez quand même payer des frais pour l'envoi de messages texte à des téléphones qui n'acceptent pas les messages."
- technical-failure - "Votre message n'a pas été envoyé parce qu'il y avait un problème entre Notification et le fournisseur.
Vous devrez réessayer d'envoyer vos messages. Vous ne serez pas facturé pour les messages texte qui sont affectés par une panne technique."

Statut - texte seulement

Statut Renseignements
Pending GOV.UK Notification is waiting for more delivery information.
GOV.UK Notification received a callback from the provider but the recipient's device has not yet responded. Another callback from the provider determines the final status of the notification.
Sent / Sent internationally Le message a été envoyé à un numéro international. Dans certains pays, les réseaux mobiles ne fournissent plus d'informations de livraison. L'API Notification client renvoie cet état sous la forme " envoyé ". L'application Notification client renvoie ce statut comme Envoyé à l'international.

Obtenir le statut d'un message

Méthode

Notification notification = client.getNotificationById(notificationId);

Modificateurs

notificationId (nécessaire)

ID de l'avis. Vous pouvez trouver l'ID de notification dans la réponse à l'appel de la méthode de notification originale).

Vous pouvez aussi le trouver dans votre Tableau de bord.

  1. Connectez-vous à votre compte. Sélectionnez Tableau de bord.
  2. sélectionnez courriels envoyé ou messages textes envoyé
  3. Sélectionnez l'avis approprié.
  4. Copiez l'ID de notification à partir de l'URL de fin de page, par exemple https://notification.alpha.canada.ca/services/af90d4cb-ae88-4a7c-a197-5c30c7db423b/notification/ID.

Response

Si la demande est acceptée, le client retourne un Notification:

UUID id;
Optional<String> reference;
Optional<String> emailAddress;
Optional<String> phoneNumber;
Optional<String> line1;
Optional<String> line2;
Optional<String> line3;
Optional<String> line4;
Optional<String> line5;
Optional<String> line6;
Optional<String> postcode;
Optional<String> postage;
String notificationType;
String status;
UUID templateId;
int templateVersion;
String templateUri;
String body;
Optional<String subject;
DateTime createdAt;
Optional<DateTime> sentAt;
Optional<DateTime> completedAt;
Optional<DateTime> estimatedDelivery;
Optional<String> createdByName;

codes d'erreur

Si la demande n'aboutit pas, le client renvoie un NotificationClientException contenant le code d'erreur correspondant.:

httpResult Message réparer
400 [{
"error": "ValidationError",
"message": "id is not a valid UUID"
}]
vérifiez la ID de la notification
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
Vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utiliser la bonne clé API.
404 [{
"error": "NoResultFound",
"message": "No result found"
}]
vérifiez la ID de la notification

Obtenir l'état de plusieurs messages

Cet appel API renvoie une page de 250 messages et statuts au maximum. Vous pouvez obtenir soit les messages les plus récents, soit des messages plus anciens en spécifiant un ID de notification particulier dans le modificateur olderThanId.

Vous ne pouvez obtenir l'état des messages que s'ils datent de sept jours ou plus récents.

méthode

NotificationList notification = client.getNotifications(
    status,
    notificationType,
    reference,
    olderThanId
);

Pour obtenir les messages les plus récents, vous devez passer un argument olderThanId' ou null' vide.

Pour obtenir des messages plus anciens, passez l'ID d'une notification plus ancienne dans l'argument `olderThanId'. Ceci renvoie les messages les plus anciens suivants de l'ID d'avis spécifié.

modificateur

Vous pouvez passer en arguments vides ou `null' pour ignorer ces filtres

statut (optionnelles)

status descriptif textes courriel
created Notification a placé le message dans une file d'attente, prêt à être envoyé au fournisseur. Il ne devrait rester dans cet état que quelques secondes. Yes Yes
sending Notification a envoyé le message au fournisseur. Le fournisseur tentera de transmettre le message au destinataire. Notification attend les informations de livraison. Yes Yes
delivered Le message a été transmis avec succès Yes Yes
sent / sent internationally Le message a été envoyé à un numéro international. Dans certains pays, les réseaux mobiles ne fournissent plus d'informations de livraison. Yes
pending Notification attend plus d'informations de livraison.
Notification a reçu un rappel du fournisseur mais l'appareil du destinataire n'a pas encore répondu. Un autre rappel du fournisseur détermine le statut final de l'avis.
Yes
failed Retourne tous les états de défaillance:
- défaillance permanente
- défaillance temporaire
- Défaillance technique
Yes Yes
défaillance permanente Le fournisseur n'a pas pu livrer le message parce que l'adresse électronique ou le numéro de téléphone était erroné. Vous devez supprimer ces adresses e-mail ou numéros de téléphone de votre base de données. Vous serez toujours facturé pour les messages texte à des numéros qui n'existent pas. Yes Yes
défaillance temporaire Le fournisseur n'a pas pu livrer le message après avoir essayé pendant 72 heures. Cela peut se produire lorsque la boîte de réception du destinataire est pleine ou lorsque son téléphone est éteint. Vous pouvez réessayer d'envoyer le message. Vous devrez quand même payer des frais pour l'envoi de messages texte à des téléphones qui n'acceptent pas les messages. Yes Yes
Défaillance technique "Votre message n'a pas été envoyé parce qu'il y avait un problème entre Notification et le fournisseur.
Vous devrez réessayer d'envoyer vos messages. Vous ne serez pas facturé pour les messages texte qui sont affectés par une panne technique." Yes Yes

notificationType (optionnelles)

You can filter by:

  • email
  • sms

reference (optionnelles)

Un identifiant unique que vous créez si nécessaire. Cette référence identifie un seul avis unique ou un lot d'avis. Il ne doit pas contenir d'informations personnelles telles que le nom ou l'adresse postale.

String reference='STRING';

olderThanId (optionnelles)

Entrez l'ID d'une notification dans cet argument. Si vous utilisez cet argument, le client renvoie les 250 notifications reçues suivantes plus anciennes que l'ID donné.

String olderThanId='8e222534-7f05-4972-86e3-17c5d9f894e2'

Si vous passez un argument vide ou "null", le client retourne les 250 notifications les plus récentes.

Response

Si la demande au client est acceptée, le client retourne une. NotificationList:

List<Notification> notifications;
String currentPageLink;
Optional<String> nextPageLink;

Error codes

Si la demande n'aboutit pas, le client renvoie un NotificationClientException contenant le code d'erreur correspondant:

httpResult Message
400 [{
"error": "ValidationError",
"message": "bad status is not one of [created, sending, sent, delivered, pending, failed, technical-failure, temporary-failure, permanent-failure, accepted, received]"
}]
Contacter l'équipe SNC Notification
400 [{
"error": "ValidationError",
"message": "Applet is not one of [sms, email, letter]"
}]
Contacter l'équipe SNC Notification
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utilisez la bonne clé API.

Obtenir un modèle

Obtenir un modèle par ID

Méthode

Cela renvoie la dernière version du modèle.

Template template = client.getTemplateById(templateId);

Modificateurs

templateId (nécessaire)

Connectez-vous à votre compte et allez à la page Modèles pour trouver l'ID du modèle.

String templateId='f33517ff-2a88-4f6e-b855-c550268ce08a';

Réponse

Si la demande est acceptée, le client retourne un 'modèle':

UUID id;
String name;
String templateType;
DateTime createdAt;
Optional<DateTime> updatedAt;
String createdBy;
int version;
String body;
Optional<String> subject;
Optional<Map<String, Object>> personalisation;

Error codes

Si la demande n'aboutit pas, le client renvoie un NotificationClientException contenant le code d'erreur correspondant:

httpResult Message réparer
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
Vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utiliser la bonne clé API.
404 [{
"error": "NoResultFound",
"message": "No Result Found"
}]
Cvérifiez l'ID de votre modèle

Obtenir un modèle par ID et version

Méthode

Template template = client.getTemplateVersion(templateId, version);

modificateurs

templateId (nécessaire)

Connectez-vous à votre compte et allez à la page Modèles pour trouver l'ID du modèle.

String templateId='f33517ff-2a88-4f6e-b855-c550268ce08a';

variante (nécessaire)

Le numéro de version du modèle.

Réponse

Si la demande est acceptée, le client retourne un " modèle ":

UUID id;
String name;
String templateType;
DateTime createdAt;
Optional<DateTime> updatedAt;
String createdBy;
int version;
String body;
Optional<String> subject;
Optional<Map<String, Object>> personalisation;

Error codes

Si la demande n'aboutit pas, le client renvoie un NotificationClientException contenant le code d'erreur correspondant :

httpResult message réparer
400 [{
"error": "ValidationError",
"message": "id is not a valid UUID"
}]
Vérifier l'ID de la notification
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utilisez la bonne clé API.
404 [{
"error": "NoResultFound",
"message": "No Result Found"
}]
Vérifier l'ID de votre modèle et variante

Obtenir tous les modèles

Méthode

Ceci renvoie la dernière version de tous les modèles.

TemplateList templates = client.getAllTemplates(templateType);

Modificateurs

templateType (optionnelles)

Si vous n'utilisez pas `templateType', le client renvoie tous les modèles. Sinon, vous pouvez filtrer par:

  • email
  • sms

Réponse

Si la demande est acceptée, le client renvoie une 'liste de modèles':

List<Template> templates;

S'il n'existe aucun modèle pour un type de modèle ou s'il n'existe aucun modèle pour un service, la liste des modèles est vide.

Générer un modèle de prévisualisation

Méthode

Ceci génère une version de prévisualisation d'un modèle.

TemplatePreview templatePreview = client.getTemplatePreview(
    templateId,
    personalisation
);

Les paramètres du modificateur de personnalisation doivent correspondre aux champs de caractères génériques du modèle actuel. Le client de notification API ignore tout champ supplémentaire dans la méthode.

Modificateurs

templateId (nécessaire)

connectez-vous à votre compte et allez à la page Modèles pour trouver l'ID du modèle.

String templateId='f33517ff-2a88-4f6e-b855-c550268ce08a';

Personnalisation (nécessaire)

Si un modèle comporte des champs réservés à des informations personnalisées telles que le nom ou la date d'application, vous devez fournir leurs valeurs dans une carte. Par exemple :

Map<String, Object> personalisation = new HashMap<>();
personalisation.put("first_name", "Amala");
personalisation.put("application_date", "2018-01-01");

Si un modèle n'a pas de champs de remplacement pour les informations personnalisées, vous devez passer dans une carte vide ou 'null'.

Response

Si la demande au client est acceptée, le client renvoie un TemplatePreview:

UUID id;
String templateType;
int version;
String body;
Optional<String> subject;
Optional<String> html;

Codes d'erreur

Si la demande n'aboutit pas, le client renvoie un NotificationClientException contenant le code d'erreur correspondant:

httpResult message réparer
400 [{
"error": "BadRequestError",
"message": "Missing personalisation: [PERSONALISATION FIELD]"
}]
Vérifier que les arguments de personnalisation de la méthode correspondent aux champs de caractères génériques du modèle
400 [{
"error": "NoResultFound",
"message": "No result found"
}]Vérifier l'ID du modèle
403 [{
"error": "AuthError",
"message": "Error: Your system clock must be accurate to within 30 seconds"
}]
Vérifier l'horloge de votre système
403 [{
"error": "AuthError",
"message": "Invalid token: signature, api token not found"
}]
Utilisez la bonne clé API.
Clone this wiki locally