Skip to content

Commit 5f57ca0

Browse files
authored
Merge pull request #34 from FacturAPI/feature/webhooks/edit-link-completed
Feature/webhooks/edit link completed
2 parents 254d74d + 6601f7c commit 5f57ca0

File tree

7 files changed

+47
-10
lines changed

7 files changed

+47
-10
lines changed

.github/workflows/deploy.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Setup .NET
1717
uses: actions/setup-dotnet@v4
1818
with:
19-
dotnet-version: '7.0.x' # Adjust the .NET version as needed
19+
dotnet-version: '8.0.x' # Adjust the .NET version as needed
2020

2121
- name: Restore dependencies
2222
run: dotnet restore
@@ -27,5 +27,24 @@ jobs:
2727
- name: Pack
2828
run: dotnet pack --configuration Release --no-build --output ./nupkg
2929

30+
- name: Install xmllint
31+
run: sudo apt-get update && sudo apt-get install -y libxml2-utils
32+
33+
- name: Check if version exists on NuGet
34+
id: version-check
35+
run: |
36+
PACKAGE_ID="Facturapi"
37+
VERSION=$(xmllint --xpath "string(//Project/PropertyGroup/Version)" facturapi-net.csproj)
38+
echo "Detected version: $VERSION"
39+
echo "version=$VERSION" >> $GITHUB_OUTPUT
40+
if curl -sSf "https://api.nuget.org/v3-flatcontainer/${PACKAGE_ID,,}/$VERSION/${PACKAGE_ID,,}.$VERSION.nupkg" > /dev/null; then
41+
echo "Version $VERSION already exists. Skipping push."
42+
echo "exists=true" >> $GITHUB_OUTPUT
43+
else
44+
echo "Version $VERSION does not exist. Proceeding with publish."
45+
echo "exists=false" >> $GITHUB_OUTPUT
46+
fi
47+
3048
- name: Publish to NuGet
49+
if: steps.version-check.outputs.exists == 'false'
3150
run: dotnet nuget push ./nupkg/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [4.8.0] - Unreleased
8+
## [4.8.0] - 2025-04-22
99

1010
### Added
1111

Constants/WebhookEvents.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ namespace Facturapi
22
{
33
public static class WebhooksEvents
44
{
5-
public const string INVOICE_CREATED = "invoice.global_invoice_created";
6-
public const string STATUS_UPDATED = "invoice.status_updated";
7-
public const string CANCELLATION_STATUS_UPDATED = "invoice.cancellation_status_updated";
8-
public const string SELF_INVOICE_COMPLETE = "receipt.self_invoice_complete";
5+
public const string GLOBAL_INVOICE_CREATED = "invoice.global_invoice_created";
6+
public const string INVOICE_STATUS_UPDATED = "invoice.status_updated";
7+
public const string INVOICE_CANCELLATION_STATUS_UPDATED = "invoice.cancellation_status_updated";
8+
public const string INVOICES_CREATED_FROM_DASHBOARD = "invoice.created_from_dashboard";
9+
public const string RECEIPT_SELF_INVOICE_COMPLETE = "receipt.self_invoice_complete";
910
public const string RECEIPT_STATUS_UPDATED = "receipt.status_updated";
10-
public const string RECEIPT_CANCELLATION_STATUS_UPDATED = "receipt.cancellation_status_updated";
11+
public const string CUSTOMER_EDIT_LINK_COMPLETED = "customer.edit_link_completed";
1112
}
1213
}

Router/CustomerRouter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,10 @@ public static string DeleteCustomer(string id)
3232
public static string UpdateCustomer(string id, Dictionary<string, object> query = null) {
3333
return RetrieveCustomer(id, query);
3434
}
35+
36+
public static string SendEditLinkByEmail(string id)
37+
{
38+
return $"{UriWithQuery($"customers/{id}/email-edit-link")}";
39+
}
3540
}
3641
}

Wrappers/CustomerWrapper.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,17 @@ public async Task<TaxInfoValidation> ValidateTaxInfoAsync(string id)
9494
var validation = JsonConvert.DeserializeObject<TaxInfoValidation>(resultString, this.jsonSettings);
9595
return validation;
9696
}
97+
98+
public async Task SendEditLinkByEmailAsync(string id, Dictionary<string, object> data)
99+
{
100+
var response = await client.PostAsync(Router.SendEditLinkByEmail(id), new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json"));
101+
if (!response.IsSuccessStatusCode)
102+
{
103+
var resultString = await response.Content.ReadAsStringAsync();
104+
var error = JsonConvert.DeserializeObject<JObject>(resultString);
105+
var errorMessage = error["message"] != null ? error["message"].ToString() : "An error occurred";
106+
throw new FacturapiException(errorMessage);
107+
}
108+
}
97109
}
98110
}

facturapi-net.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;netcoreapp3.1;net5.0;net6.0;net7.0;net452</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net452;net6.0;net8.0</TargetFrameworks>
55
<RootNamespace>Facturapi</RootNamespace>
66
<AssemblyName>Facturapi</AssemblyName>
77
<PackageId>Facturapi</PackageId>
@@ -11,13 +11,13 @@
1111
API Keys creando una cuenta gratuita en https://www.facturapi.io</Summary>
1212
<PackageTags>factura factura-electronica cfdi facturapi mexico conekta</PackageTags>
1313
<Title>Facturapi</Title>
14-
<Version>4.7.1</Version>
14+
<Version>4.8.0</Version>
1515
<PackageVersion>$(Version)</PackageVersion>
1616
<Owners>Facturapi</Owners>
1717
<ApplicationIcon>facturapi.ico</ApplicationIcon>
1818
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
1919
<Company>Facturación Espacial</Company>
20-
<Copyright>Facturación Espacial © 2024</Copyright>
20+
<Copyright>Facturación Espacial © 2025</Copyright>
2121
<PackageProjectUrl>www.facturapi.io</PackageProjectUrl>
2222
<PackageReadmeFile>README.md</PackageReadmeFile>
2323
<RepositoryUrl>https://github.com/facturapi/facturapi-net</RepositoryUrl>

0 commit comments

Comments
 (0)