Add/Update Abonnement


The following endpoint can be used to add or update a Abonnement within the Hyfin application. When a Abonnement is added to Hyfin, a request will be automatically generated and the customer will be notified via text message, email or both based on the notification options set on the customer record. After submitting their payment method, the customer will automatically be charged based on the frequency of the recurring payment.

If the customer is viewing the Abonnement on their device and it gets updated, a message will display letting the customer know the Abonnement has been updated and the new version of the Abonnement will automatically be displayed on the customers device.


Point de terminaison

The following endpoint can be used to add or update a Abonnement. You must replace the {base_url} and {site_id} variable with the site id that was provided when the site was created.

POST
{base_url}/api/v3/site/{site_id}/subscription/addUpdate

Demande
Champ
Type
Requis
Description
external_id
String
The unique subscription id from the source system/database. If we detect a record with the same `external_id`, it will be updated, otherwise it will be added.
description
String
Une brève description des produits/services sur l'abonnement utilisé dans la demande de paiement affichée au client.
amount
Number
Le montant à facturer pour chaque période de facturation. Format = 0.00
frequency
String
La fréquence de facturation.
One of `Daily`, `Weekly`, `Bi-Weekly`, `Semi-Monthly`, `Monthly`, `Quarterly`, `Semi-Annually`, `Yearly`
frequency_units
Number
Number of frequency units between installments. Ex: `frequency = Yearly` and `frequency_units = 2` means every 2 years.
customer
Une référence au dossier du client.
start_date
Date
--
La date de début de l'abonnement. Si laissée vide, elle sera définie lorsque le client confirme son mode de paiement. Format = YYYY-MM-DD
number_of_payments
Number
--
Le nombre de versements à effectuer. Si laissé vide, l'abonnement se poursuit indéfiniment ou jusqu'à ce qu'il soit fermé manuellement.
active
Boolean
--
Whether the subscription is active. Setting to `false` will irreversibly close the subscription if the customer has already accepted it.
Default = `true`
webhook_url
String
--
L'URL où envoyer les données lorsque certaines actions sont effectuées sur l'abonnement.
Sample Request
			
				{
  "external_id": "439772921",
  "description": "Gold+ Plan",
  "amount": 34.99,
  "frequency": "Monthly",
  "frequency_units": 1,
  "customer": {
    "external_id": "39772634",
    "first_name": "John",
    "last_name": "Doe",
    "mobile_phone": "111-222-3333",
    "email": "johndoe@abc.com"
  },
  "webhook_url": "https://yourcompany.com/webhook"
}
			
		
Réponse
Champ
Type
Description
success
Boolean
Whether the record was added or updated successfully.
action
String
Informs whether the record was added or updated. Will only be returned if `success` is `true`.
One of `added`, `updated`
_id
String
The auto generated id assigned to the record.
errors
String [ ]
A list of errors. Will only be returned if `success` is `false`.
Sample Response (Successful)
			
				{
  "success": true,
  "action": "added",
  "_id": "60f720d248f143332af022e0"
}
			
		
Sample Response (Failed)
			
				{
  "success": false,
  "errors": [
    "invalid field2",
    "missing field_name"
  ]
}